Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9124352
cos.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
cos.js
View Options
/*
Language: Caché Object Script
Author: Nikita Savchenko <zitros.lab@gmail.com>
Category: enterprise, scripting
Website: https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls
*/
/** @type LanguageFn */
function
cos
(
hljs
)
{
const
STRINGS
=
{
className
:
'string'
,
variants
:
[
{
begin
:
'"'
,
end
:
'"'
,
contains
:
[
{
// escaped
begin
:
"\"\""
,
relevance
:
0
}
]
}
]
};
const
NUMBERS
=
{
className
:
"number"
,
begin
:
"\\b(\\d+(\\.\\d*)?|\\.\\d+)"
,
relevance
:
0
};
const
COS_KEYWORDS
=
'property parameter class classmethod clientmethod extends as break '
+
'catch close continue do d|0 else elseif for goto halt hang h|0 if job '
+
'j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 '
+
'tcommit throw trollback try tstart use view while write w|0 xecute x|0 '
+
'zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert '
+
'zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit '
+
'zsync ascii'
;
// registered function - no need in them due to all functions are highlighted,
// but I'll just leave this here.
// "$bit", "$bitcount",
// "$bitfind", "$bitlogic", "$case", "$char", "$classmethod", "$classname",
// "$compile", "$data", "$decimal", "$double", "$extract", "$factor",
// "$find", "$fnumber", "$get", "$increment", "$inumber", "$isobject",
// "$isvaliddouble", "$isvalidnum", "$justify", "$length", "$list",
// "$listbuild", "$listdata", "$listfind", "$listfromstring", "$listget",
// "$listlength", "$listnext", "$listsame", "$listtostring", "$listvalid",
// "$locate", "$match", "$method", "$name", "$nconvert", "$next",
// "$normalize", "$now", "$number", "$order", "$parameter", "$piece",
// "$prefetchoff", "$prefetchon", "$property", "$qlength", "$qsubscript",
// "$query", "$random", "$replace", "$reverse", "$sconvert", "$select",
// "$sortbegin", "$sortend", "$stack", "$text", "$translate", "$view",
// "$wascii", "$wchar", "$wextract", "$wfind", "$wiswide", "$wlength",
// "$wreverse", "$xecute", "$zabs", "$zarccos", "$zarcsin", "$zarctan",
// "$zcos", "$zcot", "$zcsc", "$zdate", "$zdateh", "$zdatetime",
// "$zdatetimeh", "$zexp", "$zhex", "$zln", "$zlog", "$zpower", "$zsec",
// "$zsin", "$zsqr", "$ztan", "$ztime", "$ztimeh", "$zboolean",
// "$zconvert", "$zcrc", "$zcyc", "$zdascii", "$zdchar", "$zf",
// "$ziswide", "$zlascii", "$zlchar", "$zname", "$zposition", "$zqascii",
// "$zqchar", "$zsearch", "$zseek", "$zstrip", "$zwascii", "$zwchar",
// "$zwidth", "$zwpack", "$zwbpack", "$zwunpack", "$zwbunpack", "$zzenkaku",
// "$change", "$mv", "$mvat", "$mvfmt", "$mvfmts", "$mviconv",
// "$mviconvs", "$mvinmat", "$mvlover", "$mvoconv", "$mvoconvs", "$mvraise",
// "$mvtrans", "$mvv", "$mvname", "$zbitand", "$zbitcount", "$zbitfind",
// "$zbitget", "$zbitlen", "$zbitnot", "$zbitor", "$zbitset", "$zbitstr",
// "$zbitxor", "$zincrement", "$znext", "$zorder", "$zprevious", "$zsort",
// "device", "$ecode", "$estack", "$etrap", "$halt", "$horolog",
// "$io", "$job", "$key", "$namespace", "$principal", "$quit", "$roles",
// "$storage", "$system", "$test", "$this", "$tlevel", "$username",
// "$x", "$y", "$za", "$zb", "$zchild", "$zeof", "$zeos", "$zerror",
// "$zhorolog", "$zio", "$zjob", "$zmode", "$znspace", "$zparent", "$zpi",
// "$zpos", "$zreference", "$zstorage", "$ztimestamp", "$ztimezone",
// "$ztrap", "$zversion"
return
{
name
:
'Caché Object Script'
,
case_insensitive
:
true
,
aliases
:
[
"cls"
],
keywords
:
COS_KEYWORDS
,
contains
:
[
NUMBERS
,
STRINGS
,
hljs
.
C_LINE_COMMENT_MODE
,
hljs
.
C_BLOCK_COMMENT_MODE
,
{
className
:
"comment"
,
begin
:
/;/
,
end
:
"$"
,
relevance
:
0
},
{
// Functions and user-defined functions: write $ztime(60*60*3), $$myFunc(10), $$^Val(1)
className
:
"built_in"
,
begin
:
/(?:\$\$?|\.\.)\^?[a-zA-Z]+/
},
{
// Macro command: quit $$$OK
className
:
"built_in"
,
begin
:
/\$\$\$[a-zA-Z]+/
},
{
// Special (global) variables: write %request.Content; Built-in classes: %Library.Integer
className
:
"built_in"
,
begin
:
/%[a-z]+(?:\.[a-z]+)*/
},
{
// Global variable: set ^globalName = 12 write ^globalName
className
:
"symbol"
,
begin
:
/\^%?[a-zA-Z][\w]*/
},
{
// Some control constructions: do ##class(Package.ClassName).Method(), ##super()
className
:
"keyword"
,
begin
:
/##class|##super|#define|#dim/
},
// sub-languages: are not fully supported by hljs by 11/15/2015
// left for the future implementation.
{
begin
:
/&sql\(/
,
end
:
/\)/
,
excludeBegin
:
true
,
excludeEnd
:
true
,
subLanguage
:
"sql"
},
{
begin
:
/&(js|jscript|javascript)</
,
end
:
/>/
,
excludeBegin
:
true
,
excludeEnd
:
true
,
subLanguage
:
"javascript"
},
{
// this brakes first and last tag, but this is the only way to embed a valid html
begin
:
/&html<\s*</
,
end
:
/>\s*>/
,
subLanguage
:
"xml"
}
]
};
}
module
.
exports
=
cos
;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Jun 21, 7:00 PM (2 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3350026
Attached To
rDWAPPS Web applications
Event Timeline
Log In to Comment