update go to 1.20, bump deps
This commit is contained in:
+4
-3
@@ -37,7 +37,7 @@ translators for Pygments lexers and styles.
|
||||
|
||||
Prefix | Language
|
||||
:----: | --------
|
||||
A | ABAP, ABNF, ActionScript, ActionScript 3, Ada, Angular2, ANTLR, ApacheConf, APL, AppleScript, Arduino, Awk
|
||||
A | ABAP, ABNF, ActionScript, ActionScript 3, Ada, Angular2, ANTLR, ApacheConf, APL, AppleScript, ArangoDB AQL, Arduino, Awk
|
||||
B | Ballerina, Bash, Batchfile, BibTeX, Bicep, BlitzBasic, BNF, Brainfuck, BQN
|
||||
C | C, C#, C++, Caddyfile, Caddyfile Directives, Cap'n Proto, Cassandra CQL, Ceylon, CFEngine3, cfstatement, ChaiScript, Chapel, Cheetah, Clojure, CMake, COBOL, CoffeeScript, Common Lisp, Coq, Crystal, CSS, Cython
|
||||
D | D, Dart, Diff, Django/Jinja, Docker, DTD, Dylan
|
||||
@@ -55,7 +55,7 @@ O | Objective-C, OCaml, Octave, OnesEnterprise, OpenEdge ABL, OpenSCAD, Org Mode
|
||||
P | PacmanConf, Perl, PHP, PHTML, Pig, PkgConfig, PL/pgSQL, plaintext, Pony, PostgreSQL SQL dialect, PostScript, POVRay, PowerShell, Prolog, PromQL, Properties, Protocol Buffer, PSL, Puppet, Python 2, Python
|
||||
Q | QBasic
|
||||
R | R, Racket, Ragel, Raku, react, ReasonML, reg, reStructuredText, Rexx, Ruby, Rust
|
||||
S | SAS, Sass, Scala, Scheme, Scilab, SCSS, Sed, Smalltalk, Smarty, Snobol, Solidity, SPARQL, SQL, SquidConf, Standard ML, stas, Stylus, Svelte, Swift, SYSTEMD, systemverilog
|
||||
S | SAS, Sass, Scala, Scheme, Scilab, SCSS, Sed, Smali, Smalltalk, Smarty, Snobol, Solidity, SPARQL, SQL, SquidConf, Standard ML, stas, Stylus, Svelte, Swift, SYSTEMD, systemverilog
|
||||
T | TableGen, TASM, Tcl, Tcsh, Termcap, Terminfo, Terraform, TeX, Thrift, TOML, TradingView, Transact-SQL, Turing, Turtle, Twig, TypeScript, TypoScript, TypoScriptCssData, TypoScriptHtmlData
|
||||
V | VB.net, verilog, VHDL, VHS, VimL, vue
|
||||
W | WDTE
|
||||
@@ -281,7 +281,7 @@ for that setup the `chroma` executable can be just symlinked to `~/.lessfilter`.
|
||||
|
||||
<a id="markdown-testing-lexers" name="testing-lexers"></a>
|
||||
## Testing lexers
|
||||
If you edit some lexers and want to test it, open a shell in `cmd/chromad` and run:
|
||||
If you edit some lexers and want to try it, open a shell in `cmd/chromad` and run:
|
||||
```shell
|
||||
go run .
|
||||
```
|
||||
@@ -291,6 +291,7 @@ If you want to run the tests and the lexers, open a shell in the root directory
|
||||
```shell
|
||||
go test ./lexers
|
||||
```
|
||||
When updating or adding a lexer, please add tests. See [lexers/README.md](lexers/README.md) for more.
|
||||
|
||||
## What's missing compared to Pygments?
|
||||
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ All lexers in Chroma should now be defined in XML unless they require custom cod
|
||||
## Lexer tests
|
||||
|
||||
The tests in this directory feed a known input `testdata/<name>.actual` into the parser for `<name>` and check
|
||||
that its output matches `<name>.exported`.
|
||||
that its output matches `<name>.expected`.
|
||||
|
||||
It is also possible to perform several tests on a same parser `<name>`, by placing know inputs `*.actual` into a
|
||||
directory `testdata/<name>/`.
|
||||
|
||||
+175
@@ -0,0 +1,175 @@
|
||||
<lexer>
|
||||
<config>
|
||||
<name>ArangoDB AQL</name>
|
||||
<alias>aql</alias>
|
||||
<filename>*.aql</filename>
|
||||
<mime_type>text/x-aql</mime_type>
|
||||
<dot_all>true</dot_all>
|
||||
<ensure_nl>true</ensure_nl>
|
||||
<case_insensitive>true</case_insensitive>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="comments-and-whitespace">
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="//.*?\n">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
<rule pattern="/\*">
|
||||
<token type="CommentMultiline"/>
|
||||
<push state="multiline-comment"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="multiline-comment">
|
||||
<rule pattern="[^*]+">
|
||||
<token type="CommentMultiline"/>
|
||||
</rule>
|
||||
<rule pattern="\*/">
|
||||
<token type="CommentMultiline"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\*">
|
||||
<token type="CommentMultiline"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="double-quote">
|
||||
<rule pattern="\\.">
|
||||
<token type="LiteralStringDouble"/>
|
||||
</rule>
|
||||
<rule pattern="[^"\\]+">
|
||||
<token type="LiteralStringDouble"/>
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="LiteralStringDouble"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="single-quote">
|
||||
<rule pattern="\\.">
|
||||
<token type="LiteralStringSingle"/>
|
||||
</rule>
|
||||
<rule pattern="[^'\\]+">
|
||||
<token type="LiteralStringSingle"/>
|
||||
</rule>
|
||||
<rule pattern="'">
|
||||
<token type="LiteralStringSingle"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="backtick">
|
||||
<rule pattern="\\.">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
<rule pattern="[^`\\]+">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
<rule pattern="`">
|
||||
<token type="Name"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="forwardtick">
|
||||
<rule pattern="\\.">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
<rule pattern="[^´\\]+">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
<rule pattern="´">
|
||||
<token type="Name"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="identifier">
|
||||
<rule pattern="(?:\$?|_+)[a-z]+[_a-z0-9]*">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
<rule pattern="`">
|
||||
<token type="Name"/>
|
||||
<push state="backtick"/>
|
||||
</rule>
|
||||
<rule pattern="´">
|
||||
<token type="Name"/>
|
||||
<push state="forwardtick"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="root">
|
||||
<rule>
|
||||
<include state="comments-and-whitespace"/>
|
||||
</rule>
|
||||
<rule pattern="0b[01]+">
|
||||
<token type="LiteralNumberBin"/>
|
||||
</rule>
|
||||
<rule pattern="0x[0-9a-f]+">
|
||||
<token type="LiteralNumberHex"/>
|
||||
</rule>
|
||||
<rule pattern="(?:0|[1-9][0-9]*)(?![\.e])">
|
||||
<token type="LiteralNumberInteger"/>
|
||||
</rule>
|
||||
<rule pattern="(?:(?:0|[1-9][0-9]*)(?:\.[0-9]+)?|\.[0-9]+)(?:e[\-\+]?[0-9]+)?">
|
||||
<token type="LiteralNumberFloat"/>
|
||||
</rule>
|
||||
<rule pattern="@@(?:_+[a-z0-9]+[a-z0-9_]*|[a-z0-9][a-z0-9_]*)">
|
||||
<token type="NameVariableGlobal"/>
|
||||
</rule>
|
||||
<rule pattern="@(?:_+[a-z0-9]+[a-z0-9_]*|[a-z0-9][a-z0-9_]*)">
|
||||
<token type="NameVariable"/>
|
||||
</rule>
|
||||
<rule pattern="=~|!~|[=!<>]=?|[%?:/*+-]|\.\.|&&|\|\|">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
<rule pattern="[.,(){}\[\]]">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern="[a-zA-Z0-9][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)+(?=\s*\()">
|
||||
<token type="NameFunction"/>
|
||||
</rule>
|
||||
<rule pattern="(WITH)(\s+)(COUNT)(\s+)(INTO)\b">
|
||||
<bygroups>
|
||||
<token type="KeywordReserved"/>
|
||||
<token type="Text"/>
|
||||
<token type="KeywordPseudo"/>
|
||||
<token type="Text"/>
|
||||
<token type="KeywordReserved"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(?:KEEP|PRUNE|SEARCH|TO)\b">
|
||||
<token type="KeywordPseudo"/>
|
||||
</rule>
|
||||
<rule pattern="OPTIONS(?=\s*\{)">
|
||||
<token type="KeywordPseudo"/>
|
||||
</rule>
|
||||
<rule pattern="(?:AGGREGATE|ALL|ALL_SHORTEST_PATHS|AND|ANY|ASC|AT LEAST|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LIKE|LIMIT|NONE|NOT|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH|WINDOW)\b">
|
||||
<token type="KeywordReserved"/>
|
||||
</rule>
|
||||
<rule pattern="LET\b">
|
||||
<token type="KeywordDeclaration"/>
|
||||
</rule>
|
||||
<rule pattern="(?:true|false|null)\b">
|
||||
<token type="KeywordConstant"/>
|
||||
</rule>
|
||||
<rule pattern="(?-i)(?:CURRENT|NEW|OLD)\b">
|
||||
<token type="NameBuiltinPseudo"/>
|
||||
</rule>
|
||||
<rule pattern="(?:to_bool|to_number|to_string|to_array|to_list|is_null|is_bool|is_number|is_string|is_array|is_list|is_object|is_document|is_datestring|typename|json_stringify|json_parse|concat|concat_separator|char_length|lower|upper|substring|substring_bytes|left|right|trim|reverse|contains|log|log2|log10|exp|exp2|sin|cos|tan|asin|acos|atan|atan2|radians|degrees|pi|regex_test|regex_replace|like|floor|ceil|round|abs|rand|sqrt|pow|length|count|min|max|average|avg|sum|product|median|variance_population|variance_sample|variance|percentile|bit_and|bit_or|bit_xor|bit_negate|bit_test|bit_popcount|bit_shift_left|bit_shift_right|bit_construct|bit_deconstruct|bit_to_string|bit_from_string|first|last|unique|outersection|interleave|in_range|jaccard|matches|merge|merge_recursive|has|attributes|keys|values|unset|unset_recursive|keep|keep_recursive|near|within|within_rectangle|is_in_polygon|distance|fulltext|stddev_sample|stddev_population|stddev|slice|nth|position|contains_array|translate|zip|call|apply|push|append|pop|shift|unshift|remove_value|remove_values|remove_nth|replace_nth|date_now|date_timestamp|date_iso8601|date_dayofweek|date_year|date_month|date_day|date_hour|date_minute|date_second|date_millisecond|date_dayofyear|date_isoweek|date_isoweekyear|date_leapyear|date_quarter|date_days_in_month|date_trunc|date_round|date_add|date_subtract|date_diff|date_compare|date_format|date_utctolocal|date_localtoutc|date_timezone|date_timezones|fail|passthru|v8|sleep|schema_get|schema_validate|shard_id|version|noopt|noeval|not_null|first_list|first_document|parse_identifier|current_user|current_database|collection_count|pregel_result|collections|document|decode_rev|range|union|union_distinct|minus|intersection|flatten|is_same_collection|check_document|ltrim|rtrim|find_first|find_last|split|substitute|ipv4_to_number|ipv4_from_number|is_ipv4|md5|sha1|sha256|sha512|crc32|fnv64|hash|random_token|to_base64|to_hex|encode_uri_component|soundex|assert|warn|is_key|sorted|sorted_unique|count_distinct|count_unique|levenshtein_distance|levenshtein_match|regex_matches|regex_split|ngram_match|ngram_similarity|ngram_positional_similarity|uuid|tokens|exists|starts_with|phrase|min_match|bm25|tfidf|boost|analyzer|offset_info|value|cosine_similarity|decay_exp|decay_gauss|decay_linear|l1_distance|l2_distance|minhash|minhash_count|minhash_error|minhash_match|geo_point|geo_multipoint|geo_polygon|geo_multipolygon|geo_linestring|geo_multilinestring|geo_contains|geo_intersects|geo_equals|geo_distance|geo_area|geo_in_range)(?=\s*\()">
|
||||
<token type="NameFunction"/>
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="LiteralStringDouble"/>
|
||||
<push state="double-quote"/>
|
||||
</rule>
|
||||
<rule pattern="'">
|
||||
<token type="LiteralStringSingle"/>
|
||||
<push state="single-quote"/>
|
||||
</rule>
|
||||
<!-- not part of the language but useful for highlighting query explain outputs -->
|
||||
<rule pattern="#\d+\b">
|
||||
<token type="NameLabel"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="identifier"/>
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
|
||||
<lexer>
|
||||
<config>
|
||||
<name>AutoHotkey</name>
|
||||
<alias>autohotkey</alias>
|
||||
<alias>ahk</alias>
|
||||
<filename>*.ahk</filename>
|
||||
<filename>*.ahkl</filename>
|
||||
<mime_type>text/x-autohotkey</mime_type>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule pattern="^(\s*)(/\*)"><bygroups><token type="Text"/><token type="CommentMultiline"/></bygroups><push state="incomment"/></rule>
|
||||
<rule pattern="^(\s*)(\()"><bygroups><token type="Text"/><token type="Generic"/></bygroups><push state="incontinuation"/></rule>
|
||||
<rule pattern="\s+;.*?$"><token type="CommentSingle"/></rule>
|
||||
<rule pattern="^;.*?$"><token type="CommentSingle"/></rule>
|
||||
<rule pattern="[]{}(),;[]"><token type="Punctuation"/></rule>
|
||||
<rule pattern="(in|is|and|or|not)\b"><token type="OperatorWord"/></rule>
|
||||
<rule pattern="\%[a-zA-Z_#@$][\w#@$]*\%"><token type="NameVariable"/></rule>
|
||||
<rule pattern="!=|==|:=|\.=|<<|>>|[-~+/*%=<>&^|?:!.]"><token type="Operator"/></rule>
|
||||
<rule><include state="commands"/></rule>
|
||||
<rule><include state="labels"/></rule>
|
||||
<rule><include state="builtInFunctions"/></rule>
|
||||
<rule><include state="builtInVariables"/></rule>
|
||||
<rule pattern="""><token type="LiteralString"/><combined state="stringescape" state="dqs"/></rule>
|
||||
<rule><include state="numbers"/></rule>
|
||||
<rule pattern="[a-zA-Z_#@$][\w#@$]*"><token type="Name"/></rule>
|
||||
<rule pattern="\\|\'"><token type="Text"/></rule>
|
||||
<rule pattern="\`([,%`abfnrtv\-+;])"><token type="LiteralStringEscape"/></rule>
|
||||
<rule><include state="garbage"/></rule>
|
||||
</state>
|
||||
<state name="incomment">
|
||||
<rule pattern="^\s*\*/"><token type="CommentMultiline"/><pop depth="1"/></rule>
|
||||
<rule pattern="[^*]+"><token type="CommentMultiline"/></rule>
|
||||
<rule pattern="\*"><token type="CommentMultiline"/></rule>
|
||||
</state>
|
||||
<state name="incontinuation">
|
||||
<rule pattern="^\s*\)"><token type="Generic"/><pop depth="1"/></rule>
|
||||
<rule pattern="[^)]"><token type="Generic"/></rule>
|
||||
<rule pattern="[)]"><token type="Generic"/></rule>
|
||||
</state>
|
||||
<state name="commands">
|
||||
<rule pattern="(?i)^(\s*)(global|local|static|#AllowSameLineComments|#ClipboardTimeout|#CommentFlag|#ErrorStdOut|#EscapeChar|#HotkeyInterval|#HotkeyModifierTimeout|#Hotstring|#IfWinActive|#IfWinExist|#IfWinNotActive|#IfWinNotExist|#IncludeAgain|#Include|#InstallKeybdHook|#InstallMouseHook|#KeyHistory|#LTrim|#MaxHotkeysPerInterval|#MaxMem|#MaxThreads|#MaxThreadsBuffer|#MaxThreadsPerHotkey|#NoEnv|#NoTrayIcon|#Persistent|#SingleInstance|#UseHook|#WinActivateForce|AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGetFocus|ControlGetPos|ControlGetText|ControlGet|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|Edit|Else|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|IfEqual|IfExist|IfGreaterOrEqual|IfGreater|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|If |ImageSearch|IniDelete|IniRead|IniWrite|InputBox|Input|KeyHistory|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClickDrag|MouseClick|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|RunAs|RunWait|Run|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|Send|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|While|WinActivate|WinActivateBottom|WinClose|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinGet|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimizeAllUndo|WinMinimizeAll|WinMinimize|WinMove|WinRestore|WinSetTitle|WinSet|WinShow|WinWaitActive|WinWaitClose|WinWaitNotActive|WinWait)\b"><bygroups><token type="Text"/><token type="NameBuiltin"/></bygroups></rule>
|
||||
</state>
|
||||
<state name="builtInFunctions">
|
||||
<rule pattern="(?i)(Abs|ACos|Asc|ASin|ATan|Ceil|Chr|Cos|DllCall|Exp|FileExist|Floor|GetKeyState|IL_Add|IL_Create|IL_Destroy|InStr|IsFunc|IsLabel|Ln|Log|LV_Add|LV_Delete|LV_DeleteCol|LV_GetCount|LV_GetNext|LV_GetText|LV_Insert|LV_InsertCol|LV_Modify|LV_ModifyCol|LV_SetImageList|Mod|NumGet|NumPut|OnMessage|RegExMatch|RegExReplace|RegisterCallback|Round|SB_SetIcon|SB_SetParts|SB_SetText|Sin|Sqrt|StrLen|SubStr|Tan|TV_Add|TV_Delete|TV_GetChild|TV_GetCount|TV_GetNext|TV_Get|TV_GetParent|TV_GetPrev|TV_GetSelection|TV_GetText|TV_Modify|VarSetCapacity|WinActive|WinExist|Object|ComObjActive|ComObjArray|ComObjEnwrap|ComObjUnwrap|ComObjParameter|ComObjType|ComObjConnect|ComObjCreate|ComObjGet|ComObjError|ComObjValue|Insert|MinIndex|MaxIndex|Remove|SetCapacity|GetCapacity|GetAddress|_NewEnum|FileOpen|Read|Write|ReadLine|WriteLine|ReadNumType|WriteNumType|RawRead|RawWrite|Seek|Tell|Close|Next|IsObject|StrPut|StrGet|Trim|LTrim|RTrim)\b"><token type="NameFunction"/></rule>
|
||||
</state>
|
||||
<state name="builtInVariables">
|
||||
<rule pattern="(?i)(A_AhkPath|A_AhkVersion|A_AppData|A_AppDataCommon|A_AutoTrim|A_BatchLines|A_CaretX|A_CaretY|A_ComputerName|A_ControlDelay|A_Cursor|A_DDDD|A_DDD|A_DD|A_DefaultMouseSpeed|A_Desktop|A_DesktopCommon|A_DetectHiddenText|A_DetectHiddenWindows|A_EndChar|A_EventInfo|A_ExitReason|A_FormatFloat|A_FormatInteger|A_Gui|A_GuiEvent|A_GuiControl|A_GuiControlEvent|A_GuiHeight|A_GuiWidth|A_GuiX|A_GuiY|A_Hour|A_IconFile|A_IconHidden|A_IconNumber|A_IconTip|A_Index|A_IPAddress1|A_IPAddress2|A_IPAddress3|A_IPAddress4|A_ISAdmin|A_IsCompiled|A_IsCritical|A_IsPaused|A_IsSuspended|A_KeyDelay|A_Language|A_LastError|A_LineFile|A_LineNumber|A_LoopField|A_LoopFileAttrib|A_LoopFileDir|A_LoopFileExt|A_LoopFileFullPath|A_LoopFileLongPath|A_LoopFileName|A_LoopFileShortName|A_LoopFileShortPath|A_LoopFileSize|A_LoopFileSizeKB|A_LoopFileSizeMB|A_LoopFileTimeAccessed|A_LoopFileTimeCreated|A_LoopFileTimeModified|A_LoopReadLine|A_LoopRegKey|A_LoopRegName|A_LoopRegSubkey|A_LoopRegTimeModified|A_LoopRegType|A_MDAY|A_Min|A_MM|A_MMM|A_MMMM|A_Mon|A_MouseDelay|A_MSec|A_MyDocuments|A_Now|A_NowUTC|A_NumBatchLines|A_OSType|A_OSVersion|A_PriorHotkey|A_ProgramFiles|A_Programs|A_ProgramsCommon|A_ScreenHeight|A_ScreenWidth|A_ScriptDir|A_ScriptFullPath|A_ScriptName|A_Sec|A_Space|A_StartMenu|A_StartMenuCommon|A_Startup|A_StartupCommon|A_StringCaseSense|A_Tab|A_Temp|A_ThisFunc|A_ThisHotkey|A_ThisLabel|A_ThisMenu|A_ThisMenuItem|A_ThisMenuItemPos|A_TickCount|A_TimeIdle|A_TimeIdlePhysical|A_TimeSincePriorHotkey|A_TimeSinceThisHotkey|A_TitleMatchMode|A_TitleMatchModeSpeed|A_UserName|A_WDay|A_WinDelay|A_WinDir|A_WorkingDir|A_YDay|A_YEAR|A_YWeek|A_YYYY|Clipboard|ClipboardAll|ComSpec|ErrorLevel|ProgramFiles|True|False|A_IsUnicode|A_FileEncoding|A_OSVersion|A_PtrSize)\b"><token type="NameVariable"/></rule>
|
||||
</state>
|
||||
<state name="labels">
|
||||
<rule pattern="(^\s*)([^:\s("]+?:{1,2})"><bygroups><token type="Text"/><token type="NameLabel"/></bygroups></rule>
|
||||
<rule pattern="(^\s*)(::[^:\s]+?::)"><bygroups><token type="Text"/><token type="NameLabel"/></bygroups></rule>
|
||||
</state>
|
||||
<state name="numbers">
|
||||
<rule pattern="(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?"><token type="LiteralNumberFloat"/></rule>
|
||||
<rule pattern="\d+[eE][+-]?[0-9]+"><token type="LiteralNumberFloat"/></rule>
|
||||
<rule pattern="0\d+"><token type="LiteralNumberOct"/></rule>
|
||||
<rule pattern="0[xX][a-fA-F0-9]+"><token type="LiteralNumberHex"/></rule>
|
||||
<rule pattern="\d+L"><token type="LiteralNumberIntegerLong"/></rule>
|
||||
<rule pattern="\d+"><token type="LiteralNumberInteger"/></rule>
|
||||
</state>
|
||||
<state name="stringescape">
|
||||
<rule pattern="\"\"|\`([,%`abfnrtv])"><token type="LiteralStringEscape"/></rule>
|
||||
</state>
|
||||
<state name="strings">
|
||||
<rule pattern="[^"\n]+"><token type="LiteralString"/></rule>
|
||||
</state>
|
||||
<state name="dqs">
|
||||
<rule pattern="""><token type="LiteralString"/><pop depth="1"/></rule>
|
||||
<rule><include state="strings"/></rule>
|
||||
</state>
|
||||
<state name="garbage">
|
||||
<rule pattern="[^\S\n]"><token type="Text"/></rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
|
||||
+70
File diff suppressed because one or more lines are too long
+6
-3
@@ -21,7 +21,7 @@
|
||||
<rule pattern="/\+.*?\+/">
|
||||
<token type="CommentMultiline"/>
|
||||
</rule>
|
||||
<rule pattern="(asm|assert|body|break|case|cast|catch|continue|default|debug|delete|deprecated|do|else|finally|for|foreach|foreach_reverse|goto|if|in|invariant|is|macro|mixin|new|out|pragma|return|super|switch|this|throw|try|version|while|with)\b">
|
||||
<rule pattern="(asm|assert|body|break|case|cast|catch|continue|default|debug|delete|do|else|finally|for|foreach|foreach_reverse|goto|if|in|invariant|is|macro|mixin|new|out|pragma|return|super|switch|this|throw|try|typeid|typeof|version|while|with)\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="__(FILE|FILE_FULL_PATH|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__\b">
|
||||
@@ -41,12 +41,15 @@
|
||||
<rule pattern="@[\w.]*">
|
||||
<token type="NameDecorator"/>
|
||||
</rule>
|
||||
<rule pattern="(abstract|auto|alias|align|const|delegate|enum|export|final|function|inout|lazy|nothrow|override|package|private|protected|public|pure|static|synchronized|template|volatile|__gshared)\b">
|
||||
<rule pattern="(abstract|auto|alias|align|const|delegate|deprecated|enum|export|extern|final|function|immutable|inout|lazy|nothrow|override|package|private|protected|public|pure|ref|scope|shared|static|synchronized|template|unittest|__gshared)\b">
|
||||
<token type="KeywordDeclaration"/>
|
||||
</rule>
|
||||
<rule pattern="(void|bool|byte|ubyte|short|ushort|int|uint|long|ulong|cent|ucent|float|double|real|ifloat|idouble|ireal|cfloat|cdouble|creal|char|wchar|dchar|string|wstring|dstring)\b">
|
||||
<rule pattern="(void|bool|byte|ubyte|short|ushort|int|uint|long|ulong|cent|ucent|float|double|real|ifloat|idouble|ireal|cfloat|cdouble|creal|char|wchar|dchar)\b">
|
||||
<token type="KeywordType"/>
|
||||
</rule>
|
||||
<rule pattern="(size_t|ptrdiff_t|noreturn|string|wstring|dstring|Object|Throwable|Exception|Error|imported)\b">
|
||||
<token type="NameBuiltin"/>
|
||||
</rule>
|
||||
<rule pattern="(module)(\s+)">
|
||||
<bygroups>
|
||||
<token type="KeywordNamespace"/>
|
||||
|
||||
+2
-2
@@ -41,7 +41,7 @@
|
||||
<token type="Operator"/>
|
||||
<push state="subexpression"/>
|
||||
</rule>
|
||||
<rule pattern="(range|if|else|while|with|template|end|true|false|nil|and|call|html|index|js|len|not|or|print|printf|println|urlquery|eq|ne|lt|le|gt|ge)\b">
|
||||
<rule pattern="(range|if|else|while|with|template|end|true|false|nil|and|call|html|index|js|len|not|or|print|printf|println|urlquery|eq|ne|lt|le|gt|ge|block|break|continue|define|slice)\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="\||:?=|,">
|
||||
@@ -109,4 +109,4 @@
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
</lexer>
|
||||
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
<lexer>
|
||||
<config>
|
||||
<name>ISCdhcpd</name>
|
||||
<alias>iscdhcpd</alias>
|
||||
<filename>*.conf</filename>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="interpol">
|
||||
<rule pattern="\$[{(]">
|
||||
<token type="LiteralStringInterpol"/>
|
||||
<push/>
|
||||
</rule>
|
||||
<rule pattern="[})]">
|
||||
<token type="LiteralStringInterpol"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="[^${()}]+">
|
||||
<token type="LiteralStringInterpol"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="root">
|
||||
<rule pattern="#.*?\n">
|
||||
<token type="Comment"/>
|
||||
</rule>
|
||||
<rule pattern="(hardware|packet|leased-address|host-decl-name|lease-time|max-lease-time|client-state|config-option|option|filename|next-server|allow|deny|match|ignore)\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="(include|group|host|subnet|subnet6|netmask|class|subclass|pool|failover|include|shared-network|range|range6|prefix6)\b">
|
||||
<token type="KeywordType"/>
|
||||
</rule>
|
||||
<rule pattern="(on|off|true|false|none)\b">
|
||||
<token type="KeywordConstant"/>
|
||||
</rule>
|
||||
<rule pattern="(if|elsif|else)\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="(exists|known|static)\b">
|
||||
<token type="KeywordConstant"/>
|
||||
</rule>
|
||||
<rule pattern="(and|or|not)\b">
|
||||
<token type="OperatorWord"/>
|
||||
</rule>
|
||||
<rule pattern="(==|!=|~=|~~|=)">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
<rule pattern="[{},;\)]">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern="\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2}">
|
||||
<token type="LiteralNumberFloat"/>
|
||||
</rule>
|
||||
<rule pattern="\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}">
|
||||
<token type="LiteralNumberFloat"/>
|
||||
</rule>
|
||||
<rule pattern="[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}">
|
||||
<token type="LiteralNumberHex"/>
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="LiteralString"/>
|
||||
<push state="doublequotestring"/>
|
||||
</rule>
|
||||
<rule pattern="([\w\-.]+)(\s*)(\()">
|
||||
<bygroups>
|
||||
<token type="NameFunction"/>
|
||||
<token type="Text"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="[\w\-.]+">
|
||||
<token type="NameVariable"/>
|
||||
</rule>
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="doublequotestring">
|
||||
<rule pattern="\$[{(]">
|
||||
<token type="LiteralStringInterpol"/>
|
||||
<push state="interpol"/>
|
||||
</rule>
|
||||
<rule pattern="\\.">
|
||||
<token type="LiteralStringEscape"/>
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="LiteralString"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\n">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
<rule pattern=".">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
+136
-49
@@ -11,38 +11,40 @@
|
||||
<rules>
|
||||
<!-- NameFunction|TypeName -->
|
||||
<state name="root">
|
||||
<rule pattern="[^\S\n]+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="\\\n">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="\n">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="//.*$">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
<rule pattern="/(\\\n)?[*](.|\n)*?[*](\\\n)?/">
|
||||
<token type="CommentMultiline"/>
|
||||
</rule>
|
||||
<rule pattern="\+|-|\*|/|%|'?<|'?>|'?=|\band\b|\bor\b|_|:">
|
||||
<rule pattern="\+|-|\*|\/|\b%\b|<|>|=|'|\band\b|\bor\b|_|:|!">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
<rule pattern="[{}(),\[\]]">
|
||||
<rule pattern="[{}(,)\[\]]">
|
||||
<token type="Punctuation"/>
|
||||
<push state="root"/>
|
||||
</rule>
|
||||
<rule pattern="[+-]?\d*\.\d+">
|
||||
<rule pattern="#">
|
||||
<token type="KeywordPseudo"/>
|
||||
<push state="directive"/>
|
||||
</rule>
|
||||
<rule pattern="\.?\d+">
|
||||
<token type="LiteralNumber"/>
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="LiteralString"/>
|
||||
<push state="string"/>
|
||||
</rule>
|
||||
<rule pattern="\.">
|
||||
<token type="Operator"/>
|
||||
<push state="method"/>
|
||||
</rule>
|
||||
<rule pattern="\$\$">
|
||||
<token type="NameFunction"/>
|
||||
<push state="method"/>
|
||||
</rule>
|
||||
<rule pattern="\bdo\b">
|
||||
<token type="KeywordReserved"/>
|
||||
<push state="callmethod"/>
|
||||
</rule>
|
||||
<rule pattern="\b(do|set|if|for|while|quit|catch|return|while)\b">
|
||||
<rule pattern="\b(do|set|if|else|for|while|quit|catch|return|ret|while)\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="\b(true|false)\b">
|
||||
@@ -58,11 +60,27 @@
|
||||
<rule pattern="\b(Boolean|String|Number|Date)\b">
|
||||
<token type="KeywordType"/>
|
||||
</rule>
|
||||
<rule pattern="\^?[a-zA-Z][a-zA-Z0-9]*">
|
||||
<token type="Name"/>
|
||||
<rule pattern="(\${0,2}[_a-zA-z]\w*)?(\^[_a-zA-Z]\w*)">
|
||||
<bygroups>
|
||||
<token type="NameFunction"/>
|
||||
<token type="NameClass"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
<rule pattern="([_a-zA-z]\w*)(\.[_a-zA-Z]\w*)(\()">
|
||||
<bygroups>
|
||||
<token type="Name"/>
|
||||
<token type="NameFunction"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(\${0,2}[_a-zA-z]\w*)(\.[_a-zA-Z]\w*)">
|
||||
<bygroups>
|
||||
<token type="Name"/>
|
||||
<token type="NameProperty"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="\.?(%|\${0,2})[_a-zA-Z]\w*">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="string">
|
||||
@@ -83,33 +101,6 @@
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="method">
|
||||
<rule pattern="\(">
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\^[a-zA-Z][a-zA-Z0-9]*">
|
||||
<token type="NameClass"/>
|
||||
</rule>
|
||||
<rule pattern="[a-zA-Z][a-zA-Z0-9]*">
|
||||
<token type="NameFunction"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="callmethod">
|
||||
<rule pattern="\(|{">
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\^[a-zA-Z][a-zA-Z0-9]*">
|
||||
<token type="NameClass"/>
|
||||
</rule>
|
||||
<rule pattern="[a-zA-Z][a-zA-Z0-9]*">
|
||||
<token type="NameFunction"/>
|
||||
</rule>
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="typename">
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
@@ -117,10 +108,106 @@
|
||||
<rule pattern="\b(public|req|private|void)\b">
|
||||
<token type="KeywordDeclaration"/>
|
||||
</rule>
|
||||
<rule pattern="[a-zA-Z][a-zA-Z0-9]*">
|
||||
<token type="NameClass"/>
|
||||
<rule pattern="([_a-zA-Z]\w*)?(\s+)([_a-zA-Z]\w*)">
|
||||
<bygroups>
|
||||
<token type="NameClass"/>
|
||||
<token type="Text"/>
|
||||
<token type="Name"/>
|
||||
</bygroups>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="directive">
|
||||
<rule pattern="ACCEPT">
|
||||
<token type="KeywordPseudo"/>
|
||||
<push state="accept-directive"/>
|
||||
</rule>
|
||||
<rule pattern="CLASSDEF">
|
||||
<token type="KeywordPseudo"/>
|
||||
<push state="classdef-directive"/>
|
||||
</rule>
|
||||
<rule pattern="IF|ELSEIF">
|
||||
<token type="KeywordPseudo"/>
|
||||
<push state="if-directive"/>
|
||||
</rule>
|
||||
<rule pattern="PACKAGE">
|
||||
<token type="KeywordPseudo"/>
|
||||
<push state="package-directive"/>
|
||||
</rule>
|
||||
<rule pattern="PROPERTYDEF">
|
||||
<token type="KeywordPseudo"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="INFO|WARN">
|
||||
<token type="KeywordPseudo"/>
|
||||
<push state="warn-directive"/>
|
||||
</rule>
|
||||
<rule pattern="OPTION">
|
||||
<token type="KeywordPseudo"/>
|
||||
<push state="option-directive"/>
|
||||
</rule>
|
||||
<rule pattern="BYPASS|ELSE|END|ENDBYPASS|ENDIF|OPTIMIZE">
|
||||
<token type="KeywordPseudo"/>
|
||||
<push state="other-directive"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="accept-directive">
|
||||
<rule pattern=".+$">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="other-directive">
|
||||
<rule pattern=".+$">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="classdef-directive">
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="delimiter|extends">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="public">
|
||||
<token type="KeywordDeclaration"/>
|
||||
</rule>
|
||||
<rule pattern="=">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
<rule pattern="[\w\d]+">
|
||||
<token type="NameClass"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="if-directive">
|
||||
<rule pattern=".+$">
|
||||
<include state="root"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="option-directive">
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="ON|OFF">
|
||||
<token type="KeywordConstant"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="[\w\d]+">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="package-directive">
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="\w+">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="root"/>
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
<!--
|
||||
Generated from https://github.com/pygments/pygments/blob/15f222adefd2bf7835bfd74a12d720028ae68d29/pygments/lexers/dalvik.py.
|
||||
-->
|
||||
<lexer>
|
||||
<config>
|
||||
<name>Smali</name>
|
||||
<alias>smali</alias>
|
||||
<filename>*.smali</filename>
|
||||
<mime_type>text/smali</mime_type>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule><include state="comment"/></rule>
|
||||
<rule><include state="label"/></rule>
|
||||
<rule><include state="field"/></rule>
|
||||
<rule><include state="method"/></rule>
|
||||
<rule><include state="class"/></rule>
|
||||
<rule><include state="directive"/></rule>
|
||||
<rule><include state="access-modifier"/></rule>
|
||||
<rule><include state="instruction"/></rule>
|
||||
<rule><include state="literal"/></rule>
|
||||
<rule><include state="punctuation"/></rule>
|
||||
<rule><include state="type"/></rule>
|
||||
<rule><include state="whitespace"/></rule>
|
||||
</state>
|
||||
<state name="directive">
|
||||
<rule pattern="^([ \t]*)(\.(?:class|super|implements|field|subannotation|annotation|enum|method|registers|locals|array-data|packed-switch|sparse-switch|catchall|catch|line|parameter|local|prologue|epilogue|source))"><bygroups><token type="TextWhitespace"/><token type="Keyword"/></bygroups></rule>
|
||||
<rule pattern="^([ \t]*)(\.end)( )(field|subannotation|annotation|method|array-data|packed-switch|sparse-switch|parameter|local)"><bygroups><token type="TextWhitespace"/><token type="Keyword"/><token type="TextWhitespace"/><token type="Keyword"/></bygroups></rule>
|
||||
<rule pattern="^([ \t]*)(\.restart)( )(local)"><bygroups><token type="TextWhitespace"/><token type="Keyword"/><token type="TextWhitespace"/><token type="Keyword"/></bygroups></rule>
|
||||
</state>
|
||||
<state name="access-modifier">
|
||||
<rule pattern="(public|private|protected|static|final|synchronized|bridge|varargs|native|abstract|strictfp|synthetic|constructor|declared-synchronized|interface|enum|annotation|volatile|transient)"><token type="Keyword"/></rule>
|
||||
</state>
|
||||
<state name="whitespace">
|
||||
<rule pattern="\n"><token type="TextWhitespace"/></rule>
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
</state>
|
||||
<state name="instruction">
|
||||
<rule pattern="\b[vp]\d+\b"><token type="NameBuiltin"/></rule>
|
||||
<rule pattern="(\b[a-z][A-Za-z0-9/-]+)(\s+)"><bygroups><token type="Text"/><token type="TextWhitespace"/></bygroups></rule>
|
||||
</state>
|
||||
<state name="literal">
|
||||
<rule pattern="".*""><token type="LiteralString"/></rule>
|
||||
<rule pattern="0x[0-9A-Fa-f]+t?"><token type="LiteralNumberHex"/></rule>
|
||||
<rule pattern="[0-9]*\.[0-9]+([eE][0-9]+)?[fd]?"><token type="LiteralNumberFloat"/></rule>
|
||||
<rule pattern="[0-9]+L?"><token type="LiteralNumberInteger"/></rule>
|
||||
</state>
|
||||
<state name="field">
|
||||
<rule pattern="(\$?\b)([\w$]*)(:)"><bygroups><token type="Punctuation"/><token type="NameVariable"/><token type="Punctuation"/></bygroups></rule>
|
||||
</state>
|
||||
<state name="method">
|
||||
<rule pattern="<(?:cl)?init>"><token type="NameFunction"/></rule>
|
||||
<rule pattern="(\$?\b)([\w$]*)(\()"><bygroups><token type="Punctuation"/><token type="NameFunction"/><token type="Punctuation"/></bygroups></rule>
|
||||
</state>
|
||||
<state name="label">
|
||||
<rule pattern=":\w+"><token type="NameLabel"/></rule>
|
||||
</state>
|
||||
<state name="class">
|
||||
<rule pattern="(L)((?:[\w$]+/)*)([\w$]+)(;)"><bygroups><token type="KeywordType"/><token type="Text"/><token type="NameClass"/><token type="Text"/></bygroups></rule>
|
||||
</state>
|
||||
<state name="punctuation">
|
||||
<rule pattern="->"><token type="Punctuation"/></rule>
|
||||
<rule pattern="[{},():=.-]"><token type="Punctuation"/></rule>
|
||||
</state>
|
||||
<state name="type">
|
||||
<rule pattern="[ZBSCIJFDV\[]+"><token type="KeywordType"/></rule>
|
||||
</state>
|
||||
<state name="comment">
|
||||
<rule pattern="#.*?\n"><token type="Comment"/></rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
|
||||
<lexer>
|
||||
<config>
|
||||
<name>Tal</name>
|
||||
<alias>tal</alias>
|
||||
<alias>uxntal</alias>
|
||||
<filename>*.tal</filename>
|
||||
<mime_type>text/x-uxntal</mime_type>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="comment">
|
||||
<rule pattern="(?<!\S)\((?!\S)"><token type="CommentMultiline"/><push/></rule>
|
||||
<rule pattern="(?<!\S)\)(?!\S)"><token type="CommentMultiline"/><pop depth="1"/></rule>
|
||||
<rule pattern="[^()]+"><token type="CommentMultiline"/></rule>
|
||||
<rule pattern="[()]+"><token type="CommentMultiline"/></rule>
|
||||
</state>
|
||||
<state name="root">
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
<rule pattern="(?<!\S)\((?!\S)"><token type="CommentMultiline"/><push state="comment"/></rule>
|
||||
<rule pattern="(?<!\S)(BRK|LIT|INC|POP|DUP|NIP|SWP|OVR|ROT|EQU|NEQ|GTH|LTH|JMP|JCN|JSR|STH|LDZ|STZ|LDR|STR|LDA|STA|DEI|DEO|ADD|SUB|MUL|DIV|AND|ORA|EOR|SFT)2?k?r?(?!\S)"><token type="KeywordReserved"/></rule>
|
||||
<rule pattern="[][{}](?!\S)"><token type="Punctuation"/></rule>
|
||||
<rule pattern="#([0-9a-f]{2}){1,2}(?!\S)"><token type="LiteralNumberHex"/></rule>
|
||||
<rule pattern=""\S+"><token type="LiteralString"/></rule>
|
||||
<rule pattern="([0-9a-f]{2}){1,2}(?!\S)"><token type="Literal"/></rule>
|
||||
<rule pattern="[|$][0-9a-f]{1,4}(?!\S)"><token type="KeywordDeclaration"/></rule>
|
||||
<rule pattern="%\S+"><token type="NameDecorator"/></rule>
|
||||
<rule pattern="@\S+"><token type="NameFunction"/></rule>
|
||||
<rule pattern="&\S+"><token type="NameLabel"/></rule>
|
||||
<rule pattern="/\S+"><token type="NameTag"/></rule>
|
||||
<rule pattern="\.\S+"><token type="NameVariableMagic"/></rule>
|
||||
<rule pattern=",\S+"><token type="NameVariableInstance"/></rule>
|
||||
<rule pattern=";\S+"><token type="NameVariableGlobal"/></rule>
|
||||
<rule pattern="-\S+"><token type="Literal"/></rule>
|
||||
<rule pattern="_\S+"><token type="Literal"/></rule>
|
||||
<rule pattern="=\S+"><token type="Literal"/></rule>
|
||||
<rule pattern="!\S+"><token type="NameFunction"/></rule>
|
||||
<rule pattern="\?\S+"><token type="NameFunction"/></rule>
|
||||
<rule pattern="~\S+"><token type="KeywordNamespace"/></rule>
|
||||
<rule pattern="\S+"><token type="NameFunction"/></rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
|
||||
+61
File diff suppressed because one or more lines are too long
+2
-2
@@ -22,8 +22,8 @@ var HTTP = Register(httpBodyContentTypeLexer(MustNewLexer(
|
||||
func httpRules() Rules {
|
||||
return Rules{
|
||||
"root": {
|
||||
{`(GET|POST|PUT|DELETE|HEAD|OPTIONS|TRACE|PATCH|CONNECT)( +)([^ ]+)( +)(HTTP)(/)([12]\.[01])(\r?\n|\Z)`, ByGroups(NameFunction, Text, NameNamespace, Text, KeywordReserved, Operator, LiteralNumber, Text), Push("headers")},
|
||||
{`(HTTP)(/)([12]\.[01])( +)(\d{3})( +)([^\r\n]+)(\r?\n|\Z)`, ByGroups(KeywordReserved, Operator, LiteralNumber, Text, LiteralNumber, Text, NameException, Text), Push("headers")},
|
||||
{`(GET|POST|PUT|DELETE|HEAD|OPTIONS|TRACE|PATCH|CONNECT)( +)([^ ]+)( +)(HTTP)(/)([123](?:\.[01])?)(\r?\n|\Z)`, ByGroups(NameFunction, Text, NameNamespace, Text, KeywordReserved, Operator, LiteralNumber, Text), Push("headers")},
|
||||
{`(HTTP)(/)([123](?:\.[01])?)( +)(\d{3})( *)([^\r\n]*)(\r?\n|\Z)`, ByGroups(KeywordReserved, Operator, LiteralNumber, Text, LiteralNumber, Text, NameException, Text), Push("headers")},
|
||||
},
|
||||
"headers": {
|
||||
{`([^\s:]+)( *)(:)( *)([^\r\n]+)(\r?\n|\Z)`, EmitterFunc(httpHeaderBlock), nil},
|
||||
|
||||
+3
-1
@@ -15,8 +15,10 @@
|
||||
<entry type="NameFunction" style="#88c0d0"/>
|
||||
<entry type="NameLabel" style="#8fbcbb"/>
|
||||
<entry type="NameNamespace" style="#8fbcbb"/>
|
||||
<entry type="NameOther" style="#d8dee9"/>
|
||||
<entry type="NameTag" style="#81a1c1"/>
|
||||
<entry type="NameVariable" style="#d8dee9"/>
|
||||
<entry type="NameProperty" style="#8fbcbb"/>
|
||||
<entry type="LiteralString" style="#a3be8c"/>
|
||||
<entry type="LiteralStringDoc" style="#616e87"/>
|
||||
<entry type="LiteralStringEscape" style="#ebcb8b"/>
|
||||
@@ -41,4 +43,4 @@
|
||||
<entry type="GenericSubheading" style="bold #88c0d0"/>
|
||||
<entry type="GenericTraceback" style="#bf616a"/>
|
||||
<entry type="TextWhitespace" style="#d8dee9"/>
|
||||
</style>
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user