61 lines
2.3 KiB
JavaScript
61 lines
2.3 KiB
JavaScript
module.exports = function(hljs) {
|
|
return {
|
|
aliases: ['tk'],
|
|
keywords: 'after append apply array auto_execok auto_import auto_load auto_mkindex ' +
|
|
'auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock ' +
|
|
'close concat continue dde dict encoding eof error eval exec exit expr fblocked ' +
|
|
'fconfigure fcopy file fileevent filename flush for foreach format gets glob global ' +
|
|
'history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list ' +
|
|
'llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 '+
|
|
'mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex '+
|
|
'platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename '+
|
|
'return safe scan seek set socket source split string subst switch tcl_endOfWord '+
|
|
'tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter '+
|
|
'tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update '+
|
|
'uplevel upvar variable vwait while',
|
|
contains: [
|
|
hljs.COMMENT(';[ \\t]*#', '$'),
|
|
hljs.COMMENT('^[ \\t]*#', '$'),
|
|
{
|
|
beginKeywords: 'proc',
|
|
end: '[\\{]',
|
|
excludeEnd: true,
|
|
contains: [
|
|
{
|
|
className: 'symbol',
|
|
begin: '[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*',
|
|
end: '[ \\t\\n\\r]',
|
|
endsWithParent: true,
|
|
excludeEnd: true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
className: 'variable',
|
|
excludeEnd: true,
|
|
variants: [
|
|
{
|
|
begin: '\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)',
|
|
end: '[^a-zA-Z0-9_\\}\\$]'
|
|
},
|
|
{
|
|
begin: '\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*',
|
|
end: '(\\))?[^a-zA-Z0-9_\\}\\$]'
|
|
}
|
|
]
|
|
},
|
|
{
|
|
className: 'string',
|
|
contains: [hljs.BACKSLASH_ESCAPE],
|
|
variants: [
|
|
hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null}),
|
|
hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null})
|
|
]
|
|
},
|
|
{
|
|
className: 'number',
|
|
variants: [hljs.BINARY_NUMBER_MODE, hljs.C_NUMBER_MODE]
|
|
}
|
|
]
|
|
}
|
|
}; |