Mercurial > vim
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