summaryrefslogtreecommitdiffstats
path: root/syntax/nix.vim
diff options
context:
space:
mode:
authorDan Reif <dan.reif@collectivehealth.com>2018-04-30 12:00:42 -0700
committerDan Reif <dan.reif@collectivehealth.com>2018-04-30 12:00:42 -0700
commit3e0c887365bc1ebd55b91dd69ab73f2dee1f00ed (patch)
treece76003a08274cb805df101a44be8d37af1a4c4b /syntax/nix.vim
parentb4d7993e7ea554153025c5072749f415e69e0323 (diff)
downloadvim-polyglot-3e0c887365bc1ebd55b91dd69ab73f2dee1f00ed.tar.gz
vim-polyglot-3e0c887365bc1ebd55b91dd69ab73f2dee1f00ed.zip
Update (periodic rebuild)
I originally meant to run this before adding haproxy, but accidentally pushed that into my branch. If you'd like to see that content, it's at https://github.com/CH-DanReif/vim-polyglot/commit/414ad25c3ad1ab9c4b6a99fe4f08d6c30b7e0f57.
Diffstat (limited to 'syntax/nix.vim')
-rw-r--r--syntax/nix.vim42
1 files changed, 25 insertions, 17 deletions
diff --git a/syntax/nix.vim b/syntax/nix.vim
index ee0f4173..d0dc57cb 100644
--- a/syntax/nix.vim
+++ b/syntax/nix.vim
@@ -36,11 +36,12 @@ syn region nixComment start=+/\*+ end=+\*/+ contains=nixTodo,@Spell
syn region nixInterpolation matchgroup=nixInterpolationDelimiter start="\${" end="}" contained contains=@nixExpr,nixInterpolationParam
-syn match nixSimpleStringSpecial /\\["nrt\\$]/ contained
-syn match nixInterpolationSpecial /''['$]/ contained
+syn match nixSimpleStringSpecial /\\./ contained
+syn match nixStringSpecial /''['$]/ contained
+syn match nixStringSpecial /''\\./ contained
syn region nixSimpleString matchgroup=nixStringDelimiter start=+"+ skip=+\\"+ end=+"+ contains=nixInterpolation,nixSimpleStringSpecial
-syn region nixString matchgroup=nixStringDelimiter start=+''+ skip=+''['$]+ end=+''+ contains=nixInterpolation,nixInterpolationSpecial
+syn region nixString matchgroup=nixStringDelimiter start=+''+ skip=+''['$\\]+ end=+''+ contains=nixInterpolation,nixStringSpecial
syn match nixFunctionCall "[a-zA-Z_][a-zA-Z0-9_'-]*"
@@ -117,27 +118,34 @@ syn region nixWithExpr matchgroup=nixWithExprKeyword start="\<with\>" matchgroup
syn region nixAssertExpr matchgroup=nixAssertKeyword start="\<assert\>" matchgroup=NONE end=";" contains=@nixExpr
-syn cluster nixExpr contains=nixBoolean,nixNull,nixOperator,nixParen,nixInteger,nixRecKeyword,nixConditional,nixBuiltin,nixSimpleBuiltin,nixComment,nixFunctionCall,nixFunctionArgument,nixSimpleFunctionArgument,nixPath,nixHomePath,nixSearchPathRef,nixURI,nixAttributeSet,nixList,nixSimpleString,nixString,nixLetExpr,nixIfExpr,nixWithExpr,nixAssertExpr
+syn cluster nixExpr contains=nixBoolean,nixNull,nixOperator,nixParen,nixInteger,nixRecKeyword,nixConditional,nixBuiltin,nixSimpleBuiltin,nixComment,nixFunctionCall,nixFunctionArgument,nixSimpleFunctionArgument,nixPath,nixHomePath,nixSearchPathRef,nixURI,nixAttributeSet,nixList,nixSimpleString,nixString,nixLetExpr,nixIfExpr,nixWithExpr,nixAssertExpr,nixInterpolation
" These definitions override @nixExpr and have to come afterwards:
syn match nixInterpolationParam "[a-zA-Z_][a-zA-Z0-9_'-]*\%(\.[a-zA-Z_][a-zA-Z0-9_'-]*\)*" contained
-" Non-namespaced Nix builtins as of version 1.10:
+" Non-namespaced Nix builtins as of version 2.0:
syn keyword nixSimpleBuiltin
- \ abort baseNameOf derivation dirOf fetchTarball import map removeAttrs
- \ throw toString
+ \ abort baseNameOf derivation derivationStrict dirOf fetchGit
+ \ fetchMercurial fetchTarball import isNull map placeholder removeAttrs
+ \ scopedImport throw toString
-" Namespaced and non-namespaced Nix builtins as of version 1.10:
+
+" Namespaced and non-namespaced Nix builtins as of version 2.0:
syn keyword nixNamespacedBuiltin contained
- \ abort add all any attrNames attrValues baseNameOf compareVersions
- \ concatLists currentSystem deepSeq derivation dirOf div elem elemAt
- \ fetchTarball fetchurl filter filterSource foldl' fromJSON genList
- \ getAttr getEnv hasAttr hashString head import intersectAttrs isAttrs
- \ isBool isFunction isInt isList isString length lessThan listToAttrs map
- \ mul parseDrvName pathExists readDir readFile removeAttrs replaceStrings
- \ seq sort stringLength sub substring tail throw toFile toJSON toPath
- \ toString toXML trace typeOf
+ \ abort add addErrorContext all any attrNames attrValues baseNameOf
+ \ catAttrs compareVersions concatLists concatStringsSep currentSystem
+ \ currentTime deepSeq derivation derivationStrict dirOf div elem elemAt
+ \ fetchGit fetchMercurial fetchTarball fetchurl filter \ filterSource
+ \ findFile foldl' fromJSON functionArgs genList \ genericClosure getAttr
+ \ getEnv hasAttr hasContext hashString head import intersectAttrs isAttrs
+ \ isBool isFloat isFunction isInt isList isNull isString langVersion
+ \ length lessThan listToAttrs map match mul nixPath nixVersion
+ \ parseDrvName partition path pathExists placeholder readDir readFile
+ \ removeAttrs replaceStrings scopedImport seq sort split splitVersion
+ \ storeDir storePath stringLength sub substring tail throw toFile toJSON
+ \ toPath toString toXML trace tryEval typeOf unsafeDiscardOutputDependency
+ \ unsafeDiscardStringContext unsafeGetAttrPos valueSize
syn match nixBuiltin "builtins\.[a-zA-Z']\+"he=s+9 contains=nixComment,nixNamespacedBuiltin
@@ -158,7 +166,6 @@ hi def link nixInteger Integer
hi def link nixInterpolation Macro
hi def link nixInterpolationDelimiter Delimiter
hi def link nixInterpolationParam Macro
-hi def link nixInterpolationSpecial Special
hi def link nixLetExprKeyword Keyword
hi def link nixNamespacedBuiltin Special
hi def link nixNull Constant
@@ -173,6 +180,7 @@ hi def link nixSimpleString String
hi def link nixSimpleStringSpecial SpecialChar
hi def link nixString String
hi def link nixStringDelimiter Delimiter
+hi def link nixStringSpecial Special
hi def link nixTodo Todo
hi def link nixURI Include
hi def link nixWithExprKeyword Keyword