diff options
Diffstat (limited to 'node_modules/highlight.js/lib/languages/go.js')
-rw-r--r-- | node_modules/highlight.js/lib/languages/go.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/go.js b/node_modules/highlight.js/lib/languages/go.js new file mode 100644 index 000000000..2a5a8649d --- /dev/null +++ b/node_modules/highlight.js/lib/languages/go.js @@ -0,0 +1,53 @@ +module.exports = function(hljs) { + var GO_KEYWORDS = { + keyword: + 'break default func interface select case map struct chan else goto package switch ' + + 'const fallthrough if range type continue for import return var go defer ' + + 'bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 ' + + 'uint16 uint32 uint64 int uint uintptr rune', + literal: + 'true false iota nil', + built_in: + 'append cap close complex copy imag len make new panic print println real recover delete' + }; + return { + aliases: ['golang'], + keywords: GO_KEYWORDS, + illegal: '</', + contains: [ + hljs.C_LINE_COMMENT_MODE, + hljs.C_BLOCK_COMMENT_MODE, + { + className: 'string', + variants: [ + hljs.QUOTE_STRING_MODE, + {begin: '\'', end: '[^\\\\]\''}, + {begin: '`', end: '`'}, + ] + }, + { + className: 'number', + variants: [ + {begin: hljs.C_NUMBER_RE + '[dflsi]', relevance: 1}, + hljs.C_NUMBER_MODE + ] + }, + { + begin: /:=/ // relevance booster + }, + { + className: 'function', + beginKeywords: 'func', end: /\s*\{/, excludeEnd: true, + contains: [ + hljs.TITLE_MODE, + { + className: 'params', + begin: /\(/, end: /\)/, + keywords: GO_KEYWORDS, + illegal: /["']/ + } + ] + } + ] + }; +};
\ No newline at end of file |