@@ -0,0 +1,87 @@
1+(comment) @comment
2+
3+[
4+ "if"
5+ "then"
6+ "else"
7+ "let"
8+ "inherit"
9+ "in"
10+ "rec"
11+ "with"
12+ "assert"
13+] @keyword
14+
15+((identifier) @variable.builtin
16+ (#match? @variable.builtin "^(__currentSystem|__currentTime|__nixPath|__nixVersion|__storeDir|builtins|false|null|true)$")
17+ (#is-not? local))
18+
19+((identifier) @function.builtin
20+ (#match? @function.builtin "^(__add|__addErrorContext|__all|__any|__appendContext|__attrNames|__attrValues|__bitAnd|__bitOr|__bitXor|__catAttrs|__compareVersions|__concatLists|__concatMap|__concatStringsSep|__deepSeq|__div|__elem|__elemAt|__fetchurl|__filter|__filterSource|__findFile|__foldl'|__fromJSON|__functionArgs|__genList|__genericClosure|__getAttr|__getContext|__getEnv|__hasAttr|__hasContext|__hashFile|__hashString|__head|__intersectAttrs|__isAttrs|__isBool|__isFloat|__isFunction|__isInt|__isList|__isPath|__isString|__langVersion|__length|__lessThan|__listToAttrs|__mapAttrs|__match|__mul|__parseDrvName|__partition|__path|__pathExists|__readDir|__readFile|__replaceStrings|__seq|__sort|__split|__splitVersion|__storePath|__stringLength|__sub|__substring|__tail|__toFile|__toJSON|__toPath|__toXML|__trace|__tryEval|__typeOf|__unsafeDiscardOutputDependency|__unsafeDiscardStringContext|__unsafeGetAttrPos|__valueSize|abort|baseNameOf|derivation|derivationStrict|dirOf|fetchGit|fetchMercurial|fetchTarball|fromTOML|import|isNull|map|placeholder|removeAttrs|scopedImport|throw|toString)$")
21+ (#is-not? local))
22+
23+[
24+ (string)
25+ (indented_string)
26+] @string
27+
28+[
29+ (path)
30+ (hpath)
31+ (spath)
32+] @string.special.path
33+
34+(uri) @string.special.uri
35+
36+[
37+ (integer)
38+ (float)
39+] @number
40+
41+(interpolation
42+ "${" @punctuation.special
43+ "}" @punctuation.special) @embedded
44+
45+(escape_sequence) @escape
46+
47+(function
48+ universal: (identifier) @variable.parameter
49+)
50+
51+(formal
52+ name: (identifier) @variable.parameter
53+ "?"? @punctuation.delimiter)
54+
55+(app
56+ function: [
57+ (identifier) @function
58+ (select
59+ attrpath: (attrpath
60+ attr: (attr_identifier) @function .))])
61+
62+
63+(unary
64+ operator: _ @operator)
65+
66+(binary
67+ operator: _ @operator)
68+
69+(attr_identifier) @property
70+(inherit attrs: (attrs_inherited (identifier) @property) )
71+
72+[
73+ ";"
74+ "."
75+ ","
76+] @punctuation.delimiter
77+
78+[
79+ "("
80+ ")"
81+ "["
82+ "]"
83+ "{"
84+ "}"
85+] @punctuation.bracket
86+
87+(identifier) @variable