aboutsummaryrefslogtreecommitdiff
path: root/node_modules/highlight.js/lib/languages/nix.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/highlight.js/lib/languages/nix.js')
-rw-r--r--node_modules/highlight.js/lib/languages/nix.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/nix.js b/node_modules/highlight.js/lib/languages/nix.js
new file mode 100644
index 000000000..94938976f
--- /dev/null
+++ b/node_modules/highlight.js/lib/languages/nix.js
@@ -0,0 +1,48 @@
+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
+ };
+}; \ No newline at end of file