forked from lix-project/lix
37 lines
1.5 KiB
VimL
37 lines
1.5 KiB
VimL
" Vim syntax file
|
|
" Language: nix
|
|
" Maintainer: Marc Weber <marco-oweber@gmx.de>
|
|
" Modify and commit if you feel that way
|
|
" Last Change: 2007 Dec
|
|
|
|
" 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 with
|
|
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 match nixFuncArg "\zs\w\+\ze\s*:"
|
|
syn region nixStringParam start=+\${+ end=+}+
|
|
syn region nixMultiLineComment start=+/\*+ skip=+\\"+ end=+\*/+
|
|
syn match nixEndOfLineComment "#.*$"
|
|
syn region nixStringIndented start=+''+ skip=+'''\|''${\|"+ end=+''+ contains=nixStringParam
|
|
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 nixStringIndented String
|
|
hi def link nixBuiltin Special
|
|
hi def link nixStringParam Macro
|
|
hi def link nixMultiLineComment Comment
|
|
hi def link nixEndOfLineComment Comment
|
|
hi def link nixAttr Identifier
|
|
hi def link nixFuncArg Identifier
|