123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- module.exports = function(hljs) {
- var NIX_KEYWORDS = {
- keyword:
- 'rec with let in inherit assert if else then',
- literal:
- 'true false or and null',
- built_in:
- 'import abort baseNameOf dirOf isNull builtins map removeAttrs throw ' +
- 'toString derivation'
- };
- var ANTIQUOTE = {
- className: 'subst',
- begin: /\$\{/,
- end: /}/,
- keywords: NIX_KEYWORDS
- };
- var ATTRS = {
- begin: /[a-zA-Z0-9-_]+(\s*=)/, returnBegin: true,
- relevance: 0,
- contains: [
- {
- className: 'attr',
- begin: /\S+/
- }
- ]
- };
- var STRING = {
- className: 'string',
- contains: [ANTIQUOTE],
- variants: [
- {begin: "''", end: "''"},
- {begin: '"', end: '"'}
- ]
- };
- var EXPRESSIONS = [
- hljs.NUMBER_MODE,
- hljs.HASH_COMMENT_MODE,
- hljs.C_BLOCK_COMMENT_MODE,
- STRING,
- ATTRS
- ];
- ANTIQUOTE.contains = EXPRESSIONS;
- return {
- aliases: ["nixos"],
- keywords: NIX_KEYWORDS,
- contains: EXPRESSIONS
- };
- };
|