forked from lix-project/lix
Very basic nix vim syntax highlighting
This commit is contained in:
parent
b42ef9c054
commit
764b0115d5
35
misc/vim/syntax/nix.vim
Normal file
35
misc/vim/syntax/nix.vim
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
" Vim syntax file
|
||||||
|
" Language: nix
|
||||||
|
" Maintainer: Marc Weber <marco-oweber@gmx.de>
|
||||||
|
" Modify and commit if you feel that way
|
||||||
|
" Last Change: 2007 Dec
|
||||||
|
"
|
||||||
|
" TODO What about headings (### header ) ?
|
||||||
|
|
||||||
|
" Quit when a (custom) syntax file was already loaded
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
syn keyword nixKeyword let throw inherit import true false null
|
||||||
|
syn keyword nixConditional if else then
|
||||||
|
syn keyword nixBrace ( ) { } =
|
||||||
|
syn keyword nixBuiltin __currentSystem __currentTime __isFunction __getEnv __trace __toPath __pathExists
|
||||||
|
\ __readFile __toXML __toFile __filterSource __attrNames __getAttr __hasAttr __isAttrs __listToAttrs __isList
|
||||||
|
\ __head __tail __add __sub __lessThan __substring __stringLength
|
||||||
|
|
||||||
|
syn match nixAttr "\w\+\ze\s*="
|
||||||
|
syn region nixStringParam start=+\${+ end=+}+
|
||||||
|
syn region nixMultiLineComment start=+/\*+ skip=+\\"+ end=+\*/+
|
||||||
|
syn match nixEndOfLineComment "#.*$"
|
||||||
|
syn region nixString start=+"+ skip=+\\"+ end=+"+ contains=nixStringParam
|
||||||
|
|
||||||
|
hi def link nixKeyword Keyword
|
||||||
|
hi def link nixConditional Conditional
|
||||||
|
hi def link nixBrace Special
|
||||||
|
hi def link nixString String
|
||||||
|
hi def link nixBuiltin Special
|
||||||
|
hi def link nixStringParam Label
|
||||||
|
hi def link nixMultiLineComment Comment
|
||||||
|
hi def link nixEndOfLineComment Comment
|
||||||
|
hi def link nixAttr Identifier
|
Loading…
Reference in a new issue