Mercurial > vim
view runtime/syntax/toml.vim @ 33988:7c30841c60a0 v9.0.2180
patch 9.0.2180: POSIX function name in exarg causes issues
Commit: https://github.com/vim/vim/commit/6fdb6280821a822768df5689a5d727e37d38306c
Author: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Date: Tue Dec 19 20:53:07 2023 +0100
patch 9.0.2180: POSIX function name in exarg causes issues
Problem: POSIX function name in exarg struct causes issues
on OpenVMS
Solution: Rename getline member in exarg struct to ea_getline,
remove isinf() workaround for VMS
There are compilers that do not treat well POSIX functions - like
getline - usage in the structs.
Older VMS compilers could digest this... but the newer OpenVMS compilers
( like VSI C x86-64 X7.4-843 (GEM 50XB9) ) cannot deal with these
structs. This could be limited to getline() that is defined via
getdelim() and might not affect all POSIX functions in general - but
avoiding POSIX function names usage in the structs is a "safe side"
practice without compromising the functionality or the code readability.
The previous OpenVMS X86 port used a workaround limiting the compiler
capabilities using __CRTL_VER_OVERRIDE=80400000
In order to make the OpenVMS port future proof, this pull request
proposes a possible solution.
closes: #13704
Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 19 Dec 2023 21:00:04 +0100 |
parents | 3b34837f4538 |
children |
line wrap: on
line source
" Vim syntax file " Language: TOML " Homepage: https://github.com/cespare/vim-toml " Maintainer: Aman Verma " Previous Maintainer: Caleb Spare <cespare@gmail.com> " Last Change: Oct 8, 2021 if exists('b:current_syntax') finish endif syn match tomlEscape /\\[btnfr"/\\]/ display contained syn match tomlEscape /\\u\x\{4}/ contained syn match tomlEscape /\\U\x\{8}/ contained syn match tomlLineEscape /\\$/ contained " Basic strings syn region tomlString oneline start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=tomlEscape " Multi-line basic strings syn region tomlString start=/"""/ end=/"""/ contains=tomlEscape,tomlLineEscape " Literal strings syn region tomlString oneline start=/'/ end=/'/ " Multi-line literal strings syn region tomlString start=/'''/ end=/'''/ syn match tomlInteger /[+-]\=\<[1-9]\(_\=\d\)*\>/ display syn match tomlInteger /[+-]\=\<0\>/ display syn match tomlInteger /[+-]\=\<0x[[:xdigit:]]\(_\=[[:xdigit:]]\)*\>/ display syn match tomlInteger /[+-]\=\<0o[0-7]\(_\=[0-7]\)*\>/ display syn match tomlInteger /[+-]\=\<0b[01]\(_\=[01]\)*\>/ display syn match tomlInteger /[+-]\=\<\(inf\|nan\)\>/ display syn match tomlFloat /[+-]\=\<\d\(_\=\d\)*\.\d\+\>/ display syn match tomlFloat /[+-]\=\<\d\(_\=\d\)*\(\.\d\(_\=\d\)*\)\=[eE][+-]\=\d\(_\=\d\)*\>/ display syn match tomlBoolean /\<\%(true\|false\)\>/ display " https://tools.ietf.org/html/rfc3339 syn match tomlDate /\d\{4\}-\d\{2\}-\d\{2\}/ display syn match tomlDate /\d\{2\}:\d\{2\}:\d\{2\}\%(\.\d\+\)\?/ display syn match tomlDate /\d\{4\}-\d\{2\}-\d\{2\}[T ]\d\{2\}:\d\{2\}:\d\{2\}\%(\.\d\+\)\?\%(Z\|[+-]\d\{2\}:\d\{2\}\)\?/ display syn match tomlDotInKey /\v[^.]+\zs\./ contained display syn match tomlKey /\v(^|[{,])\s*\zs[[:alnum:]._-]+\ze\s*\=/ contains=tomlDotInKey display syn region tomlKeyDq oneline start=/\v(^|[{,])\s*\zs"/ end=/"\ze\s*=/ contains=tomlEscape syn region tomlKeySq oneline start=/\v(^|[{,])\s*\zs'/ end=/'\ze\s*=/ syn region tomlTable oneline start=/^\s*\[[^\[]/ end=/\]/ contains=tomlKey,tomlKeyDq,tomlKeySq,tomlDotInKey syn region tomlTableArray oneline start=/^\s*\[\[/ end=/\]\]/ contains=tomlKey,tomlKeyDq,tomlKeySq,tomlDotInKey syn region tomlKeyValueArray start=/=\s*\[\zs/ end=/\]/ contains=@tomlValue syn region tomlArray start=/\[/ end=/\]/ contains=@tomlValue contained syn cluster tomlValue contains=tomlArray,tomlString,tomlInteger,tomlFloat,tomlBoolean,tomlDate,tomlComment syn keyword tomlTodo TODO FIXME XXX BUG contained syn match tomlComment /#.*/ contains=@Spell,tomlTodo hi def link tomlComment Comment hi def link tomlTodo Todo hi def link tomlTableArray Title hi def link tomlTable Title hi def link tomlDotInKey Normal hi def link tomlKeySq Identifier hi def link tomlKeyDq Identifier hi def link tomlKey Identifier hi def link tomlDate Constant hi def link tomlBoolean Boolean hi def link tomlFloat Float hi def link tomlInteger Number hi def link tomlString String hi def link tomlLineEscape SpecialChar hi def link tomlEscape SpecialChar syn sync minlines=500 let b:current_syntax = 'toml' " vim: et sw=2 sts=2