first commit
This commit is contained in:
115
app_vue/node_modules/highlight.js/lib/languages/tcl.js
generated
vendored
Normal file
115
app_vue/node_modules/highlight.js/lib/languages/tcl.js
generated
vendored
Normal file
@ -0,0 +1,115 @@
|
||||
/**
|
||||
* @param {string} value
|
||||
* @returns {RegExp}
|
||||
* */
|
||||
|
||||
/**
|
||||
* @param {RegExp | string } re
|
||||
* @returns {string}
|
||||
*/
|
||||
function source(re) {
|
||||
if (!re) return null;
|
||||
if (typeof re === "string") return re;
|
||||
|
||||
return re.source;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {RegExp | string } re
|
||||
* @returns {string}
|
||||
*/
|
||||
function optional(re) {
|
||||
return concat('(', re, ')?');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {...(RegExp | string) } args
|
||||
* @returns {string}
|
||||
*/
|
||||
function concat(...args) {
|
||||
const joined = args.map((x) => source(x)).join("");
|
||||
return joined;
|
||||
}
|
||||
|
||||
/*
|
||||
Language: Tcl
|
||||
Description: Tcl is a very simple programming language.
|
||||
Author: Radek Liska <radekliska@gmail.com>
|
||||
Website: https://www.tcl.tk/about/language.html
|
||||
*/
|
||||
|
||||
function tcl(hljs) {
|
||||
const TCL_IDENT = /[a-zA-Z_][a-zA-Z0-9_]*/;
|
||||
|
||||
const NUMBER = {
|
||||
className: 'number',
|
||||
variants: [hljs.BINARY_NUMBER_MODE, hljs.C_NUMBER_MODE]
|
||||
};
|
||||
|
||||
return {
|
||||
name: 'Tcl',
|
||||
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: 'title',
|
||||
begin: '[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*',
|
||||
end: '[ \\t\\n\\r]',
|
||||
endsWithParent: true,
|
||||
excludeEnd: true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
className: "variable",
|
||||
variants: [
|
||||
{
|
||||
begin: concat(
|
||||
/\$/,
|
||||
optional(/::/),
|
||||
TCL_IDENT,
|
||||
'(::',
|
||||
TCL_IDENT,
|
||||
')*'
|
||||
)
|
||||
},
|
||||
{
|
||||
begin: '\\$\\{(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*',
|
||||
end: '\\}',
|
||||
contains: [
|
||||
NUMBER
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
className: 'string',
|
||||
contains: [hljs.BACKSLASH_ESCAPE],
|
||||
variants: [
|
||||
hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null})
|
||||
]
|
||||
},
|
||||
NUMBER
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = tcl;
|
Reference in New Issue
Block a user