Update to 8.0
This commit is contained in:
184
vendor/assets/javascripts/highlight_js/languages/lasso.js
vendored
Normal file
184
vendor/assets/javascripts/highlight_js/languages/lasso.js
vendored
Normal file
@@ -0,0 +1,184 @@
|
||||
/*
|
||||
Language: Lasso
|
||||
Author: Eric Knibbe <eric@lassosoft.com>
|
||||
Description: Lasso is a language and server platform for database-driven web applications. This definition handles Lasso 9 syntax and LassoScript for Lasso 8.6 and earlier.
|
||||
*/
|
||||
|
||||
function(hljs) {
|
||||
var LASSO_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9_.]*';
|
||||
var LASSO_ANGLE_RE = '<\\?(lasso(script)?|=)';
|
||||
var LASSO_CLOSE_RE = '\\]|\\?>';
|
||||
var LASSO_KEYWORDS = {
|
||||
literal:
|
||||
'true false none minimal full all void and or not ' +
|
||||
'bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft',
|
||||
built_in:
|
||||
'array date decimal duration integer map pair string tag xml null ' +
|
||||
'bytes list queue set stack staticarray tie local var variable ' +
|
||||
'global data self inherited',
|
||||
keyword:
|
||||
'error_code error_msg error_pop error_push error_reset cache ' +
|
||||
'database_names database_schemanames database_tablenames define_tag ' +
|
||||
'define_type email_batch encode_set html_comment handle handle_error ' +
|
||||
'header if inline iterate ljax_target link link_currentaction ' +
|
||||
'link_currentgroup link_currentrecord link_detail link_firstgroup ' +
|
||||
'link_firstrecord link_lastgroup link_lastrecord link_nextgroup ' +
|
||||
'link_nextrecord link_prevgroup link_prevrecord log loop ' +
|
||||
'namespace_using output_none portal private protect records referer ' +
|
||||
'referrer repeating resultset rows search_args search_arguments ' +
|
||||
'select sort_args sort_arguments thread_atomic value_list while ' +
|
||||
'abort case else if_empty if_false if_null if_true loop_abort ' +
|
||||
'loop_continue loop_count params params_up return return_value ' +
|
||||
'run_children soap_definetag soap_lastrequest soap_lastresponse ' +
|
||||
'tag_name ascending average by define descending do equals ' +
|
||||
'frozen group handle_failure import in into join let match max ' +
|
||||
'min on order parent protected provide public require returnhome ' +
|
||||
'skip split_thread sum take thread to trait type where with ' +
|
||||
'yield yieldhome'
|
||||
};
|
||||
var HTML_COMMENT = {
|
||||
className: 'comment',
|
||||
begin: '<!--', end: '-->',
|
||||
relevance: 0
|
||||
};
|
||||
var LASSO_NOPROCESS = {
|
||||
className: 'preprocessor',
|
||||
begin: '\\[noprocess\\]',
|
||||
starts: {
|
||||
className: 'markup',
|
||||
end: '\\[/noprocess\\]',
|
||||
returnEnd: true,
|
||||
contains: [ HTML_COMMENT ]
|
||||
}
|
||||
};
|
||||
var LASSO_START = {
|
||||
className: 'preprocessor',
|
||||
begin: '\\[/noprocess|' + LASSO_ANGLE_RE
|
||||
};
|
||||
var LASSO_DATAMEMBER = {
|
||||
className: 'variable',
|
||||
begin: '\'' + LASSO_IDENT_RE + '\''
|
||||
};
|
||||
var LASSO_CODE = [
|
||||
hljs.C_LINE_COMMENT_MODE,
|
||||
{
|
||||
className: 'javadoc',
|
||||
begin: '/\\*\\*!', end: '\\*/'
|
||||
},
|
||||
hljs.C_BLOCK_COMMENT_MODE,
|
||||
hljs.inherit(hljs.C_NUMBER_MODE, {begin: hljs.C_NUMBER_RE + '|-?(infinity|nan)\\b'}),
|
||||
hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null}),
|
||||
hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}),
|
||||
{
|
||||
className: 'string',
|
||||
begin: '`', end: '`'
|
||||
},
|
||||
{
|
||||
className: 'variable',
|
||||
variants: [
|
||||
{
|
||||
begin: '[#$]' + LASSO_IDENT_RE
|
||||
},
|
||||
{
|
||||
begin: '#', end: '\\d+',
|
||||
illegal: '\\W'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
className: 'tag',
|
||||
begin: '::\\s*', end: LASSO_IDENT_RE,
|
||||
illegal: '\\W'
|
||||
},
|
||||
{
|
||||
className: 'attribute',
|
||||
variants: [
|
||||
{begin: '(\\.\\.\\.)' + hljs.UNDERSCORE_IDENT_RE},
|
||||
{begin: '-' + hljs.UNDERSCORE_IDENT_RE, relevance: 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
className: 'subst',
|
||||
variants: [
|
||||
{
|
||||
begin: '->\\s*',
|
||||
contains: [ LASSO_DATAMEMBER ]
|
||||
},
|
||||
{
|
||||
begin: ':=|/(?!\\w)=?|[-+*%=<>&|!?\\\\]+',
|
||||
relevance: 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
className: 'built_in',
|
||||
begin: '\\.\\.?',
|
||||
relevance: 0,
|
||||
contains: [ LASSO_DATAMEMBER ]
|
||||
},
|
||||
{
|
||||
className: 'class',
|
||||
beginKeywords: 'define',
|
||||
returnEnd: true, end: '\\(|=>',
|
||||
contains: [
|
||||
hljs.inherit(hljs.TITLE_MODE, {begin: hljs.UNDERSCORE_IDENT_RE + '(=(?!>))?'})
|
||||
]
|
||||
}
|
||||
];
|
||||
return {
|
||||
aliases: ['ls', 'lassoscript'],
|
||||
case_insensitive: true,
|
||||
lexemes: LASSO_IDENT_RE + '|&[lg]t;',
|
||||
keywords: LASSO_KEYWORDS,
|
||||
contains: [
|
||||
{
|
||||
className: 'preprocessor',
|
||||
begin: LASSO_CLOSE_RE,
|
||||
relevance: 0,
|
||||
starts: {
|
||||
className: 'markup',
|
||||
end: '\\[|' + LASSO_ANGLE_RE,
|
||||
returnEnd: true,
|
||||
relevance: 0,
|
||||
contains: [ HTML_COMMENT ]
|
||||
}
|
||||
},
|
||||
LASSO_NOPROCESS,
|
||||
LASSO_START,
|
||||
{
|
||||
className: 'preprocessor',
|
||||
begin: '\\[no_square_brackets',
|
||||
starts: {
|
||||
end: '\\[/no_square_brackets\\]', // not implemented in the language
|
||||
lexemes: LASSO_IDENT_RE + '|&[lg]t;',
|
||||
keywords: LASSO_KEYWORDS,
|
||||
contains: [
|
||||
{
|
||||
className: 'preprocessor',
|
||||
begin: LASSO_CLOSE_RE,
|
||||
relevance: 0,
|
||||
starts: {
|
||||
className: 'markup',
|
||||
end: LASSO_ANGLE_RE,
|
||||
returnEnd: true,
|
||||
contains: [ HTML_COMMENT ]
|
||||
}
|
||||
},
|
||||
LASSO_NOPROCESS,
|
||||
LASSO_START
|
||||
].concat(LASSO_CODE)
|
||||
}
|
||||
},
|
||||
{
|
||||
className: 'preprocessor',
|
||||
begin: '\\[',
|
||||
relevance: 0
|
||||
},
|
||||
{
|
||||
className: 'shebang',
|
||||
begin: '^#!.+lasso9\\b',
|
||||
relevance: 10
|
||||
}
|
||||
].concat(LASSO_CODE)
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user