You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.8 KiB
74 lines
1.8 KiB
/* |
|
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 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 { |
|
name: 'Go', |
|
aliases: ['golang'], |
|
keywords: GO_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: [ |
|
{ |
|
begin: hljs.C_NUMBER_RE + '[i]', |
|
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: /["']/ |
|
} |
|
] |
|
} |
|
] |
|
}; |
|
} |
|
|
|
module.exports = go;
|
|
|