forked from sashin/sashinexists
run npm install to generate a package lock
This commit is contained in:
156
node_modules/highlight.js/lib/languages/go.js
generated
vendored
Normal file
156
node_modules/highlight.js/lib/languages/go.js
generated
vendored
Normal file
@@ -0,0 +1,156 @@
|
||||
/*
|
||||
Language: Go
|
||||
Author: Stephan Kountso aka StepLg <steplg@gmail.com>
|
||||
Contributors: Evgeny Stepanischev <imbolk@gmail.com>
|
||||
Description: Google go language (golang). For info about language
|
||||
Website: http://golang.org/
|
||||
Category: common, system
|
||||
*/
|
||||
|
||||
function go(hljs) {
|
||||
const LITERALS = [
|
||||
"true",
|
||||
"false",
|
||||
"iota",
|
||||
"nil"
|
||||
];
|
||||
const BUILT_INS = [
|
||||
"append",
|
||||
"cap",
|
||||
"close",
|
||||
"complex",
|
||||
"copy",
|
||||
"imag",
|
||||
"len",
|
||||
"make",
|
||||
"new",
|
||||
"panic",
|
||||
"print",
|
||||
"println",
|
||||
"real",
|
||||
"recover",
|
||||
"delete"
|
||||
];
|
||||
const TYPES = [
|
||||
"bool",
|
||||
"byte",
|
||||
"complex64",
|
||||
"complex128",
|
||||
"error",
|
||||
"float32",
|
||||
"float64",
|
||||
"int8",
|
||||
"int16",
|
||||
"int32",
|
||||
"int64",
|
||||
"string",
|
||||
"uint8",
|
||||
"uint16",
|
||||
"uint32",
|
||||
"uint64",
|
||||
"int",
|
||||
"uint",
|
||||
"uintptr",
|
||||
"rune"
|
||||
];
|
||||
const KWS = [
|
||||
"break",
|
||||
"case",
|
||||
"chan",
|
||||
"const",
|
||||
"continue",
|
||||
"default",
|
||||
"defer",
|
||||
"else",
|
||||
"fallthrough",
|
||||
"for",
|
||||
"func",
|
||||
"go",
|
||||
"goto",
|
||||
"if",
|
||||
"import",
|
||||
"interface",
|
||||
"map",
|
||||
"package",
|
||||
"range",
|
||||
"return",
|
||||
"select",
|
||||
"struct",
|
||||
"switch",
|
||||
"type",
|
||||
"var",
|
||||
];
|
||||
const KEYWORDS = {
|
||||
keyword: KWS,
|
||||
type: TYPES,
|
||||
literal: LITERALS,
|
||||
built_in: BUILT_INS
|
||||
};
|
||||
return {
|
||||
name: 'Go',
|
||||
aliases: [ 'golang' ],
|
||||
keywords: KEYWORDS,
|
||||
illegal: '</',
|
||||
contains: [
|
||||
hljs.C_LINE_COMMENT_MODE,
|
||||
hljs.C_BLOCK_COMMENT_MODE,
|
||||
{
|
||||
className: 'string',
|
||||
variants: [
|
||||
hljs.QUOTE_STRING_MODE,
|
||||
hljs.APOS_STRING_MODE,
|
||||
{
|
||||
begin: '`',
|
||||
end: '`'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
className: 'number',
|
||||
variants: [
|
||||
{
|
||||
match: /-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/, // hex without a present digit before . (making a digit afterwards required)
|
||||
relevance: 0
|
||||
},
|
||||
{
|
||||
match: /-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/, // hex with a present digit before . (making a digit afterwards optional)
|
||||
relevance: 0
|
||||
},
|
||||
{
|
||||
match: /-?\b0[oO](_?[0-7])*i?/, // leading 0o octal
|
||||
relevance: 0
|
||||
},
|
||||
{
|
||||
match: /-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/, // decimal without a present digit before . (making a digit afterwards required)
|
||||
relevance: 0
|
||||
},
|
||||
{
|
||||
match: /-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/, // decimal with a present digit before . (making a digit afterwards optional)
|
||||
relevance: 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{ begin: /:=/ // relevance booster
|
||||
},
|
||||
{
|
||||
className: 'function',
|
||||
beginKeywords: 'func',
|
||||
end: '\\s*(\\{|$)',
|
||||
excludeEnd: true,
|
||||
contains: [
|
||||
hljs.TITLE_MODE,
|
||||
{
|
||||
className: 'params',
|
||||
begin: /\(/,
|
||||
end: /\)/,
|
||||
endsParent: true,
|
||||
keywords: KEYWORDS,
|
||||
illegal: /["']/
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = go;
|
||||
Reference in New Issue
Block a user