UNPKG

highlights-tokens

Version:

A list of the language tokens used by the Atom.app [highlights](https://www.npmjs.com/package/highlights) syntax highlighter

29 lines (24 loc) 753 B
var grammars = require("./node_modules/highlights/gen/grammars") var fs = require("fs") var _ = require("lodash") var compact = _.compact var flatten = _.flatten var uniq = _.uniq var tokens = [] Object.keys(grammars).forEach(function(key){ var patterns = grammars[key].patterns if (!Array.isArray(patterns)) return patterns.forEach(function(pattern){ if (typeof pattern.name !== "string") return tokens.push(pattern.name.split(".")) }) }) tokens = uniq(compact(flatten(tokens))) .filter(function(token) { return !~token.indexOf("$") }) .sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()) }) fs.writeFileSync("./index.json", JSON.stringify(tokens, null, 2)) console.log("wrote index.json")