Mercurial > vim
view runtime/syntax/obj.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 | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: 3D wavefront's obj file " Maintainer: Vincent Berthoux <twinside@gmail.com> " File Types: .obj (used in 3D) " Last Change: 2010 May 18 " " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif syn match objError "^\a\+" syn match objKeywords "^cstype\s" syn match objKeywords "^ctech\s" syn match objKeywords "^stech\s" syn match objKeywords "^deg\s" syn match objKeywords "^curv\(2\?\)\s" syn match objKeywords "^parm\s" syn match objKeywords "^surf\s" syn match objKeywords "^end\s" syn match objKeywords "^bzp\s" syn match objKeywords "^bsp\s" syn match objKeywords "^res\s" syn match objKeywords "^cdc\s" syn match objKeywords "^con\s" syn match objKeywords "^shadow_obj\s" syn match objKeywords "^trace_obj\s" syn match objKeywords "^usemap\s" syn match objKeywords "^lod\s" syn match objKeywords "^maplib\s" syn match objKeywords "^d_interp\s" syn match objKeywords "^c_interp\s" syn match objKeywords "^bevel\s" syn match objKeywords "^mg\s" syn match objKeywords "^s\s" syn match objKeywords "^con\s" syn match objKeywords "^trim\s" syn match objKeywords "^hole\s" syn match objKeywords "^scrv\s" syn match objKeywords "^sp\s" syn match objKeywords "^step\s" syn match objKeywords "^bmat\s" syn match objKeywords "^csh\s" syn match objKeywords "^call\s" syn match objComment "^#.*" syn match objVertex "^v\s" syn match objFace "^f\s" syn match objVertice "^vt\s" syn match objNormale "^vn\s" syn match objGroup "^g\s.*" syn match objMaterial "^usemtl\s.*" syn match objInclude "^mtllib\s.*" syn match objFloat "-\?\d\+\.\d\+\(e\(+\|-\)\d\+\)\?" syn match objInt "\d\+" syn match objIndex "\d\+\/\d*\/\d*" " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link objError Error hi def link objComment Comment hi def link objInclude PreProc hi def link objFloat Float hi def link objInt Number hi def link objGroup Structure hi def link objIndex Constant hi def link objMaterial Label hi def link objVertex Keyword hi def link objNormale Keyword hi def link objVertice Keyword hi def link objFace Keyword hi def link objKeywords Keyword let b:current_syntax = "obj" " vim: ts=8