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