first docs
This commit is contained in:
125
.yarn/unplugged/highlight.js-npm-9.18.5-571500f48d/node_modules/highlight.js/lib/languages/sas.js
generated
vendored
Normal file
125
.yarn/unplugged/highlight.js-npm-9.18.5-571500f48d/node_modules/highlight.js/lib/languages/sas.js
generated
vendored
Normal file
@@ -0,0 +1,125 @@
|
||||
module.exports = function(hljs) {
|
||||
|
||||
// Data step and PROC SQL statements
|
||||
var SAS_KEYWORDS = ''+
|
||||
'do if then else end until while '+
|
||||
''+
|
||||
'abort array attrib by call cards cards4 catname continue '+
|
||||
'datalines datalines4 delete delim delimiter display dm drop '+
|
||||
'endsas error file filename footnote format goto in infile '+
|
||||
'informat input keep label leave length libname link list '+
|
||||
'lostcard merge missing modify options output out page put '+
|
||||
'redirect remove rename replace retain return select set skip '+
|
||||
'startsas stop title update waitsas where window x systask '+
|
||||
''+
|
||||
'add and alter as cascade check create delete describe '+
|
||||
'distinct drop foreign from group having index insert into in '+
|
||||
'key like message modify msgtype not null on or order primary '+
|
||||
'references reset restrict select set table unique update '+
|
||||
'validate view where';
|
||||
|
||||
// Built-in SAS functions
|
||||
var SAS_FUN = ''+
|
||||
'abs|addr|airy|arcos|arsin|atan|attrc|attrn|band|'+
|
||||
'betainv|blshift|bnot|bor|brshift|bxor|byte|cdf|ceil|'+
|
||||
'cexist|cinv|close|cnonct|collate|compbl|compound|'+
|
||||
'compress|cos|cosh|css|curobs|cv|daccdb|daccdbsl|'+
|
||||
'daccsl|daccsyd|dacctab|dairy|date|datejul|datepart|'+
|
||||
'datetime|day|dclose|depdb|depdbsl|depdbsl|depsl|'+
|
||||
'depsl|depsyd|depsyd|deptab|deptab|dequote|dhms|dif|'+
|
||||
'digamma|dim|dinfo|dnum|dopen|doptname|doptnum|dread|'+
|
||||
'dropnote|dsname|erf|erfc|exist|exp|fappend|fclose|'+
|
||||
'fcol|fdelete|fetch|fetchobs|fexist|fget|fileexist|'+
|
||||
'filename|fileref|finfo|finv|fipname|fipnamel|'+
|
||||
'fipstate|floor|fnonct|fnote|fopen|foptname|foptnum|'+
|
||||
'fpoint|fpos|fput|fread|frewind|frlen|fsep|fuzz|'+
|
||||
'fwrite|gaminv|gamma|getoption|getvarc|getvarn|hbound|'+
|
||||
'hms|hosthelp|hour|ibessel|index|indexc|indexw|input|'+
|
||||
'inputc|inputn|int|intck|intnx|intrr|irr|jbessel|'+
|
||||
'juldate|kurtosis|lag|lbound|left|length|lgamma|'+
|
||||
'libname|libref|log|log10|log2|logpdf|logpmf|logsdf|'+
|
||||
'lowcase|max|mdy|mean|min|minute|mod|month|mopen|'+
|
||||
'mort|n|netpv|nmiss|normal|note|npv|open|ordinal|'+
|
||||
'pathname|pdf|peek|peekc|pmf|point|poisson|poke|'+
|
||||
'probbeta|probbnml|probchi|probf|probgam|probhypr|'+
|
||||
'probit|probnegb|probnorm|probt|put|putc|putn|qtr|'+
|
||||
'quote|ranbin|rancau|ranexp|rangam|range|rank|rannor|'+
|
||||
'ranpoi|rantbl|rantri|ranuni|repeat|resolve|reverse|'+
|
||||
'rewind|right|round|saving|scan|sdf|second|sign|'+
|
||||
'sin|sinh|skewness|soundex|spedis|sqrt|std|stderr|'+
|
||||
'stfips|stname|stnamel|substr|sum|symget|sysget|'+
|
||||
'sysmsg|sysprod|sysrc|system|tan|tanh|time|timepart|'+
|
||||
'tinv|tnonct|today|translate|tranwrd|trigamma|'+
|
||||
'trim|trimn|trunc|uniform|upcase|uss|var|varfmt|'+
|
||||
'varinfmt|varlabel|varlen|varname|varnum|varray|'+
|
||||
'varrayx|vartype|verify|vformat|vformatd|vformatdx|'+
|
||||
'vformatn|vformatnx|vformatw|vformatwx|vformatx|'+
|
||||
'vinarray|vinarrayx|vinformat|vinformatd|vinformatdx|'+
|
||||
'vinformatn|vinformatnx|vinformatw|vinformatwx|'+
|
||||
'vinformatx|vlabel|vlabelx|vlength|vlengthx|vname|'+
|
||||
'vnamex|vtype|vtypex|weekday|year|yyq|zipfips|zipname|'+
|
||||
'zipnamel|zipstate';
|
||||
|
||||
// Built-in macro functions
|
||||
var SAS_MACRO_FUN = 'bquote|nrbquote|cmpres|qcmpres|compstor|'+
|
||||
'datatyp|display|do|else|end|eval|global|goto|'+
|
||||
'if|index|input|keydef|label|left|length|let|'+
|
||||
'local|lowcase|macro|mend|nrbquote|nrquote|'+
|
||||
'nrstr|put|qcmpres|qleft|qlowcase|qscan|'+
|
||||
'qsubstr|qsysfunc|qtrim|quote|qupcase|scan|str|'+
|
||||
'substr|superq|syscall|sysevalf|sysexec|sysfunc|'+
|
||||
'sysget|syslput|sysprod|sysrc|sysrput|then|to|'+
|
||||
'trim|unquote|until|upcase|verify|while|window';
|
||||
|
||||
return {
|
||||
aliases: ['sas', 'SAS'],
|
||||
case_insensitive: true, // SAS is case-insensitive
|
||||
keywords: {
|
||||
literal:
|
||||
'null missing _all_ _automatic_ _character_ _infile_ '+
|
||||
'_n_ _name_ _null_ _numeric_ _user_ _webout_',
|
||||
meta:
|
||||
SAS_KEYWORDS
|
||||
},
|
||||
contains: [
|
||||
{
|
||||
// Distinct highlight for proc <proc>, data, run, quit
|
||||
className: 'keyword',
|
||||
begin: /^\s*(proc [\w\d_]+|data|run|quit)[\s\;]/
|
||||
},
|
||||
{
|
||||
// Macro variables
|
||||
className: 'variable',
|
||||
begin: /\&[a-zA-Z_\&][a-zA-Z0-9_]*\.?/
|
||||
},
|
||||
{
|
||||
// Special emphasis for datalines|cards
|
||||
className: 'emphasis',
|
||||
begin: /^\s*datalines|cards.*;/,
|
||||
end: /^\s*;\s*$/
|
||||
},
|
||||
{ // Built-in macro variables take precedence
|
||||
className: 'built_in',
|
||||
begin: '%(' + SAS_MACRO_FUN + ')'
|
||||
},
|
||||
{
|
||||
// User-defined macro functions highlighted after
|
||||
className: 'name',
|
||||
begin: /%[a-zA-Z_][a-zA-Z_0-9]*/
|
||||
},
|
||||
{
|
||||
className: 'meta',
|
||||
begin: '[^%](' + SAS_FUN + ')[\(]'
|
||||
},
|
||||
{
|
||||
className: 'string',
|
||||
variants: [
|
||||
hljs.APOS_STRING_MODE,
|
||||
hljs.QUOTE_STRING_MODE
|
||||
]
|
||||
},
|
||||
hljs.COMMENT('\\*', ';'),
|
||||
hljs.C_BLOCK_COMMENT_MODE
|
||||
]
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user