view runtime/syntax/squirrel.vim @ 34511:5397ce113043 v9.1.0161

patch 9.1.0161: expand() removes slash after env variable that ends with colon Commit: https://github.com/vim/vim/commit/13a014452a7a020a119ac555a690c65b41f3126d Author: zeertzjq <zeertzjq@outlook.com> Date: Sat Mar 9 17:44:46 2024 +0100 patch 9.1.0161: expand() removes slash after env variable that ends with colon Problem: expand() removes a slash after an environment variable that ends with a colon on Windows. Solution: Check the correct char for a colon (zeertzjq) closes: #14161 Note: Vim still removes the path-separator at the end, if another path separator follows directly after it, e.g. on: ``` echo $FOO='/usr/' echo expand('$FOO/bar') == '/usr/bar' ``` see: ,----[ misc1.c:1630 ] | // if var[] ends in a path separator and tail[] starts | // with it, skip a character | if (after_pathsep(dst, dst + c) | #if defined(BACKSLASH_IN_FILENAME) || defined(AMIGA) | && (dst == save_dst || dst[-1] != ':') | #endif | && vim_ispathsep(*tail)) | ++tail; `---- Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sat, 09 Mar 2024 18:15:02 +0100
parents c62bca3b8d82
children
line wrap: on
line source

" Vim syntax file
" Language: squirrel
" Current Maintainer: Matt Dunford (zenmatic@gmail.com)
" URL: https://github.com/zenmatic/vim-syntax-squirrel
" Last Change:	2023 Dec 08

" http://squirrel-lang.org/

" quit when a syntax file was already loaded
if exists("b:current_syntax")
  finish
endif

" inform C syntax that the file was included from cpp.vim
let b:filetype_in_cpp_family = 1

" Read the C syntax to start with
runtime! syntax/c.vim
unlet b:current_syntax
unlet b:filetype_in_cpp_family

" squirrel extensions
syn keyword squirrelStatement	delete this in yield resume base clone
syn keyword squirrelAccess	local
syn keyword cConstant           null
syn keyword squirrelModifier	static
syn keyword squirrelType	bool instanceof typeof
syn keyword squirrelExceptions	throw try catch
syn keyword squirrelStructure	class function extends constructor
syn keyword squirrelBoolean	true false
syn keyword squirrelRepeat	foreach

syn region squirrelMultiString start='@"' end='"$' end='";$'me=e-1

syn match squirrelShComment "^\s*#.*$"

" Default highlighting
hi def link squirrelAccess		squirrelStatement
hi def link squirrelExceptions		Exception
hi def link squirrelStatement		Statement
hi def link squirrelModifier		Type
hi def link squirrelType		Type
hi def link squirrelStructure		Structure
hi def link squirrelBoolean		Boolean
hi def link squirrelMultiString		String
hi def link squirrelRepeat		cRepeat
hi def link squirrelShComment		Comment

let b:current_syntax = "squirrel"

" vim: ts=8