diff options
Diffstat (limited to '')
| -rw-r--r-- | config/nvim/syntax/conf.vim | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/config/nvim/syntax/conf.vim b/config/nvim/syntax/conf.vim new file mode 100644 index 0000000..9efb07b --- /dev/null +++ b/config/nvim/syntax/conf.vim @@ -0,0 +1,59 @@ +" Vim syntax file for conf configuration language +" Language: conf +" Maintainer: NeonXP <i@neonxp.ru> +" Latest Revision: 2025-02-23 + +if exists("b:current_syntax") + finish +endif + +syn keyword confBoolean true false +syn keyword confTodo contained TODO FIXME XXX NOTE + +" Comments +syn match confComment "#.*$" contains=confTodo + +" Variables (environment variables starting with $) +syn match confVariable '\$\h\w*' + +" Strings +syn region confString start='"' end='"' skip='\\"' +syn region confString start="'" end="'" skip="\\'" +syn region confMultilineString start='`' end='`' skip='\\`' + +" Numbers +syn match confNumber '\d\+' +syn match confNumber '-\d\+' +syn match confFloat '\d\+\.\d\+' +syn match confFloat '-\d\+\.\d\+' + +" Operators +syn match confOperator "=\ze\s*" +syn match confSemiColon ";" + +" Brackets +syn match confBraces "[{}\[\]]" + +" Directives (words followed by arguments and/or block) +syn match confDirective '^\s*\h\w*\ze\s*[{;]' contained +syn match confDirective '^\s*\h\w*\ze\s*\S' contained + +" Keys (word followed by =) +syn match confKey '^\s*\h\w*\ze\s*=' + +" Define syntax groups +hi def link confComment Comment +hi def link confTodo Todo +hi def link confVariable Identifier +hi def link confString String +hi def link confMultilineString String +hi def link confNumber Number +hi def link confFloat Float +hi def link confBoolean Boolean +hi def link confOperator Operator +hi def link confSemiColon Special +hi def link confBraces Special +hi def link confKey Identifier +hi def link confDirective Function + +let b:current_syntax = "conf" |
