10 lines
9.9 KiB
JavaScript
10 lines
9.9 KiB
JavaScript
|
import sql from './sql.mjs';
|
||
|
|
||
|
const lang = Object.freeze({ "displayName": "SAS", "fileTypes": ["sas"], "foldingStartMarker": "(?i:(proc|data|%macro).*;$)", "foldingStopMarker": "(?i:(run|quit|%mend)\\s?);", "name": "sas", "patterns": [{ "include": "#starComment" }, { "include": "#blockComment" }, { "include": "#macro" }, { "include": "#constant" }, { "include": "#quote" }, { "include": "#operator" }, { "begin": "\\b(?i:(data))\\s+", "beginCaptures": { "1": { "name": "keyword.other.sas" } }, "comment": "Begins a DATA step and provides names for any output SAS data sets, views, or programs.", "end": "(;)", "patterns": [{ "include": "#blockComment" }, { "include": "#dataSet" }, { "captures": { "1": { "name": "keyword.other.sas" }, "2": { "name": "keyword.other.sas" } }, "match": "(?i:(?:(stack|pgm|view|source)\\s?=\\s?)|(debug|nesting|nolist))" }] }, { "begin": "\\b(?i:(set|update|modify|merge))\\s+", "beginCaptures": { "1": { "name": "support.function.sas" }, "2": { "name": "entity.name.class.sas" }, "3": { "name": "entity.name.class.sas" } }, "comment": "DATA set File-Handling Statements for DATA step", "end": "(;)", "patterns": [{ "include": "#blockComment" }, { "include": "#dataSet" }] }, { "match": "(?i:\\b(if|while|until|for|do|end|then|else|run|quit|cancel|options)\\b)", "name": "keyword.control.sas" }, { "captures": { "1": { "name": "support.class.sas" }, "3": { "name": "entity.name.function.sas" } }, "match": "(?i:(%(bquote|do|else|end|eval|global|goto|if|inc|include|index|input|length|let|list|local|lowcase|macro|mend|nrbquote|nrquote|nrstr|put|qscan|qsysfunc|quote|run|scan|str|substr|syscall|sysevalf|sysexec|sysfunc|sysrc|then|to|unquote|upcase|until|while|window)\\b))\\s*(\\w*)", "name": "keyword.other.sas" }, { "begin": "(?i:\\b(proc\\s*(sql))\\b)", "beginCaptures": { "1": { "name": "support.function.sas" }, "2": { "name": "support.class.sas" } }, "comment": "Looks like for this to work there must be a *name* as well as the patterns/include bit.", "end": "(?i:\\b(quit)\\s*;)", "endCaptures": { "1": { "name": "keyword.control.sas" } }, "name": "meta.sql.sas", "patterns": [{ "include": "#starComment" }, { "include": "#blockComment" }, { "include": "source.sql" }] }, { "match": "(?i:\\b(by|label|format)\\b)", "name": "keyword.datastep.sas" }, { "captures": { "1": { "name": "support.function.sas" }, "2": { "name": "support.class.sas" } }, "match": "(?i:\\b(proc (\\w+))\\b)", "name": "meta.function-call.sas" }, { "match": "(?i:\\b(_n_|_error_)\\b)", "name": "variable.language.sas" }, { "captures": { "1": { "name": "support.class.sas" } }, "match": "\\b(?i:(_all_|_character_|_cmd_|_freq_|_i_|_infile_|_last_|_msg_|_null_|_numeric_|_temporary_|_type_|abort|abs|addr|adjrsq|airy|alpha|alter|altlog|altprint|and|arcos|array|arsin|as|atan|attrc|attrib|attrn|authserver|autoexec|awscontrol|awsdef|awsmenu|awsmenumerge|awstitle|backward|band|base|betainv|between|blocksize|blshift|bnot|bor|brshift|bufno|bufsize|bxor|by|byerr|byline|byte|calculated|call|cards|cards4|case|catcache|cbufno|cdf|ceil|center|cexist|change|chisq|cinv|class|cleanup|close|cnonct|cntllev|coalesce|codegen|col|collate|collin|column|comamid|comaux1|comaux2|comdef|compbl|compound|compress|config|continue|convert|cos|cosh|cpuid|create|cross|crosstab|css|curobs|cv|daccdb|daccdbsl|daccsl|daccsyd|dacctab|dairy|datalines|datalines4|date|datejul|datepart|datetime|day|dbcslang|dbcstype|dclose|ddm|delete|delimiter|depdb|depdbsl|depsl|depsyd|deptab|dequote|descending|descript|design=|device|dflang|dhms|dif|digamma|dim|dinfo|display|distinct|dkricond|dkrocond|dlm|dnum|do|dopen|doptname|doptnum|dread|drop|dropnote|dsname|dsnferr|echo|else|emaildlg|emailid|emailpw|emailserver|emailsys|encrypt|end|endsas|engine|eof|eov|erf|erfc|error|errorcheck|errors|exist|exp|fappend|fclose|fcol|fdelete|feedback|fetch|fetchobs|fexist|fget|file|fileclose|fileexist|filefmt|filename|fileref|filevar|finfo|finv|fipname|fipnamel|fipstate|first|firstobs|floor|fmterr|fmtsearch|fnonct|fnote|font|fontalias|footnote[1-9]?|fopen|foptname|foptnum|force|formatted|formchar|formdelim|formdlim|forward|fpoint|fpos|fput|fread|frewind|
|
||
|
var sas = [
|
||
|
...sql,
|
||
|
lang
|
||
|
];
|
||
|
|
||
|
export { sas as default };
|