broomhlda 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.md +201 -0
- data/lib/hl/define.ay +131 -0
- data/lib/hl/formatters/html.ay +26 -0
- data/lib/hl/lexer.ay +99 -0
- data/lib/hl/lexers/atomy.ay +122 -0
- data/lib/hl/lexers/haskell.ay +89 -0
- data/lib/hl/lexers/imported/abap.ay +43 -0
- data/lib/hl/lexers/imported/actionscript.ay +31 -0
- data/lib/hl/lexers/imported/actionscript3.ay +47 -0
- data/lib/hl/lexers/imported/ada.ay +107 -0
- data/lib/hl/lexers/imported/antlr.ay +95 -0
- data/lib/hl/lexers/imported/apacheconf.ay +29 -0
- data/lib/hl/lexers/imported/applescript.ay +48 -0
- data/lib/hl/lexers/imported/aspectj.ay +42 -0
- data/lib/hl/lexers/imported/asymptote.ay +64 -0
- data/lib/hl/lexers/imported/autohotkey.ay +76 -0
- data/lib/hl/lexers/imported/autoit.ay +64 -0
- data/lib/hl/lexers/imported/awk.ay +42 -0
- data/lib/hl/lexers/imported/bash.ay +63 -0
- data/lib/hl/lexers/imported/batch.ay +45 -0
- data/lib/hl/lexers/imported/bbcode.ay +23 -0
- data/lib/hl/lexers/imported/befunge.ay +26 -0
- data/lib/hl/lexers/imported/blitzmax.ay +44 -0
- data/lib/hl/lexers/imported/boo.ay +55 -0
- data/lib/hl/lexers/imported/brainfuck.ay +28 -0
- data/lib/hl/lexers/imported/bro.ay +57 -0
- data/lib/hl/lexers/imported/bugs.ay +31 -0
- data/lib/hl/lexers/imported/c.ay +84 -0
- data/lib/hl/lexers/imported/ca65.ay +26 -0
- data/lib/hl/lexers/imported/cbmbasicv2.ay +25 -0
- data/lib/hl/lexers/imported/ceylon.ay +47 -0
- data/lib/hl/lexers/imported/cfengine3.ay +50 -0
- data/lib/hl/lexers/imported/clojure.ay +32 -0
- data/lib/hl/lexers/imported/cmake.ay +38 -0
- data/lib/hl/lexers/imported/cobol.ay +44 -0
- data/lib/hl/lexers/imported/coffeescript.ay +79 -0
- data/lib/hl/lexers/imported/coldfusion.ay +36 -0
- data/lib/hl/lexers/imported/commonlisp.ay +65 -0
- data/lib/hl/lexers/imported/coq.ay +59 -0
- data/lib/hl/lexers/imported/croc.ay +37 -0
- data/lib/hl/lexers/imported/css.ay +55 -0
- data/lib/hl/lexers/imported/cuda.ay +84 -0
- data/lib/hl/lexers/imported/cython.ay +128 -0
- data/lib/hl/lexers/imported/d.ay +102 -0
- data/lib/hl/lexers/imported/darcspatch.ay +45 -0
- data/lib/hl/lexers/imported/dart.ay +84 -0
- data/lib/hl/lexers/imported/debiancontrol.ay +51 -0
- data/lib/hl/lexers/imported/dg.ay +61 -0
- data/lib/hl/lexers/imported/diff.ay +22 -0
- data/lib/hl/lexers/imported/django.ay +46 -0
- data/lib/hl/lexers/imported/dtd.ay +62 -0
- data/lib/hl/lexers/imported/dylan.ay +60 -0
- data/lib/hl/lexers/imported/dylanlid.ay +17 -0
- data/lib/hl/lexers/imported/ecl.ay +57 -0
- data/lib/hl/lexers/imported/elixir.ay +93 -0
- data/lib/hl/lexers/imported/erlang.ay +47 -0
- data/lib/hl/lexers/imported/factor.ay +89 -0
- data/lib/hl/lexers/imported/fancy.ay +54 -0
- data/lib/hl/lexers/imported/fantom.ay +149 -0
- data/lib/hl/lexers/imported/felix.ay +140 -0
- data/lib/hl/lexers/imported/fortran.ay +39 -0
- data/lib/hl/lexers/imported/foxpro.ay +37 -0
- data/lib/hl/lexers/imported/fsharp.ay +61 -0
- data/lib/hl/lexers/imported/gas.ay +51 -0
- data/lib/hl/lexers/imported/gettext.ay +21 -0
- data/lib/hl/lexers/imported/gherkin.ay +97 -0
- data/lib/hl/lexers/imported/glshader.ay +31 -0
- data/lib/hl/lexers/imported/gnuplot.ay +111 -0
- data/lib/hl/lexers/imported/go.ay +40 -0
- data/lib/hl/lexers/imported/gooddatacl.ay +33 -0
- data/lib/hl/lexers/imported/gosu.ay +58 -0
- data/lib/hl/lexers/imported/groff.ay +38 -0
- data/lib/hl/lexers/imported/groovy.ay +45 -0
- data/lib/hl/lexers/imported/haskell.ay +89 -0
- data/lib/hl/lexers/imported/haxe.ay +186 -0
- data/lib/hl/lexers/imported/hxml.ay +22 -0
- data/lib/hl/lexers/imported/hybris.ay +42 -0
- data/lib/hl/lexers/imported/idl.ay +23 -0
- data/lib/hl/lexers/imported/ini.ay +18 -0
- data/lib/hl/lexers/imported/io.ay +34 -0
- data/lib/hl/lexers/imported/ioke.ay +88 -0
- data/lib/hl/lexers/imported/irclogs.ay +24 -0
- data/lib/hl/lexers/imported/jags.ay +36 -0
- data/lib/hl/lexers/imported/java.ay +42 -0
- data/lib/hl/lexers/imported/javascript.ay +45 -0
- data/lib/hl/lexers/imported/json.ay +47 -0
- data/lib/hl/lexers/imported/julia.ay +60 -0
- data/lib/hl/lexers/imported/kconfig.ay +71 -0
- data/lib/hl/lexers/imported/koka.ay +104 -0
- data/lib/hl/lexers/imported/lasso.ay +143 -0
- data/lib/hl/lexers/imported/lighttpdconf.ay +24 -0
- data/lib/hl/lexers/imported/livescript.ay +82 -0
- data/lib/hl/lexers/imported/llvm.ay +36 -0
- data/lib/hl/lexers/imported/logtalk.ay +133 -0
- data/lib/hl/lexers/imported/lua.ay +56 -0
- data/lib/hl/lexers/imported/maql.ay +32 -0
- data/lib/hl/lexers/imported/matlab.ay +43 -0
- data/lib/hl/lexers/imported/minid.ay +37 -0
- data/lib/hl/lexers/imported/modula2.ay +63 -0
- data/lib/hl/lexers/imported/moinwiki.ay +33 -0
- data/lib/hl/lexers/imported/monkey.ay +84 -0
- data/lib/hl/lexers/imported/moocode.ay +26 -0
- data/lib/hl/lexers/imported/moonscript.ay +52 -0
- data/lib/hl/lexers/imported/mscgen.ay +35 -0
- data/lib/hl/lexers/imported/mupad.ay +36 -0
- data/lib/hl/lexers/imported/mysql.ay +37 -0
- data/lib/hl/lexers/imported/nasm.ay +52 -0
- data/lib/hl/lexers/imported/newlisp.ay +34 -0
- data/lib/hl/lexers/imported/newspeak.ay +49 -0
- data/lib/hl/lexers/imported/nginxconf.ay +41 -0
- data/lib/hl/lexers/imported/nimrod.ay +84 -0
- data/lib/hl/lexers/imported/nsis.ay +55 -0
- data/lib/hl/lexers/imported/numpy.ay +116 -0
- data/lib/hl/lexers/imported/objectivej.ay +120 -0
- data/lib/hl/lexers/imported/ocaml.ay +59 -0
- data/lib/hl/lexers/imported/octave.ay +39 -0
- data/lib/hl/lexers/imported/ooc.ay +45 -0
- data/lib/hl/lexers/imported/opa.ay +153 -0
- data/lib/hl/lexers/imported/openedge.ay +40 -0
- data/lib/hl/lexers/imported/perl.ay +130 -0
- data/lib/hl/lexers/imported/php.ay +63 -0
- data/lib/hl/lexers/imported/postscript.ay +39 -0
- data/lib/hl/lexers/imported/povray.ay +28 -0
- data/lib/hl/lexers/imported/powershell.ay +49 -0
- data/lib/hl/lexers/imported/prolog.ay +39 -0
- data/lib/hl/lexers/imported/properties.ay +17 -0
- data/lib/hl/lexers/imported/protobuf.ay +43 -0
- data/lib/hl/lexers/imported/puppet.ay +50 -0
- data/lib/hl/lexers/imported/pypylog.ay +44 -0
- data/lib/hl/lexers/imported/python.ay +116 -0
- data/lib/hl/lexers/imported/python3.ay +113 -0
- data/lib/hl/lexers/imported/qml.ay +47 -0
- data/lib/hl/lexers/imported/racket.ay +62 -0
- data/lib/hl/lexers/imported/ragel.ay +70 -0
- data/lib/hl/lexers/imported/rd.ay +22 -0
- data/lib/hl/lexers/imported/redcode.ay +23 -0
- data/lib/hl/lexers/imported/regedit.ay +25 -0
- data/lib/hl/lexers/imported/rpmspec.ay +57 -0
- data/lib/hl/lexers/imported/rust.ay +56 -0
- data/lib/hl/lexers/imported/s.ay +61 -0
- data/lib/hl/lexers/imported/scala.ay +72 -0
- data/lib/hl/lexers/imported/scheme.ay +31 -0
- data/lib/hl/lexers/imported/scilab.ay +37 -0
- data/lib/hl/lexers/imported/scss.ay +115 -0
- data/lib/hl/lexers/imported/smali.ay +71 -0
- data/lib/hl/lexers/imported/smalltalk.ay +93 -0
- data/lib/hl/lexers/imported/snobol.ay +42 -0
- data/lib/hl/lexers/imported/sourcepawn.ay +58 -0
- data/lib/hl/lexers/imported/sourceslist.ay +37 -0
- data/lib/hl/lexers/imported/sql.ay +31 -0
- data/lib/hl/lexers/imported/squidconf.ay +29 -0
- data/lib/hl/lexers/imported/stan.ay +38 -0
- data/lib/hl/lexers/imported/systemverilog.ay +65 -0
- data/lib/hl/lexers/imported/tcl.ay +110 -0
- data/lib/hl/lexers/imported/tcsh.ay +52 -0
- data/lib/hl/lexers/imported/tex.ay +49 -0
- data/lib/hl/lexers/imported/typescript.ay +51 -0
- data/lib/hl/lexers/imported/vala.ay +70 -0
- data/lib/hl/lexers/imported/vbnet.ay +62 -0
- data/lib/hl/lexers/imported/velocity.ay +50 -0
- data/lib/hl/lexers/imported/verilog.ay +61 -0
- data/lib/hl/lexers/imported/vgl.ay +25 -0
- data/lib/hl/lexers/imported/vhdl.ay +54 -0
- data/lib/hl/lexers/imported/vim.ay +28 -0
- data/lib/hl/lexers/imported/xml.ay +38 -0
- data/lib/hl/lexers/imported/xslt.ay +38 -0
- data/lib/hl/lexers/imported/xtend.ay +48 -0
- data/lib/hl/lexers/ruby.ay +238 -0
- data/lib/hl/state.ay +31 -0
- data/lib/hl/token.ay +8 -0
- data/lib/hl.ay +17 -0
- metadata +244 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
use(require("atomy"))
|
2
|
+
use(require("hl/define"))
|
3
|
+
|
4
|
+
lexer = lexer:
|
5
|
+
name: "Fortran"
|
6
|
+
aliases: ["fortran"]
|
7
|
+
extensions: [".f", ".f90", ".F", ".F90"]
|
8
|
+
mimetypes: ["text/x-fortran"]
|
9
|
+
start: .root
|
10
|
+
flags: Regexp IGNORECASE
|
11
|
+
|
12
|
+
lex(core):
|
13
|
+
r"\b(ABSTRACT|ACCEPT|ALLOCATABLE|ALLOCATE|ARRAY|ASSIGN|ASYNCHRONOUS|BACKSPACE|BIND|BLOCK( DATA)?|BYTE|CALL|CASE|CLASS|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DECODE|DEFERRED|DIMENSION|DO|ELEMENTAL|ELSE|ENCODE|END( FILE)?|ENDIF|ENTRY|ENUMERATOR|EQUIVALENCE|EXIT|EXTERNAL|EXTRINSIC|FINAL|FORALL|FORMAT|FUNCTION|GENERIC|GOTO|IF|IMPLICIT|IMPORT|INCLUDE|INQUIRE|INTENT|INTERFACE|INTRINSIC|MODULE|NAMELIST|NULLIFY|NONE|NON_INTRINSIC|NON_OVERRIDABLE|NOPASS|OPEN|OPTIONAL|OPTIONS|PARAMETER|PASS|PAUSE|POINTER|PRINT|PRIVATE|PROGRAM|PROTECTED|PUBLIC|PURE|READ|RECURSIVE|RESULT|RETURN|REWIND|SAVE|SELECT|SEQUENCE|STOP|SUBROUTINE|TARGET|THEN|TYPE|USE|VALUE|VOLATILE|WHERE|WRITE|WHILE)\s*\b" is(keyword)
|
14
|
+
r"\b(CHARACTER|COMPLEX|DOUBLE PRECISION|DOUBLE COMPLEX|INTEGER|LOGICAL|REAL|C_INT|C_SHORT|C_LONG|C_LONG_LONG|C_SIGNED_CHAR|C_SIZE_T|C_INT8_T|C_INT16_T|C_INT32_T|C_INT64_T|C_INT_LEAST8_T|C_INT_LEAST16_T|C_INT_LEAST32_T|C_INT_LEAST64_T|C_INT_FAST8_T|C_INT_FAST16_T|C_INT_FAST32_T|C_INT_FAST64_T|C_INTMAX_T|C_INTPTR_T|C_FLOAT|C_DOUBLE|C_LONG_DOUBLE|C_FLOAT_COMPLEX|C_DOUBLE_COMPLEX|C_LONG_DOUBLE_COMPLEX|C_BOOL|C_CHAR|C_PTR|C_FUNPTR)\s*\b" is(keyword.type)
|
15
|
+
r"(\*\*|\*|\+|-|\/|<|>|<=|>=|==|\/=|=)" is(operator)
|
16
|
+
r"(::)" is(keyword.declaration)
|
17
|
+
r"[(),:&%;]" is(punctuation)
|
18
|
+
r"\b(Abort|Abs|Access|AChar|ACos|AdjustL|AdjustR|AImag|AInt|Alarm|All|Allocated|ALog|AMax|AMin|AMod|And|ANInt|Any|ASin|Associated|ATan|BesJ|BesJN|BesY|BesYN|Bit_Size|BTest|CAbs|CCos|Ceiling|CExp|Char|ChDir|ChMod|CLog|Cmplx|Command_Argument_Count|Complex|Conjg|Cos|CosH|Count|CPU_Time|CShift|CSin|CSqRt|CTime|C_Funloc|C_Loc|C_Associated|C_Null_Ptr|C_Null_Funptr|C_F_Pointer|C_Null_Char|C_Alert|C_Backspace|C_Form_Feed|C_New_Line|C_Carriage_Return|C_Horizontal_Tab|C_Vertical_Tab|DAbs|DACos|DASin|DATan|Date_and_Time|DbesJ|DbesJ|DbesJN|DbesY|DbesY|DbesYN|Dble|DCos|DCosH|DDiM|DErF|DErFC|DExp|Digits|DiM|DInt|DLog|DLog|DMax|DMin|DMod|DNInt|Dot_Product|DProd|DSign|DSinH|DSin|DSqRt|DTanH|DTan|DTime|EOShift|Epsilon|ErF|ErFC|ETime|Exit|Exp|Exponent|Extends_Type_Of|FDate|FGet|FGetC|Float|Floor|Flush|FNum|FPutC|FPut|Fraction|FSeek|FStat|FTell|GError|GetArg|Get_Command|Get_Command_Argument|Get_Environment_Variable|GetCWD|GetEnv|GetGId|GetLog|GetPId|GetUId|GMTime|HostNm|Huge|IAbs|IAChar|IAnd|IArgC|IBClr|IBits|IBSet|IChar|IDate|IDiM|IDInt|IDNInt|IEOr|IErrNo|IFix|Imag|ImagPart|Index|Int|IOr|IRand|IsaTty|IShft|IShftC|ISign|Iso_C_Binding|Is_Iostat_End|Is_Iostat_Eor|ITime|Kill|Kind|LBound|Len|Len_Trim|LGe|LGt|Link|LLe|LLt|LnBlnk|Loc|Log|Logical|Long|LShift|LStat|LTime|MatMul|Max|MaxExponent|MaxLoc|MaxVal|MClock|Merge|Move_Alloc|Min|MinExponent|MinLoc|MinVal|Mod|Modulo|MvBits|Nearest|New_Line|NInt|Not|Or|Pack|PError|Precision|Present|Product|Radix|Rand|Random_Number|Random_Seed|Range|Real|RealPart|Rename|Repeat|Reshape|RRSpacing|RShift|Same_Type_As|Scale|Scan|Second|Selected_Int_Kind|Selected_Real_Kind|Set_Exponent|Shape|Short|Sign|Signal|SinH|Sin|Sleep|Sngl|Spacing|Spread|SqRt|SRand|Stat|Sum|SymLnk|System|System_Clock|Tan|TanH|Time|Tiny|Transfer|Transpose|Trim|TtyNam|UBound|UMask|Unlink|Unpack|Verify|XOr|ZAbs|ZCos|ZExp|ZLog|ZSin|ZSqRt)\s*\b" is(name.builtin)
|
19
|
+
r"\.(true|false)\." is(name.builtin)
|
20
|
+
r"\.(eq|ne|lt|le|gt|ge|not|and|or|eqv|neqv)\." is(operator.word)
|
21
|
+
|
22
|
+
lex(root):
|
23
|
+
r"!.*\n" is(comment)
|
24
|
+
any-of(strings)
|
25
|
+
any-of(core)
|
26
|
+
r"[a-z][a-z0-9_]*" is(name.variable)
|
27
|
+
any-of(nums)
|
28
|
+
r"[\s]+" is(text)
|
29
|
+
|
30
|
+
lex(strings):
|
31
|
+
r"(?m)\"(\\\\|\\[0-7]+|\\.|[^\"\\])*\"" is(literal.string.double)
|
32
|
+
r"(?m)'(\\\\|\\[0-7]+|\\.|[^'\\])*'" is(literal.string.single)
|
33
|
+
|
34
|
+
lex(nums):
|
35
|
+
r"\d+(?![.Ee])" is(literal.number.integer)
|
36
|
+
r"[+-]?\d*\.\d+([eE][-+]?\d+)?" is(literal.number.float)
|
37
|
+
r"[+-]?\d+\.\d*([eE][-+]?\d+)?" is(literal.number.float)
|
38
|
+
|
39
|
+
const-set(.Lexer, lexer)
|
@@ -0,0 +1,37 @@
|
|
1
|
+
use(require("atomy"))
|
2
|
+
use(require("hl/define"))
|
3
|
+
|
4
|
+
lexer = lexer:
|
5
|
+
name: "FoxPro"
|
6
|
+
aliases: ["Clipper", "XBase"]
|
7
|
+
extensions: [".PRG", ".prg"]
|
8
|
+
mimetypes: []
|
9
|
+
start: .root
|
10
|
+
flags: Regexp IGNORECASE
|
11
|
+
|
12
|
+
lex(newline):
|
13
|
+
r"\*.*?$" is(comment.single) -> pop
|
14
|
+
r"(ACCEPT|ACTIVATE\s*MENU|ACTIVATE\s*POPUP|ACTIVATE\s*SCREEN|ACTIVATE\s*WINDOW|APPEND|APPEND\s*FROM|APPEND\s*FROM\s*ARRAY|APPEND\s*GENERAL|APPEND\s*MEMO|ASSIST|AVERAGE|BLANK|BROWSE|BUILD\s*APP|BUILD\s*EXE|BUILD\s*PROJECT|CALCULATE|CALL|CANCEL|CHANGE|CLEAR|CLOSE|CLOSE\s*MEMO|COMPILE|CONTINUE|COPY\s*FILE|COPY\s*INDEXES|COPY\s*MEMO|COPY\s*STRUCTURE|COPY\s*STRUCTURE\s*EXTENDED|COPY\s*TAG|COPY\s*TO|COPY\s*TO\s*ARRAY|COUNT|CREATE|CREATE\s*COLOR\s*SET|CREATE\s*CURSOR|CREATE\s*FROM|CREATE\s*LABEL|CREATE\s*MENU|CREATE\s*PROJECT|CREATE\s*QUERY|CREATE\s*REPORT|CREATE\s*SCREEN|CREATE\s*TABLE|CREATE\s*VIEW|DDE|DEACTIVATE\s*MENU|DEACTIVATE\s*POPUP|DEACTIVATE\s*WINDOW|DECLARE|DEFINE\s*BAR|DEFINE\s*BOX|DEFINE\s*MENU|DEFINE\s*PAD|DEFINE\s*POPUP|DEFINE\s*WINDOW|DELETE|DELETE\s*FILE|DELETE\s*TAG|DIMENSION|DIRECTORY|DISPLAY|DISPLAY\s*FILES|DISPLAY\s*MEMORY|DISPLAY\s*STATUS|DISPLAY\s*STRUCTURE|DO|EDIT|EJECT|EJECT\s*PAGE|ERASE|EXIT|EXPORT|EXTERNAL|FILER|FIND|FLUSH|FUNCTION|GATHER|GETEXPR|GO|GOTO|HELP|HIDE\s*MENU|HIDE\s*POPUP|HIDE\s*WINDOW|IMPORT|INDEX|INPUT|INSERT|JOIN|KEYBOARD|LABEL|LIST|LOAD|LOCATE|LOOP|MENU|MENU\s*TO|MODIFY\s*COMMAND|MODIFY\s*FILE|MODIFY\s*GENERAL|MODIFY\s*LABEL|MODIFY\s*MEMO|MODIFY\s*MENU|MODIFY\s*PROJECT|MODIFY\s*QUERY|MODIFY\s*REPORT|MODIFY\s*SCREEN|MODIFY\s*STRUCTURE|MODIFY\s*WINDOW|MOVE\s*POPUP|MOVE\s*WINDOW|NOTE|ON\s*APLABOUT|ON\s*BAR|ON\s*ERROR|ON\s*ESCAPE|ON\s*EXIT\s*BAR|ON\s*EXIT\s*MENU|ON\s*EXIT\s*PAD|ON\s*EXIT\s*POPUP|ON\s*KEY|ON\s*KEY\s*=|ON\s*KEY\s*LABEL|ON\s*MACHELP|ON\s*PAD|ON\s*PAGE|ON\s*READERROR|ON\s*SELECTION\s*BAR|ON\s*SELECTION\s*MENU|ON\s*SELECTION\s*PAD|ON\s*SELECTION\s*POPUP|ON\s*SHUTDOWN|PACK|PARAMETERS|PLAY\s*MACRO|POP\s*KEY|POP\s*MENU|POP\s*POPUP|PRIVATE|PROCEDURE|PUBLIC|PUSH\s*KEY|PUSH\s*MENU|PUSH\s*POPUP|QUIT|READ|READ\s*MENU|RECALL|REINDEX|RELEASE|RELEASE\s*MODULE|RENAME|REPLACE|REPLACE\s*FROM\s*ARRAY|REPORT|RESTORE\s*FROM|RESTORE\s*MACROS|RESTORE\s*SCREEN|RESTORE\s*WINDOW|RESUME|RETRY|RETURN|RUN|RUN\s*\/N\"|RUNSCRIPT|SAVE\s*MACROS|SAVE\s*SCREEN|SAVE\s*TO|SAVE\s*WINDOWS|SCATTER|SCROLL|SEEK|SELECT|SET|SET\s*ALTERNATE|SET\s*ANSI|SET\s*APLABOUT|SET\s*AUTOSAVE|SET\s*BELL|SET\s*BLINK|SET\s*BLOCKSIZE|SET\s*BORDER|SET\s*BRSTATUS|SET\s*CARRY|SET\s*CENTURY|SET\s*CLEAR|SET\s*CLOCK|SET\s*COLLATE|SET\s*COLOR\s*OF|SET\s*COLOR\s*OF\s*SCHEME|SET\s*COLOR\s*SET|SET\s*COLOR\s*TO|SET\s*COMPATIBLE|SET\s*CONFIRM|SET\s*CONSOLE|SET\s*CURRENCY|SET\s*CURSOR|SET\s*DATE|SET\s*DEBUG|SET\s*DECIMALS|SET\s*DEFAULT|SET\s*DELETED|SET\s*DELIMITERS|SET\s*DEVELOPMENT|SET\s*DEVICE|SET\s*DISPLAY|SET\s*DOHISTORY|SET\s*ECHO|SET\s*ESCAPE|SET\s*EXACT|SET\s*EXCLUSIVE|SET\s*FIELDS|SET\s*FILTER|SET\s*FIXED|SET\s*FORMAT|SET\s*FULLPATH|SET\s*FUNCTION|SET\s*HEADINGS|SET\s*HELP|SET\s*HELPFILTER|SET\s*HOURS|SET\s*INDEX|SET\s*INTENSITY|SET\s*KEY|SET\s*KEYCOMP|SET\s*LIBRARY|SET\s*LOCK|SET\s*LOGERRORS|SET\s*MACDESKTOP|SET\s*MACHELP|SET\s*MACKEY|SET\s*MARGIN|SET\s*MARK\s*OF|SET\s*MARK\s*TO|SET\s*MEMOWIDTH|SET\s*MESSAGE|SET\s*MOUSE|SET\s*MULTILOCKS|SET\s*NEAR|SET\s*NOCPTRANS|SET\s*NOTIFY|SET\s*ODOMETER|SET\s*OPTIMIZE|SET\s*ORDER|SET\s*PALETTE|SET\s*PATH|SET\s*PDSETUP|SET\s*POINT|SET\s*PRINTER|SET\s*PROCEDURE|SET\s*READBORDER|SET\s*REFRESH|SET\s*RELATION|SET\s*RELATION\s*OFF|SET\s*REPROCESS|SET\s*RESOURCE|SET\s*SAFETY|SET\s*SCOREBOARD|SET\s*SEPARATOR|SET\s*SHADOWS|SET\s*SKIP|SET\s*SKIP\s*OF|SET\s*SPACE|SET\s*STATUS|SET\s*STATUS\s*BAR|SET\s*STEP|SET\s*STICKY|SET\s*SYSMENU|SET\s*TALK|SET\s*TEXTMERGE|SET\s*TEXTMERGE\s*DELIMITERS|SET\s*TOPIC|SET\s*TRBETWEEN|SET\s*TYPEAHEAD|SET\s*UDFPARMS|SET\s*UNIQUE|SET\s*VIEW|SET\s*VOLUME|SET\s*WINDOW\s*OF\s*MEMO|SET\s*XCMDFILE|SHOW\s*GET|SHOW\s*GETS|SHOW\s*MENU|SHOW\s*OBJECT|SHOW\s*POPUP|SHOW\s*WINDOW|SIZE\s*POPUP|SKIP|SORT|STORE|SUM|SUSPEND|TOTAL|TYPE|UNLOCK|UPDATE|USE|WAIT|ZAP|ZOOM\s*WINDOW|DO\s*CASE|CASE|OTHERWISE|ENDCASE|DO\s*WHILE|ENDDO|FOR|ENDFOR|NEXT|IF|ELSE|ENDIF|PRINTJOB|ENDPRINTJOB|SCAN|ENDSCAN|TEXT|ENDTEXT|=)" is(keyword.reserved) -> pop
|
15
|
+
r"\#\s*(IF|ELIF|ELSE|ENDIF|DEFINE|IFDEF|IFNDEF|INCLUDE)" is(comment.preproc) -> pop
|
16
|
+
r"(m\.)?[a-z_]\w*" is(name.variable) -> pop
|
17
|
+
r"." is(text) -> pop
|
18
|
+
|
19
|
+
lex(root):
|
20
|
+
r";\s*\n" is(punctuation)
|
21
|
+
r"(^|\n)\s*" is(text) -> go-to(newline)
|
22
|
+
r"(?<=\w)\[[0-9, ]+\]" is(text)
|
23
|
+
r"\'[^\'\n]*\'|\"[^\"\n]*\"|\[[^]*]\]" is(literal.string)
|
24
|
+
r"(^\s*\*|&&|&&).*?\n" is(comment.single)
|
25
|
+
r"(ABS|ACLASS|ACOPY|ACOS|ADATABASES|ADBOBJECTS|ADDBS|ADDPROPERTY|ADEL|ADIR|ADLLS|ADOCKSTATE|AELEMENT|AERROR|AEVENTS|AFIELDS|AFONT|AGETCLASS|AGETFILEVERSION|AINS|AINSTANCE|ALANGUAGE|ALEN|ALIAS|ALINES|ALLTRIM|AMEMBERS|AMOUSEOBJ|ANETRESOURCES|APRINTERS|APROCINFO|ASC|ASCAN|ASELOBJ|ASESSIONS|ASIN|ASORT|ASQLHANDLES|ASTACKINFO|ASUBSCRIPT|AT|AT_C|ATAGINFO|ATAN|ATC|ATCC|ATCLINE|ATLINE|ATN2|AUSED|AVCXCLASSES|BAR|BARCOUNT|BARPROMPT|BETWEEN|BINDEVENT|BINTOC|BITAND|BITCLEAR|BITLSHIFT|BITNOT|BITOR|BITRSHIFT|BITSET|BITTEST|BITXOR|BOF|CANDIDATE|CAPSLOCK|CAST|CDOW|CDX|CEILING|CHR|CHRSAW|CHRTRAN|CHRTRANC|CLEARRESULTSET|CMONTH|CNTBAR|CNTPAD|COL|COM|Functions|COMARRAY|COMCLASSINFO|COMPOBJ|COMPROP|COMRETURNERROR|COS|CPCONVERT|CPCURRENT|CPDBF|CREATEBINARY|CREATEOBJECT|CREATEOBJECTEX|CREATEOFFLINE|CTOBIN|CTOD|CTOT|CURDIR|CURSORGETPROP|CURSORSETPROP|CURSORTOXML|CURVAL|DATE|DATETIME|DAY|DBC|DBF|DBGETPROP|DBSETPROP|DBUSED|DDEAbortTrans|DDEAdvise|DDEEnabled|DDEExecute|DDEInitiate|DDELastError|DDEPoke|DDERequest|DDESetOption|DDESetService|DDESetTopic|DDETerminate|DEFAULTEXT|DELETED|DESCENDING|DIFFERENCE|DIRECTORY|DISKSPACE|DisplayPath|DMY|DODEFAULT|DOW|DRIVETYPE|DROPOFFLINE|DTOC|DTOR|DTOS|DTOT|EDITSOURCE|EMPTY|EOF|ERROR|EVAL(UATE)?|EVENTHANDLER|EVL|EXECSCRIPT|EXP|FCHSIZE|FCLOSE|FCOUNT|FCREATE|FDATE|FEOF|FERROR|FFLUSH|FGETS|FIELD|FILE|FILETOSTR|FILTER|FKLABEL|FKMAX|FLDLIST|FLOCK|FLOOR|FONTMETRIC|FOPEN|FOR|FORCEEXT|FORCEPATH|FOUND|FPUTS|FREAD|FSEEK|FSIZE|FTIME|FULLPATH|FV|FWRITE|GETAUTOINCVALUE|GETBAR|GETCOLOR|GETCP|GETDIR|GETENV|GETFILE|GETFLDSTATE|GETFONT|GETINTERFACE|GETNEXTMODIFIED|GETOBJECT|GETPAD|GETPEM|GETPICT|GETPRINTER|GETRESULTSET|GETWORDCOUNT|GETWORDNUM|GETCURSORADAPTER|GOMONTH|HEADER|HOME|HOUR|ICASE|IDXCOLLATE|IIF|IMESTATUS|INDBC|INDEXSEEK|INKEY|INLIST|INPUTBOX|INSMODE|INT|ISALPHA|ISBLANK|ISCOLOR|ISDIGIT|ISEXCLUSIVE|ISFLOCKED|ISLEADBYTE|ISLOWER|ISMEMOFETCHED|ISMOUSE|ISNULL|ISPEN|ISREADONLY|ISRLOCKED|ISTRANSACTABLE|ISUPPER|JUSTDRIVE|JUSTEXT|JUSTFNAME|JUSTPATH|JUSTSTEM|KEY|KEYMATCH|LASTKEY|LEFT|LEFTC|LEN|LENC|LIKE|LIKEC|LINENO|LOADPICTURE|LOCFILE|LOCK|LOG|LOG10|LOOKUP|LOWER|LTRIM|LUPDATE|MAKETRANSACTABLE|MAX|MCOL|MDOWN|MDX|MDY|MEMLINES|MEMORY|MENU|MESSAGE|MESSAGEBOX|MIN|MINUTE|MLINE|MOD|MONTH|MRKBAR|MRKPAD|MROW|MTON|MWINDOW|NDX|NEWOBJECT|NORMALIZE|NTOM|NUMLOCK|NVL|OBJNUM|OBJTOCLIENT|OBJVAR|OCCURS|OEMTOANSI|OLDVAL|ON|ORDER|OS|PAD|PADL|PARAMETERS|PAYMENT|PCOL|PCOUNT|PEMSTATUS|PI|POPUP|PRIMARY|PRINTSTATUS|PRMBAR|PRMPAD|PROGRAM|PROMPT|PROPER|PROW|PRTINFO|PUTFILE|PV|QUARTER|RAISEEVENT|RAND|RAT|RATC|RATLINE|RDLEVEL|READKEY|RECCOUNT|RECNO|RECSIZE|REFRESH|RELATION|REPLICATE|REQUERY|RGB|RGBSCHEME|RIGHT|RIGHTC|RLOCK|ROUND|ROW|RTOD|RTRIM|SAVEPICTURE|SCHEME|SCOLS|SEC|SECONDS|SEEK|SELECT|SET|SETFLDSTATE|SETRESULTSET|SIGN|SIN|SKPBAR|SKPPAD|SOUNDEX|SPACE|SQLCANCEL|SQLCOLUMNS|SQLCOMMIT|SQLCONNECT|SQLDISCONNECT|SQLEXEC|SQLGETPROP|SQLIDLEDISCONNECT|SQLMORERESULTS|SQLPREPARE|SQLROLLBACK|SQLSETPROP|SQLSTRINGCONNECT|SQLTABLES|SQRT|SROWS|STR|STRCONV|STREXTRACT|STRTOFILE|STRTRAN|STUFF|STUFFC|SUBSTR|SUBSTRC|SYS|SYSMETRIC|TABLEREVERT|TABLEUPDATE|TAG|TAGCOUNT|TAGNO|TAN|TARGET|TEXTMERGE|TIME|TRANSFORM|TRIM|TTOC|TTOD|TXNLEVEL|TXTWIDTH|TYPE|UNBINDEVENTS|UNIQUE|UPDATED|UPPER|USED|VAL|VARREAD|VARTYPE|VERSION|WBORDER|WCHILD|WCOLS|WDOCKABLE|WEEK|WEXIST|WFONT|WLAST|WLCOL|WLROW|WMAXIMUM|WMINIMUM|WONTOP|WOUTPUT|WPARENT|WREAD|WROWS|WTITLE|WVISIBLE|XMLTOCURSOR|XMLUPDATEGRAM|YEAR)(?=\s*\()" is(name.function)
|
26
|
+
r"_ALIGNMENT|_ASCIICOLS|_ASCIIROWS|_ASSIST|_BEAUTIFY|_BOX|_BROWSER|_BUILDER|_CALCMEM|_CALCVALUE|_CLIPTEXT|_CONVERTER|_COVERAGE|_CUROBJ|_DBLCLICK|_DIARYDATE|_DOS|_FOXDOC|_FOXREF|_GALLERY|_GENGRAPH|_GENHTML|_GENMENU|_GENPD|_GENSCRN|_GENXTAB|_GETEXPR|_INCLUDE|_INCSEEK|_INDENT|_LMARGIN|_MAC|_MENUDESIGNER|_MLINE|_PADVANCE|_PAGENO|_PAGETOTAL|_PBPAGE|_PCOLNO|_PCOPIES|_PDRIVER|_PDSETUP|_PECODE|_PEJECT|_PEPAGE|_PLENGTH|_PLINENO|_PLOFFSET|_PPITCH|_PQUALITY|_PRETEXT|_PSCODE|_PSPACING|_PWAIT|_RMARGIN|_REPORTBUILDER|_REPORTOUTPUT|_REPORTPREVIEW|_SAMPLES|_SCCTEXT|_SCREEN|_SHELL|_SPELLCHK|_STARTUP|_TABS|_TALLY|_TASKPANE|_TEXT|_THROTTLE|_TOOLBOX|_TOOLTIPTIMEOUT|_TRANSPORT|_TRIGGERLEVEL|_UNIX|_VFP|_WINDOWS|_WIZARD|_WRAP" is(keyword.pseudo)
|
27
|
+
r"THISFORMSET|THISFORM|THIS" is(name.builtin)
|
28
|
+
r"Application|CheckBox|Collection|Column|ComboBox|CommandButton|CommandGroup|Container|Control|CursorAdapter|Cursor|Custom|DataEnvironment|DataObject|EditBox|Empty|Exception|Fields|Files|File|FormSet|Form|FoxCode|Grid|Header|Hyperlink|Image|Label|Line|ListBox|Objects|OptionButton|OptionGroup|PageFrame|Page|ProjectHook|Projects|Project|Relation|ReportListener|Separator|Servers|Server|Session|Shape|Spinner|Tables|TextBox|Timer|ToolBar|XMLAdapter|XMLField|XMLTable" is(name.class)
|
29
|
+
r"m\.[a-z_]\w*" is(name.variable)
|
30
|
+
r"\.(F|T|AND|OR|NOT|NULL)\.|\b(AND|OR|NOT|NULL)\b" is(operator.word)
|
31
|
+
r"\.(ActiveColumn|ActiveControl|ActiveForm|ActivePage|ActiveProject|ActiveRow|AddLineFeeds|ADOCodePage|Alias|Alignment|Align|AllowAddNew|AllowAutoColumnFit|AllowCellSelection|AllowDelete|AllowHeaderSizing|AllowInsert|AllowModalMessages|AllowOutput|AllowRowSizing|AllowSimultaneousFetch|AllowTabs|AllowUpdate|AlwaysOnBottom|AlwaysOnTop|Anchor|Application|AutoActivate|AutoCenter|AutoCloseTables|AutoComplete|AutoCompSource|AutoCompTable|AutoHideScrollBar|AutoIncrement|AutoOpenTables|AutoRelease|AutoSize|AutoVerbMenu|AutoYield|BackColor|ForeColor|BackStyle|BaseClass|BatchUpdateCount|BindControls|BorderColor|BorderStyle|BorderWidth|BoundColumn|BoundTo|Bound|BreakOnError|BufferModeOverride|BufferMode|BuildDateTime|ButtonCount|Buttons|Cancel|Caption|Centered|Century|ChildAlias|ChildOrder|ChildTable|ClassLibrary|Class|ClipControls|Closable|CLSID|CodePage|ColorScheme|ColorSource|ColumnCount|ColumnLines|ColumnOrder|Columns|ColumnWidths|CommandClauses|Comment|CompareMemo|ConflictCheckCmd|ConflictCheckType|ContinuousScroll|ControlBox|ControlCount|Controls|ControlSource|ConversionFunc|Count|CurrentControl|CurrentDataSession|CurrentPass|CurrentX|CurrentY|CursorSchema|CursorSource|CursorStatus|Curvature|Database|DataSessionID|DataSession|DataSourceType|DataSource|DataType|DateFormat|DateMark|Debug|DeclareXMLPrefix|DEClassLibrary|DEClass|DefaultFilePath|Default|DefOLELCID|DeleteCmdDataSourceType|DeleteCmdDataSource|DeleteCmd|DeleteMark|Description|Desktop|Details|DisabledBackColor|DisabledForeColor|DisabledItemBackColor|DisabledItemForeColor|DisabledPicture|DisableEncode|DisplayCount|DisplayValue|Dockable|Docked|DockPosition|DocumentFile|DownPicture|DragIcon|DragMode|DrawMode|DrawStyle|DrawWidth|DynamicAlignment|DynamicBackColor|DynamicForeColor|DynamicCurrentControl|DynamicFontBold|DynamicFontItalic|DynamicFontStrikethru|DynamicFontUnderline|DynamicFontName|DynamicFontOutline|DynamicFontShadow|DynamicFontSize|DynamicInputMask|DynamicLineHeight|EditorOptions|Enabled|EnableHyperlinks|Encrypted|ErrorNo|Exclude|Exclusive|FetchAsNeeded|FetchMemoCmdList|FetchMemoDataSourceType|FetchMemoDataSource|FetchMemo|FetchSize|FileClassLibrary|FileClass|FillColor|FillStyle|Filter|FirstElement|FirstNestedTable|Flags|FontBold|FontItalic|FontStrikethru|FontUnderline|FontCharSet|FontCondense|FontExtend|FontName|FontOutline|FontShadow|FontSize|ForceCloseTag|Format|FormCount|FormattedOutput|Forms|FractionDigits|FRXDataSession|FullName|GDIPlusGraphics|GridLineColor|GridLines|GridLineWidth|HalfHeightCaption|HeaderClassLibrary|HeaderClass|HeaderHeight|Height|HelpContextID|HideSelection|HighlightBackColor|HighlightForeColor|HighlightStyle|HighlightRowLineWidth|HighlightRow|Highlight|HomeDir|Hours|HostName|HScrollSmallChange|hWnd|Icon|IncrementalSearch|Increment|InitialSelectedAlias|InputMask|InsertCmdDataSourceType|InsertCmdDataSource|InsertCmdRefreshCmd|InsertCmdRefreshFieldList|InsertCmdRefreshKeyFieldList|InsertCmd|Instancing|IntegralHeight|Interval|IMEMode|IsAttribute|IsBase64|IsBinary|IsNull|IsDiffGram|IsLoaded|ItemBackColor,|ItemData|ItemIDData|ItemTips|IXMLDOMElement|KeyboardHighValue|KeyboardLowValue|Keyfield|KeyFieldList|KeyPreview|KeySort|LanguageOptions|LeftColumn|Left|LineContents|LineNo|LineSlant|LinkMaster|ListCount|ListenerType|ListIndex|ListItemID|ListItem|List|LockColumnsLeft|LockColumns|LockScreen|MacDesktop|MainFile|MapN19_4ToCurrency|MapBinary|MapVarchar|Margin|MaxButton|MaxHeight|MaxLeft|MaxLength|MaxRecords|MaxTop|MaxWidth|MDIForm|MemberClassLibrary|MemberClass|MemoWindow|Message|MinButton|MinHeight|MinWidth|MouseIcon|MousePointer|Movable|MoverBars|MultiSelect|Name|NestedInto|NewIndex|NewItemID|NextSiblingTable|NoCpTrans|NoDataOnLoad|NoData|NullDisplay|NumberOfElements|Object|OLEClass|OLEDragMode|OLEDragPicture|OLEDropEffects|OLEDropHasData|OLEDropMode|OLEDropTextInsertion|OLELCID|OLERequestPendingTimeout|OLEServerBusyRaiseError|OLEServerBusyTimeout|OLETypeAllowed|OneToMany|OpenViews|OpenWindow|Optimize|OrderDirection|Order|OutputPageCount|OutputType|PageCount|PageHeight|PageNo|PageOrder|Pages|PageTotal|PageWidth|PanelLink|Panel|ParentAlias|ParentClass|ParentTable|Parent|Partition|PasswordChar|PictureMargin|PicturePosition|PictureSpacing|PictureSelectionDisplay|PictureVal|Picture|Prepared|PolyPoints|PreserveWhiteSpace|PreviewContainer|PrintJobName|Procedure|PROCESSID|ProgID|ProjectHookClass|ProjectHookLibrary|ProjectHook|QuietMode|ReadCycle|ReadLock|ReadMouse|ReadObject|ReadOnly|ReadSave|ReadTimeout|RecordMark|RecordSourceType|RecordSource|RefreshAlias|RefreshCmdDataSourceType|RefreshCmdDataSource|RefreshCmd|RefreshIgnoreFieldList|RefreshTimeStamp|RelationalExpr|RelativeColumn|RelativeRow|ReleaseType|Resizable|RespectCursorCP|RespectNesting|RightToLeft|RotateFlip|Rotation|RowColChange|RowHeight|RowSourceType|RowSource|ScaleMode|SCCProvider|SCCStatus|ScrollBars|Seconds|SelectCmd|SelectedID|SelectedItemBackColor|SelectedItemForeColor|Selected|SelectionNamespaces|SelectOnEntry|SelLength|SelStart|SelText|SendGDIPlusImage|SendUpdates|ServerClassLibrary|ServerClass|ServerHelpFile|ServerName|ServerProject|ShowTips|ShowInTaskbar|ShowWindow|Sizable|SizeBox|SOM|Sorted|Sparse|SpecialEffect|SpinnerHighValue|SpinnerLowValue|SplitBar|StackLevel|StartMode|StatusBarText|StatusBar|Stretch|StrictDateEntry|Style|TabIndex|Tables|TabOrientation|Tabs|TabStop|TabStretch|TabStyle|Tag|TerminateRead|Text|Themes|ThreadID|TimestampFieldList|TitleBar|ToolTipText|TopIndex|TopItemID|Top|TwoPassProcess|TypeLibCLSID|TypeLibDesc|TypeLibName|Type|Unicode|UpdatableFieldList|UpdateCmdDataSourceType|UpdateCmdDataSource|UpdateCmdRefreshCmd|UpdateCmdRefreshFieldList|UpdateCmdRefreshKeyFieldList|UpdateCmd|UpdateGramSchemaLocation|UpdateGram|UpdateNameList|UpdateType|UseCodePage|UseCursorSchema|UseDeDataSource|UseMemoSize|UserValue|UseTransactions|UTF8Encoded|Value|VersionComments|VersionCompany|VersionCopyright|VersionDescription|VersionNumber|VersionProduct|VersionTrademarks|Version|VFPXMLProgID|ViewPortHeight|ViewPortLeft|ViewPortTop|ViewPortWidth|VScrollSmallChange|View|Visible|VisualEffect|WhatsThisButton|WhatsThisHelpID|WhatsThisHelp|WhereType|Width|WindowList|WindowState|WindowType|WordWrap|WrapCharInCDATA|WrapInCDATA|WrapMemoInCDATA|XMLAdapter|XMLConstraints|XMLNameIsXPath|XMLNamespace|XMLName|XMLPrefix|XMLSchemaLocation|XMLTable|XMLType|XSDfractionDigits|XSDmaxLength|XSDtotalDigits|XSDtype|ZoomBox)" is(name.attribute)
|
32
|
+
r"\.(ActivateCell|AddColumn|AddItem|AddListItem|AddObject|AddProperty|AddTableSchema|AddToSCC|Add|ApplyDiffgram|Attach|AutoFit|AutoOpen|Box|Build|CancelReport|ChangesToCursor|CheckIn|CheckOut|Circle|CleanUp|ClearData|ClearStatus|Clear|CloneObject|CloseTables|Close|Cls|CursorAttach|CursorDetach|CursorFill|CursorRefresh|DataToClip|DelayedMemoFetch|DeleteColumn|Dock|DoMessage|DoScroll|DoStatus|DoVerb|Drag|Draw|Eval|GetData|GetDockState|GetFormat|GetKey|GetLatestVersion|GetPageHeight|GetPageWidth|Help|Hide|IncludePageInOutput|IndexToItemID|ItemIDToIndex|Item|LoadXML|Line|Modify|MoveItem|Move|Nest|OLEDrag|OnPreviewClose|OutputPage|Point|Print|PSet|Quit|ReadExpression|ReadMethod|RecordRefresh|Refresh|ReleaseXML|Release|RemoveFromSCC|RemoveItem|RemoveListItem|RemoveObject|Remove|Render|Requery|RequestData|ResetToDefault|Reset|Run|SaveAsClass|SaveAs|SetAll|SetData|SetFocus|SetFormat|SetMain|SetVar|SetViewPort|ShowWhatsThis|Show|SupportsListenerType|TextHeight|TextWidth|ToCursor|ToXML|UndoCheckOut|Unnest|UpdateStatus|WhatsThisMode|WriteExpression|WriteMethod|ZOrder)" is(name.function)
|
33
|
+
r"\.(Activate|AdjustObjectSize|AfterBand|AfterBuild|AfterCloseTables|AfterCursorAttach|AfterCursorClose|AfterCursorDetach|AfterCursorFill|AfterCursorRefresh|AfterCursorUpdate|AfterDelete|AfterInsert|AfterRecordRefresh|AfterUpdate|AfterDock|AfterReport|AfterRowColChange|BeforeBand|BeforeCursorAttach|BeforeCursorClose|BeforeCursorDetach|BeforeCursorFill|BeforeCursorRefresh|BeforeCursorUpdate|BeforeDelete|BeforeInsert|BeforeDock|BeforeOpenTables|BeforeRecordRefresh|BeforeReport|BeforeRowColChange|BeforeUpdate|Click|dbc_Activate|dbc_AfterAddTable|dbc_AfterAppendProc|dbc_AfterCloseTable|dbc_AfterCopyProc|dbc_AfterCreateConnection|dbc_AfterCreateOffline|dbc_AfterCreateTable|dbc_AfterCreateView|dbc_AfterDBGetProp|dbc_AfterDBSetProp|dbc_AfterDeleteConnection|dbc_AfterDropOffline|dbc_AfterDropTable|dbc_AfterModifyConnection|dbc_AfterModifyProc|dbc_AfterModifyTable|dbc_AfterModifyView|dbc_AfterOpenTable|dbc_AfterRemoveTable|dbc_AfterRenameConnection|dbc_AfterRenameTable|dbc_AfterRenameView|dbc_AfterValidateData|dbc_BeforeAddTable|dbc_BeforeAppendProc|dbc_BeforeCloseTable|dbc_BeforeCopyProc|dbc_BeforeCreateConnection|dbc_BeforeCreateOffline|dbc_BeforeCreateTable|dbc_BeforeCreateView|dbc_BeforeDBGetProp|dbc_BeforeDBSetProp|dbc_BeforeDeleteConnection|dbc_BeforeDropOffline|dbc_BeforeDropTable|dbc_BeforeModifyConnection|dbc_BeforeModifyProc|dbc_BeforeModifyTable|dbc_BeforeModifyView|dbc_BeforeOpenTable|dbc_BeforeRemoveTable|dbc_BeforeRenameConnection|dbc_BeforeRenameTable|dbc_BeforeRenameView|dbc_BeforeValidateData|dbc_CloseData|dbc_Deactivate|dbc_ModifyData|dbc_OpenData|dbc_PackData|DblClick|Deactivate|Deleted|Destroy|DoCmd|DownClick|DragDrop|DragOver|DropDown|ErrorMessage|Error|EvaluateContents|GotFocus|Init|InteractiveChange|KeyPress|LoadReport|Load|LostFocus|Message|MiddleClick|MouseDown|MouseEnter|MouseLeave|MouseMove|MouseUp|MouseWheel|Moved|OLECompleteDrag|OLEDragOver|OLEGiveFeedback|OLESetData|OLEStartDrag|OnMoveItem|Paint|ProgrammaticChange|QueryAddFile|QueryModifyFile|QueryNewFile|QueryRemoveFile|QueryRunFile|QueryUnload|RangeHigh|RangeLow|ReadActivate|ReadDeactivate|ReadShow|ReadValid|ReadWhen|Resize|RightClick|SCCInit|SCCDestroy|Scrolled|Timer|UIEnable|UnDock|UnloadReport|Unload|UpClick|Valid|When)" is(name.function)
|
34
|
+
r"\s+" is(text)
|
35
|
+
r"." is(text)
|
36
|
+
|
37
|
+
const-set(.Lexer, lexer)
|
@@ -0,0 +1,61 @@
|
|
1
|
+
use(require("atomy"))
|
2
|
+
use(require("hl/define"))
|
3
|
+
|
4
|
+
lexer = lexer:
|
5
|
+
name: "FSharp"
|
6
|
+
aliases: ["fsharp"]
|
7
|
+
extensions: [".fs", ".fsi"]
|
8
|
+
mimetypes: ["text/x-fsharp"]
|
9
|
+
start: .root
|
10
|
+
flags: 0
|
11
|
+
|
12
|
+
lex(comment):
|
13
|
+
r"[^(*)]+" is(comment)
|
14
|
+
r"\(\*" is(comment) -> push
|
15
|
+
r"\*\)" is(comment) -> pop
|
16
|
+
r"[(*)]" is(comment)
|
17
|
+
|
18
|
+
lex(root):
|
19
|
+
r"\s+" is(text)
|
20
|
+
r"false|true|\(\)|\[\]" is(name.builtin.pseudo)
|
21
|
+
r"\b([A-Z][A-Za-z0-9_\']*)(?=\s*\.)" is(name.namespace) -> go-to(dotted)
|
22
|
+
r"\b([A-Z][A-Za-z0-9_\']*)" is(name.class)
|
23
|
+
r"//.*?\n" is(comment.single)
|
24
|
+
r"\(\*(?!\))" is(comment) -> go-to(comment)
|
25
|
+
r"\b(abstract|and|as|assert|base|begin|class|default|delegate|do|do!|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|let|let!|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|return!|sig|static|struct|then|to|true|try|type|upcast|use|use!|val|void|when|while|with|yield|yield!)\b" is(keyword)
|
26
|
+
r"(!=|\#|&&|&|\(|\)|\*|\+|,|-\.|->|-|\.\.|\.|::|:=|:>|:|;;|;|<-|<|>]|>|\?\?|\?|\[<|\[>|\[\||\[|]|_|`|{|\|\]|\||}|\126|<@|=|@>)" is(operator)
|
27
|
+
r"([=<>@^|&+\*/$%-]|[!?\126])?[!$%&*+\./:<=>?@^|\126-]" is(operator)
|
28
|
+
r"\b(and|asr|land|lor|lsl|lxor|mod|not|or)\b" is(operator.word)
|
29
|
+
r"\b(unit|int|float|bool|string|char|list|array|byte|sbyte|int16|uint16|uint32|int64|uint64nativeint|unativeint|decimal|void|float32|single|double)\b" is(keyword.type)
|
30
|
+
r"\#[ \t]*(if|endif|else|line|nowarn|light)\b.*?\n" is(comment.preproc)
|
31
|
+
r"[^\W\d][\w']*" is(name)
|
32
|
+
r"\d[\d_]*" is(literal.number.integer)
|
33
|
+
r"0[xX][\da-fA-F][\da-fA-F_]*" is(literal.number.hex)
|
34
|
+
r"0[oO][0-7][0-7_]*" is(literal.number.oct)
|
35
|
+
r"0[bB][01][01_]*" is(literal.number.binary)
|
36
|
+
r"-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)" is(literal.number.float)
|
37
|
+
r"'(?:(\\[\\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'" is(literal.string.char)
|
38
|
+
r"'.'" is(literal.string.char)
|
39
|
+
r"'" is(keyword)
|
40
|
+
r"\"" is(literal.string.double) -> go-to(string)
|
41
|
+
r"[\126?][a-z][\w\']*:" is(name.variable)
|
42
|
+
|
43
|
+
lex(string):
|
44
|
+
r"[^\\\"]+" is(literal.string.double)
|
45
|
+
any-of(escape-sequence)
|
46
|
+
r"\\\n" is(literal.string.double)
|
47
|
+
r"\"" is(literal.string.double) -> pop
|
48
|
+
|
49
|
+
lex(escape-sequence):
|
50
|
+
r"\\[\\\\"\'ntbr]" is(literal.string.escape)
|
51
|
+
r"\\[0-9]{3}" is(literal.string.escape)
|
52
|
+
r"\\x[0-9a-fA-F]{2}" is(literal.string.escape)
|
53
|
+
|
54
|
+
lex(dotted):
|
55
|
+
r"\s+" is(text)
|
56
|
+
r"\." is(punctuation)
|
57
|
+
r"[A-Z][A-Za-z0-9_\']*(?=\s*\.)" is(name.namespace)
|
58
|
+
r"[A-Z][A-Za-z0-9_\']*" is(name.class) -> pop
|
59
|
+
r"[a-z_][A-Za-z0-9_\']*" is(name) -> pop
|
60
|
+
|
61
|
+
const-set(.Lexer, lexer)
|
@@ -0,0 +1,51 @@
|
|
1
|
+
use(require("atomy"))
|
2
|
+
use(require("hl/define"))
|
3
|
+
|
4
|
+
lexer = lexer:
|
5
|
+
name: "GAS"
|
6
|
+
aliases: ["gas"]
|
7
|
+
extensions: [".s", ".S"]
|
8
|
+
mimetypes: ["text/x-gas"]
|
9
|
+
start: .root
|
10
|
+
flags: 0
|
11
|
+
|
12
|
+
lex(directive-args):
|
13
|
+
r"(?:[a-zA-Z$_][a-zA-Z$._0-9@-]*|\.[a-zA-Z$._0-9@-]+)" is(name.constant)
|
14
|
+
r"\"(\\\"|[^\"])*\"" is(literal.string)
|
15
|
+
r"@(?:[a-zA-Z$_][a-zA-Z$._0-9@-]*|\.[a-zA-Z$._0-9@-]+)" is(name.attribute)
|
16
|
+
r"(?:0[xX][a-zA-Z0-9]+|\d+)" is(literal.number.integer)
|
17
|
+
r"[\r\n]+" is(text) -> pop
|
18
|
+
r"\#.*?$" is(comment) -> pop
|
19
|
+
any-of(punctuation)
|
20
|
+
any-of(whitespace)
|
21
|
+
|
22
|
+
lex(punctuation):
|
23
|
+
r"[-*,.():]+" is(punctuation)
|
24
|
+
|
25
|
+
lex(root):
|
26
|
+
any-of(whitespace)
|
27
|
+
r"(?:[a-zA-Z$_][a-zA-Z$._0-9@-]*|\.[a-zA-Z$._0-9@-]+):" is(name.label)
|
28
|
+
r"\.(?:[a-zA-Z$_][a-zA-Z$._0-9@-]*|\.[a-zA-Z$._0-9@-]+)" is(name.attribute) -> go-to(directive-args)
|
29
|
+
r"lock|rep(n?z)?|data\d+" is(name.attribute)
|
30
|
+
r"(?:[a-zA-Z$_][a-zA-Z$._0-9@-]*|\.[a-zA-Z$._0-9@-]+)" is(name.function) -> go-to(instruction-args)
|
31
|
+
r"[\r\n]+" is(text)
|
32
|
+
|
33
|
+
lex(whitespace):
|
34
|
+
r"\n" is(text)
|
35
|
+
r"\s+" is(text)
|
36
|
+
r"\#.*?\n" is(comment)
|
37
|
+
|
38
|
+
lex(instruction-args):
|
39
|
+
r"([a-z0-9]+)( )(<)((?:[a-zA-Z$_][a-zA-Z$._0-9@-]*|\.[a-zA-Z$._0-9@-]+))(>)" is(by-groups(literal.number.hex, text, punctuation, name.constant, punctuation))
|
40
|
+
r"([a-z0-9]+)( )(<)((?:[a-zA-Z$_][a-zA-Z$._0-9@-]*|\.[a-zA-Z$._0-9@-]+))([-+])((?:0[xX][a-zA-Z0-9]+|\d+))(>)" is(by-groups(literal.number.hex, text, punctuation, name.constant, punctuation, literal.number.integer, punctuation))
|
41
|
+
r"(?:[a-zA-Z$_][a-zA-Z$._0-9@-]*|\.[a-zA-Z$._0-9@-]+)" is(name.constant)
|
42
|
+
r"(?:0[xX][a-zA-Z0-9]+|\d+)" is(literal.number.integer)
|
43
|
+
r"%(?:[a-zA-Z$_][a-zA-Z$._0-9@-]*|\.[a-zA-Z$._0-9@-]+)" is(name.variable)
|
44
|
+
r"$(?:0[xX][a-zA-Z0-9]+|\d+)" is(literal.number.integer)
|
45
|
+
r"$'(.|\\')'" is(literal.string.char)
|
46
|
+
r"[\r\n]+" is(text) -> pop
|
47
|
+
r"\#.*?$" is(comment) -> pop
|
48
|
+
any-of(punctuation)
|
49
|
+
any-of(whitespace)
|
50
|
+
|
51
|
+
const-set(.Lexer, lexer)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
use(require("atomy"))
|
2
|
+
use(require("hl/define"))
|
3
|
+
|
4
|
+
lexer = lexer:
|
5
|
+
name: "Gettext Catalog"
|
6
|
+
aliases: ["pot", "po"]
|
7
|
+
extensions: [".pot", ".po"]
|
8
|
+
mimetypes: ["application/x-gettext", "text/x-gettext", "text/gettext"]
|
9
|
+
start: .root
|
10
|
+
flags: 0
|
11
|
+
|
12
|
+
lex(root):
|
13
|
+
r"^\#,\s.*?$" is(keyword.type)
|
14
|
+
r"^\#:\s.*?$" is(keyword.declaration)
|
15
|
+
r"^(\#|\#\.\s|\#\|\s|\#\126\s|\#\s).*$" is(comment.single)
|
16
|
+
r"^(\")([A-Za-z-]+:)(.*\")$" is(by-groups(literal.string, name.property, literal.string))
|
17
|
+
r"^\".*\"$" is(literal.string)
|
18
|
+
r"^(msgid|msgid_plural|msgstr)(\s+)(\".*\")$" is(by-groups(name.variable, text, literal.string))
|
19
|
+
r"^(msgstr\[)(\d)(\])(\s+)(\".*\")$" is(by-groups(name.variable, literal.number.integer, name.variable, text, literal.string))
|
20
|
+
|
21
|
+
const-set(.Lexer, lexer)
|
@@ -0,0 +1,97 @@
|
|
1
|
+
use(require("atomy"))
|
2
|
+
use(require("hl/define"))
|
3
|
+
|
4
|
+
lexer = lexer:
|
5
|
+
name: "Gherkin"
|
6
|
+
aliases: ["Cucumber", "cucumber", "Gherkin", "gherkin"]
|
7
|
+
extensions: [".feature"]
|
8
|
+
mimetypes: ["text/x-gherkin"]
|
9
|
+
start: .root
|
10
|
+
flags: 0
|
11
|
+
|
12
|
+
lex(double-string):
|
13
|
+
r"\"" is(name.function) -> pop
|
14
|
+
any-of(string)
|
15
|
+
|
16
|
+
lex(examples-table-header):
|
17
|
+
r"\s+\|\s*$" is(keyword) -> pop(2)
|
18
|
+
any-of(comments)
|
19
|
+
r"\s*\|" is(keyword)
|
20
|
+
r"[^\|]" is(name.variable)
|
21
|
+
|
22
|
+
lex(table-vars):
|
23
|
+
r"(<[^>]+>)" is(name.variable)
|
24
|
+
|
25
|
+
lex(string):
|
26
|
+
any-of(table-vars)
|
27
|
+
r"(\s|.)" is(literal.string)
|
28
|
+
|
29
|
+
lex(py-string):
|
30
|
+
r"\"\"\"" is(keyword) -> pop
|
31
|
+
any-of(string)
|
32
|
+
|
33
|
+
lex(root):
|
34
|
+
r"\n" is(name.function)
|
35
|
+
any-of(comments)
|
36
|
+
r"\"\"\"" is(keyword) -> go-to(py-string)
|
37
|
+
r"\s+\|" is(keyword) -> go-to(table-content)
|
38
|
+
r"\"" is(name.function) -> go-to(double-string)
|
39
|
+
any-of(table-vars)
|
40
|
+
any-of(numbers)
|
41
|
+
r"(\s*)(@[^@\r\n\t ]+)" is(by-groups(name.function, name.tag))
|
42
|
+
r"^(\s*)(\54616\51648\47564|\51312\44148|\47676\51200|\47564\51068|\47564\50557|\45800|\44536\47532\44256|\44536\47084\47732|\37027\40636|\37027\20040|\32780\19988|\30070|\24403|\21069\25552|\20551\35373|\20551\22914|\20294\26159|\20294\12375|\20006\19988|\12418\12375|\12394\12425\12400|\12383\12384\12375|\12375\12363\12375|\12363\12388|\1608 |\1605\1578\1609 |\1604\1603\1606 |\1593\1606\1583\1605\1575 |\1579\1605 |\1576\1601\1585\1590 |\1575\1584\1575\1611 |\1499\1488\1513\1512 |\1493\1490\1501 |\1489\1492\1497\1504\1514\1503 |\1488\1494\1497 |\1488\1494 |\1488\1489\1500 |\1071\1082\1097\1086 |\1059\1085\1076\1072 |\1058\1086 |\1055\1088\1080\1087\1091\1089\1090\1080\1084\1086, \1097\1086 |\1055\1088\1080\1087\1091\1089\1090\1080\1084\1086 |\1054\1085\1076\1072 |\1053\1086 |\1053\1077\1093\1072\1081 |\1051\1077\1082\1080\1085 |\1050\1086\1075\1072\1090\1086 |\1050\1072\1076\1072 |\1050\1072\1076 |\1050 \1090\1086\1084\1091 \1078\1077 |\1048 |\1047\1072\1076\1072\1090\1086 |\1047\1072\1076\1072\1090\1080 |\1047\1072\1076\1072\1090\1077 |\1045\1089\1083\1080 |\1044\1086\1087\1091\1089\1090\1080\1084 |\1044\1072\1076\1077\1085\1086 |\1042\1072 |\1041\1080\1088\1086\1082 |\1040\1084\1084\1086 |\1040\1083\1080 |\1040\1083\1077 |\1040\1075\1072\1088 |\1040 |\1030 |\536i |\201s |Zatati |Zak\322adaj\261c |Zadato |Zadate |Zadano |Zadani |Zadan |Youse know when youse got |Youse know like when |Yna |Ya know how |Ya gotta |Y |Wun |Wtedy |When y\'all |When |Wenn |WEN |V\224 |Ve |Und |Un |Th\236 |Then y\'all |Then |Tapi |Tak |Tada |Tad |S\229 |Stel |Soit |Siis |Si |Sed |Se |Quando |Quand |Quan |Pryd |Pokud |Pokia\318 |Per\242 |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |N\229r |N\228r |Niin |Nh\432ng |N |Mutta |Men |Mas |Maka |Majd |Mais |Maar |Ma |Lorsque |Lorsqu\'|Kun |Kuid |Kui |Khi |Ke\271 |Ketika |Kdy\382 |Kaj |Kai |Kada |Kad |Je\380eli |Ja |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y\'all |Given |Gitt |Gegeven |Gegeben sei |Fakat |E\287er ki |Etant donn\233 |Et |Ent\227o |Entonces |Entao |En |Eeldades |E |Duota |Dun |Donita\309o |Donat |Donada |Do |Diyelim ki |Dengan |Den youse gotta |De |Dato |Dar |Dann |Dan |Dado |Dac\259 |Daca |DEN |C\226nd |Cuando |Cho |Cept |Cand |Cal |But y\'all |But |Buh |Bi\7871t |Bet |BUT |At\232s |Atunci |Atesa |Anrhegedig a |Angenommen |And y\'all |And |An |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Aber |AN |A tak\233 |A |\* )" is(by-groups(name.function, keyword)) -> go-to(step-content-root)
|
43
|
+
r"^(\44592\45733|\27231\33021|\21151\33021|\12501\12451\12540\12481\12515|\1582\1575\1589\1610\1577|\1514\1499\1493\1504\1492|\1060\1091\1085\1082\1094\1110\1086\1085\1072\1083|\1060\1091\1085\1082\1094\1080\1086\1085\1072\1083\1085\1086\1089\1090|\1060\1091\1085\1082\1094\1080\1086\1085\1072\1083|\1060\1080\1095\1072|\1054\1089\1086\1073\1080\1085\1072|\1052\1086\1075\1091\1115\1085\1086\1089\1090|\214zellik|W\322a\347ciwo\347\263|T\237nh n\259ng|Trajto|Savyb\279|Po\382iadavka|Po\382adavek|Osobina|Ominaisuus|Omadus|OH HAI|Mogu\263nost|Mogucnost|Jellemz\337|F\299\269a|Funzionalit\224|Funktionalit\228t|Funkcionalnost|Funkcionalit\257te|Func\539ionalitate|Functionaliteit|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalit\233|Fitur|Feature|Egenskap|Egenskab|Crikey|Caracter\237stica|Arwedd)(:)(.*)$" is(by-groups(keyword, keyword, name.function)) -> go-to(narrative)
|
44
|
+
r"^(\s*)(\49884\45208\47532\50724 \44060\50836|\49884\45208\47532\50724|\48176\44221|\32972\26223|\22580\26223\22823\32177|\22580\26223|\22330\26223\22823\32434|\22330\26223|\21127\26412\22823\32177|\21127\26412|\12486\12531\12503\12524|\12471\12490\12522\12458\12486\12531\12503\12524\12540\12488|\12471\12490\12522\12458\12486\12531\12503\12524|\12471\12490\12522\12458\12450\12454\12488\12521\12452\12531|\12471\12490\12522\12458|\1587\1610\1606\1575\1585\1610\1608 \1605\1582\1591\1591|\1587\1610\1606\1575\1585\1610\1608|\1575\1604\1582\1604\1601\1610\1577|\1514\1512\1495\1497\1513|\1514\1489\1504\1497\1514 \1514\1512\1495\1497\1513|\1512\1511\1506|\1058\1072\1088\1080\1093|\1057\1094\1077\1085\1072\1088\1110\1081|\1057\1094\1077\1085\1072\1088\1080\1086|\1057\1094\1077\1085\1072\1088\1080\1081 \1089\1090\1088\1091\1082\1090\1091\1088\1072\1089\1080|\1057\1094\1077\1085\1072\1088\1080\1081|\1057\1090\1088\1091\1082\1090\1091\1088\1072 \1089\1094\1077\1085\1072\1088\1110\1102|\1057\1090\1088\1091\1082\1090\1091\1088\1072 \1089\1094\1077\1085\1072\1088\1080\1112\1072|\1057\1090\1088\1091\1082\1090\1091\1088\1072 \1089\1094\1077\1085\1072\1088\1080\1103|\1057\1082\1080\1094\1072|\1056\1072\1084\1082\1072 \1085\1072 \1089\1094\1077\1085\1072\1088\1080\1081|\1055\1088\1080\1084\1077\1088|\1055\1088\1077\1076\1099\1089\1090\1086\1088\1080\1103|\1055\1088\1077\1076\1080\1089\1090\1086\1088\1080\1103|\1055\1086\1079\1072\1076\1080\1085\1072|\1055\1077\1088\1077\1076\1091\1084\1086\1074\1072|\1054\1089\1085\1086\1074\1072|\1050\1086\1085\1094\1077\1087\1090|\1050\1086\1085\1090\1077\1082\1089\1090|Za\322o\380enia|Wharrimean is|T\236nh hu\7889ng|The thing of it is|Tausta|Taust|Tapausaihio|Tapaus|Szenariogrundriss|Szenario|Szablon scenariusza|Stsenaarium|Struktura scenarija|Skica|Skenario konsep|Skenario|Situ\257cija|Senaryo tasla\287\305|Senaryo|Sc\233n\225\345|Sc\233nario|Schema dello scenario|Scen\257rijs p\275c parauga|Scen\257rijs|Scen\225r|Scenaro|Scenariusz|Scenariul de \351ablon|Scenariul de sablon|Scenariu|Scenario Outline|Scenario Amlinellol|Scenario|Scenarijus|Scenarijaus \353ablonas|Scenarij|Scenarie|Rerefons|Raamstsenaarium|Primer|Pozad\237|Pozadina|Pozadie|Plan du sc\233nario|Plan du Sc\233nario|Osnova sc\233n\225\345e|Osnova|N\225\269rt Sc\233n\225\345e|N\225\269rt Scen\225ru|Mate|MISHUN SRSLY|MISHUN|K\7883ch b\7843n|Konturo de la scenaro|Kontext|Konteksts|Kontekstas|Kontekst|Koncept|Khung t\236nh hu\7889ng|Khung k\7883ch b\7843n|H\225tt\233r|Grundlage|Ge\231mi\351|Forgat\243k\246nyv v\225zlat|Forgat\243k\246nyv|Fono|Esquema do Cen\225rio|Esquema do Cenario|Esquema del escenario|Esquema de l\'escenari|Escenario|Escenari|Dis is what went down|Dasar|Contexto|Contexte|Contesto|Condi\355ii|Conditii|Cen\225rio|Cenario|Cefndir|B\7889i c\7843nh|Blokes|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|All y\'all|Achtergrond|Abstrakt Scenario|Abstract Scenario)(:)(.*)$" is(by-groups(name.function, keyword, keyword, name.function)) -> go-to(feature-elements)
|
45
|
+
r"^(\s*)(\50696|\20363\23376|\20363|\12469\12531\12503\12523|\1575\1605\1579\1604\1577|\1491\1493\1490\1502\1488\1493\1514|\1057\1094\1077\1085\1072\1088\1080\1112\1080|\1055\1088\1080\1084\1077\1088\1080|\1055\1088\1080\1082\1083\1072\1076\1080|\1052\1080\1089\1086\1083\1083\1072\1088|\1047\1085\1072\1095\1077\1085\1080\1103|\214rnekler|Voorbeelden|Variantai|Tapaukset|Scenarios|Scenariji|Scenarijai|P\345\237klady|P\233ld\225k|Pr\237klady|Przyk\322ady|Primjeri|Primeri|Piem\275ri|Pavyzd\382iai|Paraugs|Juhtumid|Exemplos|Exemples|Exemplele|Exempel|Examples|Esempi|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|EXAMPLZ|D\7919 li\7879u|Contoh|Cobber|Beispiele)(:)(.*)$" is(by-groups(name.function, keyword, keyword, name.function)) -> go-to(examples-table)
|
46
|
+
r"(\s|.)" is(name.function)
|
47
|
+
|
48
|
+
lex(examples-table):
|
49
|
+
r"\s+\|" is(keyword) -> go-to(examples-table-header)
|
50
|
+
any-of(comments)
|
51
|
+
r"(\s|.)" is(name.function)
|
52
|
+
|
53
|
+
lex(comments):
|
54
|
+
r"\#.*$" is(comment)
|
55
|
+
|
56
|
+
lex(scenario-sections-on-stack):
|
57
|
+
r"^(\s*)(\49884\45208\47532\50724 \44060\50836|\49884\45208\47532\50724|\48176\44221|\32972\26223|\22580\26223\22823\32177|\22580\26223|\22330\26223\22823\32434|\22330\26223|\21127\26412\22823\32177|\21127\26412|\12486\12531\12503\12524|\12471\12490\12522\12458\12486\12531\12503\12524\12540\12488|\12471\12490\12522\12458\12486\12531\12503\12524|\12471\12490\12522\12458\12450\12454\12488\12521\12452\12531|\12471\12490\12522\12458|\1587\1610\1606\1575\1585\1610\1608 \1605\1582\1591\1591|\1587\1610\1606\1575\1585\1610\1608|\1575\1604\1582\1604\1601\1610\1577|\1514\1512\1495\1497\1513|\1514\1489\1504\1497\1514 \1514\1512\1495\1497\1513|\1512\1511\1506|\1058\1072\1088\1080\1093|\1057\1094\1077\1085\1072\1088\1110\1081|\1057\1094\1077\1085\1072\1088\1080\1086|\1057\1094\1077\1085\1072\1088\1080\1081 \1089\1090\1088\1091\1082\1090\1091\1088\1072\1089\1080|\1057\1094\1077\1085\1072\1088\1080\1081|\1057\1090\1088\1091\1082\1090\1091\1088\1072 \1089\1094\1077\1085\1072\1088\1110\1102|\1057\1090\1088\1091\1082\1090\1091\1088\1072 \1089\1094\1077\1085\1072\1088\1080\1112\1072|\1057\1090\1088\1091\1082\1090\1091\1088\1072 \1089\1094\1077\1085\1072\1088\1080\1103|\1057\1082\1080\1094\1072|\1056\1072\1084\1082\1072 \1085\1072 \1089\1094\1077\1085\1072\1088\1080\1081|\1055\1088\1080\1084\1077\1088|\1055\1088\1077\1076\1099\1089\1090\1086\1088\1080\1103|\1055\1088\1077\1076\1080\1089\1090\1086\1088\1080\1103|\1055\1086\1079\1072\1076\1080\1085\1072|\1055\1077\1088\1077\1076\1091\1084\1086\1074\1072|\1054\1089\1085\1086\1074\1072|\1050\1086\1085\1094\1077\1087\1090|\1050\1086\1085\1090\1077\1082\1089\1090|Za\322o\380enia|Wharrimean is|T\236nh hu\7889ng|The thing of it is|Tausta|Taust|Tapausaihio|Tapaus|Szenariogrundriss|Szenario|Szablon scenariusza|Stsenaarium|Struktura scenarija|Skica|Skenario konsep|Skenario|Situ\257cija|Senaryo tasla\287\305|Senaryo|Sc\233n\225\345|Sc\233nario|Schema dello scenario|Scen\257rijs p\275c parauga|Scen\257rijs|Scen\225r|Scenaro|Scenariusz|Scenariul de \351ablon|Scenariul de sablon|Scenariu|Scenario Outline|Scenario Amlinellol|Scenario|Scenarijus|Scenarijaus \353ablonas|Scenarij|Scenarie|Rerefons|Raamstsenaarium|Primer|Pozad\237|Pozadina|Pozadie|Plan du sc\233nario|Plan du Sc\233nario|Osnova sc\233n\225\345e|Osnova|N\225\269rt Sc\233n\225\345e|N\225\269rt Scen\225ru|Mate|MISHUN SRSLY|MISHUN|K\7883ch b\7843n|Konturo de la scenaro|Kontext|Konteksts|Kontekstas|Kontekst|Koncept|Khung t\236nh hu\7889ng|Khung k\7883ch b\7843n|H\225tt\233r|Grundlage|Ge\231mi\351|Forgat\243k\246nyv v\225zlat|Forgat\243k\246nyv|Fono|Esquema do Cen\225rio|Esquema do Cenario|Esquema del escenario|Esquema de l\'escenari|Escenario|Escenari|Dis is what went down|Dasar|Contexto|Contexte|Contesto|Condi\355ii|Conditii|Cen\225rio|Cenario|Cefndir|B\7889i c\7843nh|Blokes|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|All y\'all|Achtergrond|Abstrakt Scenario|Abstract Scenario)(:)(.*)$" is(by-groups(name.function, keyword, keyword, name.function)) -> go-to(feature-elements-on-stack)
|
58
|
+
|
59
|
+
lex(step-content-root):
|
60
|
+
r"$" is(keyword) -> pop
|
61
|
+
any-of(step-content)
|
62
|
+
|
63
|
+
lex(numbers):
|
64
|
+
r"(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?" is(literal.string)
|
65
|
+
|
66
|
+
lex(feature-elements):
|
67
|
+
r"^(\s*)(\54616\51648\47564|\51312\44148|\47676\51200|\47564\51068|\47564\50557|\45800|\44536\47532\44256|\44536\47084\47732|\37027\40636|\37027\20040|\32780\19988|\30070|\24403|\21069\25552|\20551\35373|\20551\22914|\20294\26159|\20294\12375|\20006\19988|\12418\12375|\12394\12425\12400|\12383\12384\12375|\12375\12363\12375|\12363\12388|\1608 |\1605\1578\1609 |\1604\1603\1606 |\1593\1606\1583\1605\1575 |\1579\1605 |\1576\1601\1585\1590 |\1575\1584\1575\1611 |\1499\1488\1513\1512 |\1493\1490\1501 |\1489\1492\1497\1504\1514\1503 |\1488\1494\1497 |\1488\1494 |\1488\1489\1500 |\1071\1082\1097\1086 |\1059\1085\1076\1072 |\1058\1086 |\1055\1088\1080\1087\1091\1089\1090\1080\1084\1086, \1097\1086 |\1055\1088\1080\1087\1091\1089\1090\1080\1084\1086 |\1054\1085\1076\1072 |\1053\1086 |\1053\1077\1093\1072\1081 |\1051\1077\1082\1080\1085 |\1050\1086\1075\1072\1090\1086 |\1050\1072\1076\1072 |\1050\1072\1076 |\1050 \1090\1086\1084\1091 \1078\1077 |\1048 |\1047\1072\1076\1072\1090\1086 |\1047\1072\1076\1072\1090\1080 |\1047\1072\1076\1072\1090\1077 |\1045\1089\1083\1080 |\1044\1086\1087\1091\1089\1090\1080\1084 |\1044\1072\1076\1077\1085\1086 |\1042\1072 |\1041\1080\1088\1086\1082 |\1040\1084\1084\1086 |\1040\1083\1080 |\1040\1083\1077 |\1040\1075\1072\1088 |\1040 |\1030 |\536i |\201s |Zatati |Zak\322adaj\261c |Zadato |Zadate |Zadano |Zadani |Zadan |Youse know when youse got |Youse know like when |Yna |Ya know how |Ya gotta |Y |Wun |Wtedy |When y\'all |When |Wenn |WEN |V\224 |Ve |Und |Un |Th\236 |Then y\'all |Then |Tapi |Tak |Tada |Tad |S\229 |Stel |Soit |Siis |Si |Sed |Se |Quando |Quand |Quan |Pryd |Pokud |Pokia\318 |Per\242 |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |N\229r |N\228r |Niin |Nh\432ng |N |Mutta |Men |Mas |Maka |Majd |Mais |Maar |Ma |Lorsque |Lorsqu\'|Kun |Kuid |Kui |Khi |Ke\271 |Ketika |Kdy\382 |Kaj |Kai |Kada |Kad |Je\380eli |Ja |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y\'all |Given |Gitt |Gegeven |Gegeben sei |Fakat |E\287er ki |Etant donn\233 |Et |Ent\227o |Entonces |Entao |En |Eeldades |E |Duota |Dun |Donita\309o |Donat |Donada |Do |Diyelim ki |Dengan |Den youse gotta |De |Dato |Dar |Dann |Dan |Dado |Dac\259 |Daca |DEN |C\226nd |Cuando |Cho |Cept |Cand |Cal |But y\'all |But |Buh |Bi\7871t |Bet |BUT |At\232s |Atunci |Atesa |Anrhegedig a |Angenommen |And y\'all |And |An |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Aber |AN |A tak\233 |A |\* )" is(keyword) -> go-to(step-content-stack)
|
68
|
+
any-of(comments)
|
69
|
+
r"(\s|.)" is(name.function)
|
70
|
+
|
71
|
+
lex(narrative):
|
72
|
+
any-of(scenario-sections-on-stack)
|
73
|
+
r"(\s|.)" is(name.function)
|
74
|
+
|
75
|
+
lex(feature-elements-on-stack):
|
76
|
+
r"^(\s*)(\54616\51648\47564|\51312\44148|\47676\51200|\47564\51068|\47564\50557|\45800|\44536\47532\44256|\44536\47084\47732|\37027\40636|\37027\20040|\32780\19988|\30070|\24403|\21069\25552|\20551\35373|\20551\22914|\20294\26159|\20294\12375|\20006\19988|\12418\12375|\12394\12425\12400|\12383\12384\12375|\12375\12363\12375|\12363\12388|\1608 |\1605\1578\1609 |\1604\1603\1606 |\1593\1606\1583\1605\1575 |\1579\1605 |\1576\1601\1585\1590 |\1575\1584\1575\1611 |\1499\1488\1513\1512 |\1493\1490\1501 |\1489\1492\1497\1504\1514\1503 |\1488\1494\1497 |\1488\1494 |\1488\1489\1500 |\1071\1082\1097\1086 |\1059\1085\1076\1072 |\1058\1086 |\1055\1088\1080\1087\1091\1089\1090\1080\1084\1086, \1097\1086 |\1055\1088\1080\1087\1091\1089\1090\1080\1084\1086 |\1054\1085\1076\1072 |\1053\1086 |\1053\1077\1093\1072\1081 |\1051\1077\1082\1080\1085 |\1050\1086\1075\1072\1090\1086 |\1050\1072\1076\1072 |\1050\1072\1076 |\1050 \1090\1086\1084\1091 \1078\1077 |\1048 |\1047\1072\1076\1072\1090\1086 |\1047\1072\1076\1072\1090\1080 |\1047\1072\1076\1072\1090\1077 |\1045\1089\1083\1080 |\1044\1086\1087\1091\1089\1090\1080\1084 |\1044\1072\1076\1077\1085\1086 |\1042\1072 |\1041\1080\1088\1086\1082 |\1040\1084\1084\1086 |\1040\1083\1080 |\1040\1083\1077 |\1040\1075\1072\1088 |\1040 |\1030 |\536i |\201s |Zatati |Zak\322adaj\261c |Zadato |Zadate |Zadano |Zadani |Zadan |Youse know when youse got |Youse know like when |Yna |Ya know how |Ya gotta |Y |Wun |Wtedy |When y\'all |When |Wenn |WEN |V\224 |Ve |Und |Un |Th\236 |Then y\'all |Then |Tapi |Tak |Tada |Tad |S\229 |Stel |Soit |Siis |Si |Sed |Se |Quando |Quand |Quan |Pryd |Pokud |Pokia\318 |Per\242 |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |N\229r |N\228r |Niin |Nh\432ng |N |Mutta |Men |Mas |Maka |Majd |Mais |Maar |Ma |Lorsque |Lorsqu\'|Kun |Kuid |Kui |Khi |Ke\271 |Ketika |Kdy\382 |Kaj |Kai |Kada |Kad |Je\380eli |Ja |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y\'all |Given |Gitt |Gegeven |Gegeben sei |Fakat |E\287er ki |Etant donn\233 |Et |Ent\227o |Entonces |Entao |En |Eeldades |E |Duota |Dun |Donita\309o |Donat |Donada |Do |Diyelim ki |Dengan |Den youse gotta |De |Dato |Dar |Dann |Dan |Dado |Dac\259 |Daca |DEN |C\226nd |Cuando |Cho |Cept |Cand |Cal |But y\'all |But |Buh |Bi\7871t |Bet |BUT |At\232s |Atunci |Atesa |Anrhegedig a |Angenommen |And y\'all |And |An |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Aber |AN |A tak\233 |A |\* )" is(keyword) -> pop(2)
|
77
|
+
any-of(comments)
|
78
|
+
r"(\s|.)" is(name.function)
|
79
|
+
|
80
|
+
lex(table-content):
|
81
|
+
r"\s+\|\s*$" is(keyword) -> pop
|
82
|
+
any-of(comments)
|
83
|
+
r"\s*\|" is(keyword)
|
84
|
+
any-of(string)
|
85
|
+
|
86
|
+
lex(step-content):
|
87
|
+
r"\"" is(name.function) -> go-to(double-string)
|
88
|
+
any-of(table-vars)
|
89
|
+
any-of(numbers)
|
90
|
+
any-of(comments)
|
91
|
+
r"(\s|.)" is(name.function)
|
92
|
+
|
93
|
+
lex(step-content-stack):
|
94
|
+
r"$" is(keyword) -> pop(2)
|
95
|
+
any-of(step-content)
|
96
|
+
|
97
|
+
const-set(.Lexer, lexer)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
use(require("atomy"))
|
2
|
+
use(require("hl/define"))
|
3
|
+
|
4
|
+
lexer = lexer:
|
5
|
+
name: "GLSL"
|
6
|
+
aliases: ["glsl"]
|
7
|
+
extensions: [".vert", ".frag", ".geo"]
|
8
|
+
mimetypes: ["text/x-glslsrc"]
|
9
|
+
start: .root
|
10
|
+
flags: 0
|
11
|
+
|
12
|
+
lex(root):
|
13
|
+
r"^\#.*" is(comment.preproc)
|
14
|
+
r"//.*" is(comment.single)
|
15
|
+
r"/(\\\n)?[*](.|\n)*?[*](\\\n)?/" is(comment.multiline)
|
16
|
+
r"\+|-|\126|!=?|\*|/|%|<<|>>|<=?|>=?|==?|&&?|\^|\|\|?" is(operator)
|
17
|
+
r"[?:]" is(operator)
|
18
|
+
r"\bdefined\b" is(operator)
|
19
|
+
r"[;{}(),\[\]]" is(punctuation)
|
20
|
+
r"[+-]?\d*\.\d+([eE][-+]?\d+)?" is(literal.number.float)
|
21
|
+
r"[+-]?\d+\.\d*([eE][-+]?\d+)?" is(literal.number.float)
|
22
|
+
r"0[xX][0-9a-fA-F]*" is(literal.number.hex)
|
23
|
+
r"0[0-7]*" is(literal.number.oct)
|
24
|
+
r"[1-9][0-9]*" is(literal.number.integer)
|
25
|
+
r"\b(attribute|const|uniform|varying|centroid|break|continue|do|for|while|if|else|in|out|inout|float|int|void|bool|true|false|invariant|discard|return|mat[234]|mat[234]x[234]|vec[234]|[ib]vec[234]|sampler[123]D|samplerCube|sampler[12]DShadow|struct)\b" is(keyword)
|
26
|
+
r"\b(asm|class|union|enum|typedef|template|this|packed|goto|switch|default|inline|noinline|volatile|public|static|extern|external|interface|long|short|double|half|fixed|unsigned|lowp|mediump|highp|precision|input|output|hvec[234]|[df]vec[234]|sampler[23]DRect|sampler2DRectShadow|sizeof|cast|namespace|using)\b" is(keyword)
|
27
|
+
r"[a-zA-Z_][a-zA-Z_0-9]*" is(name)
|
28
|
+
r"\." is(punctuation)
|
29
|
+
r"\s+" is(text)
|
30
|
+
|
31
|
+
const-set(.Lexer, lexer)
|
@@ -0,0 +1,111 @@
|
|
1
|
+
use(require("atomy"))
|
2
|
+
use(require("hl/define"))
|
3
|
+
|
4
|
+
lexer = lexer:
|
5
|
+
name: "Gnuplot"
|
6
|
+
aliases: ["gnuplot"]
|
7
|
+
extensions: [".plot", ".plt"]
|
8
|
+
mimetypes: ["text/x-gnuplot"]
|
9
|
+
start: .root
|
10
|
+
flags: 0
|
11
|
+
|
12
|
+
lex(comment):
|
13
|
+
r"[^\\\n]" is(comment)
|
14
|
+
r"\\\n" is(comment)
|
15
|
+
r"\\" is(comment)
|
16
|
+
r"" is(comment) -> pop
|
17
|
+
|
18
|
+
lex(plot):
|
19
|
+
r"axes\b|axe\b|ax\b|axis\b|axi\b|binary\b|binar\b|bina\b|bin\b|every\b|ever\b|eve\b|ev\b|index\b|inde\b|ind\b|in\b|i\b|matrix\b|matri\b|matr\b|mat\b|smooth\b|smoot\b|smoo\b|smo\b|sm\b|s\b|thru\b|title\b|titl\b|tit\b|ti\b|t\b|notitle\b|notitl\b|notit\b|noti\b|not\b|using\b|usin\b|usi\b|us\b|u\b|with\b|wit\b|wi\b|w\b" is(name.builtin)
|
20
|
+
any-of(genericargs)
|
21
|
+
|
22
|
+
lex(pause):
|
23
|
+
r"(mouse|any|button1|button2|button3)\b" is(name.builtin)
|
24
|
+
r"keypress\b|keypres\b|keypre\b|keypr\b|keyp\b|key\b" is(name.builtin)
|
25
|
+
any-of(genericargs)
|
26
|
+
|
27
|
+
lex(dqstring):
|
28
|
+
r"\"" is(literal.string) -> pop
|
29
|
+
r"\\([\\abfnrtv\"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})" is(literal.string.escape)
|
30
|
+
r"[^\\\"\n]+" is(literal.string)
|
31
|
+
r"\\\n" is(literal.string)
|
32
|
+
r"\\" is(literal.string)
|
33
|
+
r"\n" is(literal.string) -> pop
|
34
|
+
|
35
|
+
lex(if):
|
36
|
+
r"\)" is(punctuation) -> pop
|
37
|
+
any-of(genericargs)
|
38
|
+
|
39
|
+
lex(quit):
|
40
|
+
r"gnuplot\b" is(keyword)
|
41
|
+
any-of(noargs)
|
42
|
+
|
43
|
+
lex(sqstring):
|
44
|
+
r"''" is(literal.string)
|
45
|
+
r"'" is(literal.string) -> pop
|
46
|
+
r"[^\\'\n]+" is(literal.string)
|
47
|
+
r"\\\n" is(literal.string)
|
48
|
+
r"\\" is(literal.string)
|
49
|
+
r"\n" is(literal.string) -> pop
|
50
|
+
|
51
|
+
lex(whitespace):
|
52
|
+
r"\#" is(comment) -> go-to(comment)
|
53
|
+
r"[ \t\v\f]+" is(text)
|
54
|
+
|
55
|
+
lex(fit):
|
56
|
+
r"via\b" is(name.builtin)
|
57
|
+
any-of(plot)
|
58
|
+
|
59
|
+
lex(bind):
|
60
|
+
r"!" is(keyword) -> pop
|
61
|
+
r"allwindows\b|allwindow\b|allwindo\b|allwind\b|allwin\b|allwi\b|allw\b|all\b" is(name.builtin)
|
62
|
+
any-of(genericargs)
|
63
|
+
|
64
|
+
lex(optionarg):
|
65
|
+
any-of(whitespace)
|
66
|
+
r"all\b|al\b|a\b|angles\b|angle\b|angl\b|ang\b|an\b|arrow\b|arro\b|arr\b|ar\b|autoscale\b|autoscal\b|autosca\b|autosc\b|autos\b|auto\b|aut\b|au\b|bars\b|bar\b|ba\b|b\b|border\b|borde\b|bord\b|bor\b|boxwidth\b|boxwidt\b|boxwid\b|boxwi\b|boxw\b|box\b|clabel\b|clabe\b|clab\b|cla\b|cl\b|clip\b|cli\b|cl\b|c\b|cntrparam\b|cntrpara\b|cntrpar\b|cntrpa\b|cntrp\b|cntr\b|cnt\b|cn\b|contour\b|contou\b|conto\b|cont\b|con\b|co\b|data\b|dat\b|da\b|datafile\b|datafil\b|datafi\b|dataf\b|data\b|dgrid3d\b|dgrid3\b|dgrid\b|dgri\b|dgr\b|dg\b|dummy\b|dumm\b|dum\b|du\b|encoding\b|encodin\b|encodi\b|encod\b|enco\b|enc\b|decimalsign\b|decimalsig\b|decimalsi\b|decimals\b|decimal\b|decima\b|decim\b|deci\b|dec\b|fit\b|fontpath\b|fontpat\b|fontpa\b|fontp\b|font\b|format\b|forma\b|form\b|for\b|fo\b|function\b|functio\b|functi\b|funct\b|func\b|fun\b|fu\b|functions\b|function\b|functio\b|functi\b|funct\b|func\b|fun\b|fu\b|grid\b|gri\b|gr\b|g\b|hidden3d\b|hidden3\b|hidden\b|hidde\b|hidd\b|hid\b|historysize\b|historysiz\b|historysi\b|historys\b|history\b|histor\b|histo\b|hist\b|his\b|isosamples\b|isosample\b|isosampl\b|isosamp\b|isosam\b|isosa\b|isos\b|iso\b|is\b|key\b|ke\b|k\b|keytitle\b|keytitl\b|keytit\b|keyti\b|keyt\b|label\b|labe\b|lab\b|la\b|linestyle\b|linestyl\b|linesty\b|linest\b|lines\b|line\b|lin\b|li\b|ls\b|loadpath\b|loadpat\b|loadpa\b|loadp\b|load\b|loa\b|locale\b|local\b|loca\b|loc\b|logscale\b|logscal\b|logsca\b|logsc\b|logs\b|log\b|macros\b|macro\b|macr\b|mac\b|mapping\b|mappin\b|mappi\b|mapp\b|map\b|mapping3d\b|mapping3\b|mapping\b|mappin\b|mappi\b|mapp\b|map\b|margin\b|margi\b|marg\b|mar\b|lmargin\b|lmargi\b|lmarg\b|lmar\b|rmargin\b|rmargi\b|rmarg\b|rmar\b|tmargin\b|tmargi\b|tmarg\b|tmar\b|bmargin\b|bmargi\b|bmarg\b|bmar\b|mouse\b|mous\b|mou\b|mo\b|multiplot\b|multiplo\b|multipl\b|multip\b|multi\b|mxtics\b|mxtic\b|mxti\b|mxt\b|nomxtics\b|nomxtic\b|nomxti\b|nomxt\b|mx2tics\b|mx2tic\b|mx2ti\b|mx2t\b|nomx2tics\b|nomx2tic\b|nomx2ti\b|nomx2t\b|mytics\b|mytic\b|myti\b|myt\b|nomytics\b|nomytic\b|nomyti\b|nomyt\b|my2tics\b|my2tic\b|my2ti\b|my2t\b|nomy2tics\b|nomy2tic\b|nomy2ti\b|nomy2t\b|mztics\b|mztic\b|mzti\b|mzt\b|nomztics\b|nomztic\b|nomzti\b|nomzt\b|mcbtics\b|mcbtic\b|mcbti\b|mcbt\b|nomcbtics\b|nomcbtic\b|nomcbti\b|nomcbt\b|offsets\b|offset\b|offse\b|offs\b|off\b|of\b|origin\b|origi\b|orig\b|ori\b|or\b|output\b|outpu\b|outp\b|out\b|ou\b|o\b|parametric\b|parametri\b|parametr\b|paramet\b|parame\b|param\b|para\b|par\b|pa\b|pm3d\b|pm3\b|pm\b|palette\b|palett\b|palet\b|pale\b|pal\b|colorbox\b|colorbo\b|colorb\b|plot\b|plo\b|pl\b|p\b|pointsize\b|pointsiz\b|pointsi\b|points\b|point\b|poin\b|poi\b|polar\b|pola\b|pol\b|print\b|prin\b|pri\b|pr\b|object\b|objec\b|obje\b|obj\b|samples\b|sample\b|sampl\b|samp\b|sam\b|sa\b|size\b|siz\b|si\b|style\b|styl\b|sty\b|st\b|surface\b|surfac\b|surfa\b|surf\b|sur\b|su\b|table\b|terminal\b|termina\b|termin\b|termi\b|term\b|ter\b|te\b|t\b|termoptions\b|termoption\b|termoptio\b|termopti\b|termopt\b|termop\b|termo\b|tics\b|tic\b|ti\b|ticscale\b|ticscal\b|ticsca\b|ticsc\b|ticslevel\b|ticsleve\b|ticslev\b|ticsle\b|ticsl\b|timefmt\b|timefm\b|timef\b|timestamp\b|timestam\b|timesta\b|timest\b|times\b|time\b|tim\b|title\b|titl\b|tit\b|variables\b|variable\b|variabl\b|variab\b|varia\b|vari\b|var\b|va\b|v\b|version\b|versio\b|versi\b|vers\b|ver\b|ve\b|view\b|vie\b|vi\b|xyplane\b|xyplan\b|xypla\b|xypl\b|xyp\b|xdata\b|xdat\b|xda\b|x2data\b|x2dat\b|x2da\b|ydata\b|ydat\b|yda\b|y2data\b|y2dat\b|y2da\b|zdata\b|zdat\b|zda\b|cbdata\b|cbdat\b|cbda\b|xlabel\b|xlabe\b|xlab\b|xla\b|xl\b|x2label\b|x2labe\b|x2lab\b|x2la\b|x2l\b|ylabel\b|ylabe\b|ylab\b|yla\b|yl\b|y2label\b|y2labe\b|y2lab\b|y2la\b|y2l\b|zlabel\b|zlabe\b|zlab\b|zla\b|zl\b|cblabel\b|cblabe\b|cblab\b|cbla\b|cbl\b|xtics\b|xtic\b|xti\b|noxtics\b|noxtic\b|noxti\b|x2tics\b|x2tic\b|x2ti\b|nox2tics\b|nox2tic\b|nox2ti\b|ytics\b|ytic\b|yti\b|noytics\b|noytic\b|noyti\b|y2tics\b|y2tic\b|y2ti\b|noy2tics\b|noy2tic\b|noy2ti\b|ztics\b|ztic\b|zti\b|noztics\b|noztic\b|nozti\b|cbtics\b|cbtic\b|cbti\b|nocbtics\b|nocbtic\b|nocbti\b|xdtics\b|xdtic\b|xdti\b|noxdtics\b|noxdtic\b|noxdti\b|x2dtics\b|x2dtic\b|x2dti\b|nox2dtics\b|nox2dtic\b|nox2dti\b|ydtics\b|ydtic\b|ydti\b|noydtics\b|noydtic\b|noydti\b|y2dtics\b|y2dtic\b|y2dti\b|noy2dtics\b|noy2dtic\b|noy2dti\b|zdtics\b|zdtic\b|zdti\b|nozdtics\b|nozdtic\b|nozdti\b|cbdtics\b|cbdtic\b|cbdti\b|nocbdtics\b|nocbdtic\b|nocbdti\b|xmtics\b|xmtic\b|xmti\b|noxmtics\b|noxmtic\b|noxmti\b|x2mtics\b|x2mtic\b|x2mti\b|nox2mtics\b|nox2mtic\b|nox2mti\b|ymtics\b|ymtic\b|ymti\b|noymtics\b|noymtic\b|noymti\b|y2mtics\b|y2mtic\b|y2mti\b|noy2mtics\b|noy2mtic\b|noy2mti\b|zmtics\b|zmtic\b|zmti\b|nozmtics\b|nozmtic\b|nozmti\b|cbmtics\b|cbmtic\b|cbmti\b|nocbmtics\b|nocbmtic\b|nocbmti\b|xrange\b|xrang\b|xran\b|xra\b|xr\b|x2range\b|x2rang\b|x2ran\b|x2ra\b|x2r\b|yrange\b|yrang\b|yran\b|yra\b|yr\b|y2range\b|y2rang\b|y2ran\b|y2ra\b|y2r\b|zrange\b|zrang\b|zran\b|zra\b|zr\b|cbrange\b|cbrang\b|cbran\b|cbra\b|cbr\b|rrange\b|rrang\b|rran\b|rra\b|rr\b|trange\b|trang\b|tran\b|tra\b|tr\b|urange\b|urang\b|uran\b|ura\b|ur\b|vrange\b|vrang\b|vran\b|vra\b|vr\b|xzeroaxis\b|xzeroaxi\b|xzeroax\b|xzeroa\b|x2zeroaxis\b|x2zeroaxi\b|x2zeroax\b|x2zeroa\b|yzeroaxis\b|yzeroaxi\b|yzeroax\b|yzeroa\b|y2zeroaxis\b|y2zeroaxi\b|y2zeroax\b|y2zeroa\b|zzeroaxis\b|zzeroaxi\b|zzeroax\b|zzeroa\b|zeroaxis\b|zeroaxi\b|zeroax\b|zeroa\b|zero\b|zer\b|ze\b|z\b" is(name.builtin) -> pop
|
67
|
+
|
68
|
+
lex(genericargs):
|
69
|
+
any-of(noargs)
|
70
|
+
r"\"" is(literal.string) -> go-to(dqstring)
|
71
|
+
r"'" is(literal.string) -> go-to(sqstring)
|
72
|
+
r"(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+" is(literal.number.float)
|
73
|
+
r"(\d+\.\d*|\.\d+)" is(literal.number.float)
|
74
|
+
r"-?\d+" is(literal.number.integer)
|
75
|
+
r"[,.\126!%^&*+=|?:<>/-]" is(operator)
|
76
|
+
r"[{}()\[\]]" is(punctuation)
|
77
|
+
r"(eq|ne)\b" is(operator.word)
|
78
|
+
r"([a-zA-Z_][a-zA-Z0-9_]*)(\s*)(\()" is(by-groups(name.function, text, punctuation))
|
79
|
+
r"[a-zA-Z_][a-zA-Z0-9_]*" is(name)
|
80
|
+
r"@[a-zA-Z_][a-zA-Z0-9_]*" is(name.constant)
|
81
|
+
r"\\\n" is(text)
|
82
|
+
|
83
|
+
lex(noargs):
|
84
|
+
any-of(whitespace)
|
85
|
+
r";" is(punctuation) -> pop
|
86
|
+
r"\n" is(text) -> pop
|
87
|
+
|
88
|
+
lex(save):
|
89
|
+
r"functions\b|function\b|functio\b|functi\b|funct\b|func\b|fun\b|fu\b|f\b|set\b|se\b|s\b|terminal\b|termina\b|termin\b|termi\b|term\b|ter\b|te\b|t\b|variables\b|variable\b|variabl\b|variab\b|varia\b|vari\b|var\b|va\b|v\b" is(name.builtin)
|
90
|
+
any-of(genericargs)
|
91
|
+
|
92
|
+
lex(root):
|
93
|
+
any-of(whitespace)
|
94
|
+
r"bind\b|bin\b|bi\b" is(keyword) -> go-to(bind)
|
95
|
+
r"exit\b|exi\b|ex\b|quit\b|qui\b|qu\b|q\b" is(keyword) -> go-to(quit)
|
96
|
+
r"fit\b|fi\b|f\b" is(keyword) -> go-to(fit)
|
97
|
+
r"(if)(\s*)(\()" is(by-groups(keyword, text, punctuation)) -> go-to(if)
|
98
|
+
r"else\b" is(keyword)
|
99
|
+
r"pause\b|paus\b|pau\b|pa\b" is(keyword) -> go-to(pause)
|
100
|
+
r"plot\b|plo\b|pl\b|p\b|replot\b|replo\b|repl\b|rep\b|splot\b|splo\b|spl\b|sp\b" is(keyword) -> go-to(plot)
|
101
|
+
r"save\b|sav\b|sa\b" is(keyword) -> go-to(save)
|
102
|
+
r"set\b|se\b" is(keyword) -> do-all(go-to(genericargs), go-to(optionarg))
|
103
|
+
r"show\b|sho\b|sh\b|unset\b|unse\b|uns\b" is(keyword) -> do-all(go-to(noargs), go-to(optionarg))
|
104
|
+
r"lower\b|lowe\b|low\b|raise\b|rais\b|rai\b|ra\b|call\b|cal\b|ca\b|cd\b|clear\b|clea\b|cle\b|cl\b|help\b|hel\b|he\b|h\b|\?\b|history\b|histor\b|histo\b|hist\b|his\b|hi\b|load\b|loa\b|lo\b|l\b|print\b|prin\b|pri\b|pr\b|pwd\b|reread\b|rerea\b|rere\b|rer\b|re\b|reset\b|rese\b|res\b|screendump\b|screendum\b|screendu\b|screend\b|screen\b|scree\b|scre\b|scr\b|shell\b|shel\b|she\b|system\b|syste\b|syst\b|sys\b|sy\b|update\b|updat\b|upda\b|upd\b|up\b" is(keyword) -> go-to(genericargs)
|
105
|
+
r"pwd\b|reread\b|rerea\b|rere\b|rer\b|re\b|reset\b|rese\b|res\b|screendump\b|screendum\b|screendu\b|screend\b|screen\b|scree\b|scre\b|scr\b|shell\b|shel\b|she\b|test\b" is(keyword) -> go-to(noargs)
|
106
|
+
r"([a-zA-Z_][a-zA-Z0-9_]*)(\s*)(=)" is(by-groups(name.variable, text, operator)) -> go-to(genericargs)
|
107
|
+
r"([a-zA-Z_][a-zA-Z0-9_]*)(\s*\(.*?\)\s*)(=)" is(by-groups(name.function, text, operator)) -> go-to(genericargs)
|
108
|
+
r"@[a-zA-Z_][a-zA-Z0-9_]*" is(name.constant)
|
109
|
+
r";" is(keyword)
|
110
|
+
|
111
|
+
const-set(.Lexer, lexer)
|
@@ -0,0 +1,40 @@
|
|
1
|
+
use(require("atomy"))
|
2
|
+
use(require("hl/define"))
|
3
|
+
|
4
|
+
lexer = lexer:
|
5
|
+
name: "Go"
|
6
|
+
aliases: ["go"]
|
7
|
+
extensions: [".go"]
|
8
|
+
mimetypes: ["text/x-gosrc"]
|
9
|
+
start: .root
|
10
|
+
flags: 0
|
11
|
+
|
12
|
+
lex(root):
|
13
|
+
r"\n" is(text)
|
14
|
+
r"\s+" is(text)
|
15
|
+
r"\\\n" is(text)
|
16
|
+
r"//(.*?)\n" is(comment.single)
|
17
|
+
r"/(\\\n)?[*](.|\n)*?[*](\\\n)?/" is(comment.multiline)
|
18
|
+
r"(import|package)\b" is(keyword.namespace)
|
19
|
+
r"(var|func|struct|map|chan|type|interface|const)\b" is(keyword.declaration)
|
20
|
+
r"(break|default|select|case|defer|go|else|goto|switch|fallthrough|if|range|continue|for|return)\b" is(keyword)
|
21
|
+
r"(true|false|iota|nil)\b" is(keyword.constant)
|
22
|
+
r"(uint|uint8|uint16|uint32|uint64|int|int8|int16|int32|int64|float|float32|float64|complex64|complex128|byte|rune|string|bool|error|uintptr|print|println|panic|recover|close|complex|real|imag|len|cap|append|copy|delete|new|make)\b(\()" is(by-groups(name.builtin, punctuation))
|
23
|
+
r"(uint|uint8|uint16|uint32|uint64|int|int8|int16|int32|int64|float|float32|float64|complex64|complex128|byte|rune|string|bool|error|uintptr)\b" is(keyword.type)
|
24
|
+
r"\d+i" is(literal.number)
|
25
|
+
r"\d+\.\d*([Ee][-+]\d+)?i" is(literal.number)
|
26
|
+
r"\.\d+([Ee][-+]\d+)?i" is(literal.number)
|
27
|
+
r"\d+[Ee][-+]\d+i" is(literal.number)
|
28
|
+
r"\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)" is(literal.number.float)
|
29
|
+
r"\.\d+([eE][+\-]?\d+)?" is(literal.number.float)
|
30
|
+
r"0[0-7]+" is(literal.number.oct)
|
31
|
+
r"0[xX][0-9a-fA-F]+" is(literal.number.hex)
|
32
|
+
r"(0|[1-9][0-9]*)" is(literal.number.integer)
|
33
|
+
r"'(\\['\"\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])'" is(literal.string.char)
|
34
|
+
r"`[^`]*`" is(literal.string)
|
35
|
+
r"\"(\\\\|\\\"|[^\"])*\"" is(literal.string)
|
36
|
+
r"(<<=|>>=|<<|>>|<=|>=|&\^=|&\^|\+=|-=|\*=|/=|%=|&=|\|=|&&|\|\||<-|\+\+|--|==|!=|:=|\.\.\.|[+\-*/%&])" is(operator)
|
37
|
+
r"[|^<>=!()\[\]{}.,;:]" is(punctuation)
|
38
|
+
r"[a-zA-Z_]\w*" is(name.other)
|
39
|
+
|
40
|
+
const-set(.Lexer, lexer)
|
@@ -0,0 +1,33 @@
|
|
1
|
+
use(require("atomy"))
|
2
|
+
use(require("hl/define"))
|
3
|
+
|
4
|
+
lexer = lexer:
|
5
|
+
name: "GoodData-CL"
|
6
|
+
aliases: ["gooddata-cl"]
|
7
|
+
extensions: [".gdc"]
|
8
|
+
mimetypes: ["text/x-gooddata-cl"]
|
9
|
+
start: .root
|
10
|
+
flags: Regexp IGNORECASE
|
11
|
+
|
12
|
+
lex(args-list):
|
13
|
+
r"\)" is(punctuation) -> pop
|
14
|
+
r"," is(punctuation)
|
15
|
+
r"[a-zA-Z]\w*" is(name.variable)
|
16
|
+
r"=" is(operator)
|
17
|
+
r"\"" is(literal.string) -> go-to(string-literal)
|
18
|
+
r"[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]{1,3})?" is(literal.number)
|
19
|
+
r"\s" is(text)
|
20
|
+
|
21
|
+
lex(root):
|
22
|
+
r"\#.*" is(comment.single)
|
23
|
+
r"[a-zA-Z]\w*" is(name.function)
|
24
|
+
r"\(" is(punctuation) -> go-to(args-list)
|
25
|
+
r";" is(punctuation)
|
26
|
+
r"\s+" is(text)
|
27
|
+
|
28
|
+
lex(string-literal):
|
29
|
+
r"\\[tnrfbae\"\\]" is(literal.string.escape)
|
30
|
+
r"\"" is(literal.string) -> pop
|
31
|
+
r"[^\\\"]+" is(literal.string)
|
32
|
+
|
33
|
+
const-set(.Lexer, lexer)
|