update go modules, fix Apple auth redirect
Previously the redirect after successful authentication didn't work.
This commit is contained in:
committed by
Umputun
parent
a03c002df4
commit
1b90604b2d
@@ -17,3 +17,4 @@
|
||||
_models/
|
||||
|
||||
_examples/
|
||||
*.min.*
|
||||
|
||||
+1
@@ -48,6 +48,7 @@ linters:
|
||||
- govet
|
||||
- nosnakecase
|
||||
- testableexamples
|
||||
- musttag
|
||||
|
||||
linters-settings:
|
||||
govet:
|
||||
|
||||
+5
-1
@@ -1,6 +1,8 @@
|
||||
.PHONY: chromad upload all
|
||||
|
||||
VERSION ?= $(shell git describe --tags --dirty --always)
|
||||
export GOOS ?= linux
|
||||
export GOARCH ?= amd64
|
||||
|
||||
all: README.md tokentype_string.go
|
||||
|
||||
@@ -12,7 +14,9 @@ tokentype_string.go: types.go
|
||||
|
||||
chromad:
|
||||
rm -f chromad
|
||||
(export CGOENABLED=0 GOOS=linux GOARCH=amd64; cd ./cmd/chromad && go build -ldflags="-X 'main.version=$(VERSION)'" -o ../../chromad .)
|
||||
esbuild --bundle cmd/chromad/static/index.js --minify --outfile=cmd/chromad/static/index.min.js
|
||||
esbuild --bundle cmd/chromad/static/index.css --minify --outfile=cmd/chromad/static/index.min.css
|
||||
(export CGOENABLED=0 ; cd ./cmd/chromad && go build -ldflags="-X 'main.version=$(VERSION)'" -o ../../chromad .)
|
||||
|
||||
upload: chromad
|
||||
scp chromad root@swapoff.org: && \
|
||||
|
||||
+16
-1
@@ -27,7 +27,8 @@ translators for Pygments lexers and styles.
|
||||
2. [Formatters](#formatters)
|
||||
3. [Styles](#styles)
|
||||
6. [Command-line interface](#command-line-interface)
|
||||
7. [What's missing compared to Pygments?](#whats-missing-compared-to-pygments)
|
||||
7. [Testing lexers](#testing-lexers)
|
||||
8. [What's missing compared to Pygments?](#whats-missing-compared-to-pygments)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
@@ -277,6 +278,20 @@ Debian and derivatives](https://manpages.debian.org/lesspipe#USER_DEFINED_FILTER
|
||||
for that setup the `chroma` executable can be just symlinked to `~/.lessfilter`.
|
||||
|
||||
<a id="markdown-whats-missing-compared-to-pygments" name="whats-missing-compared-to-pygments"></a>
|
||||
|
||||
<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:
|
||||
```shell
|
||||
go run .
|
||||
```
|
||||
A Link will be printed. Open it in your Browser. Now you can test on the Playground with your local changes.
|
||||
|
||||
If you want to run the tests and the lexers, open a shell in the root directory and run:
|
||||
```shell
|
||||
go test ./lexers
|
||||
```
|
||||
|
||||
## What's missing compared to Pygments?
|
||||
|
||||
- Quite a few lexers, for various reasons (pull-requests welcome):
|
||||
|
||||
+3
-3
@@ -171,10 +171,10 @@ var (
|
||||
defaultPreWrapper = preWrapper{
|
||||
start: func(code bool, styleAttr string) string {
|
||||
if code {
|
||||
return fmt.Sprintf(`<pre tabindex="0"%s><code>`, styleAttr)
|
||||
return fmt.Sprintf(`<pre%s><code>`, styleAttr)
|
||||
}
|
||||
|
||||
return fmt.Sprintf(`<pre tabindex="0"%s>`, styleAttr)
|
||||
return fmt.Sprintf(`<pre%s>`, styleAttr)
|
||||
},
|
||||
end: func(code bool) string {
|
||||
if code {
|
||||
@@ -513,7 +513,7 @@ func (f *Formatter) styleToCSS(style *chroma.Style) map[chroma.TokenType]string
|
||||
if f.wrapLongLines {
|
||||
classes[chroma.PreWrapper] += `white-space: pre-wrap; word-break: break-word;`
|
||||
}
|
||||
lineNumbersStyle := `white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;`
|
||||
lineNumbersStyle := `white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;`
|
||||
// All rules begin with default rules followed by user provided rules
|
||||
classes[chroma.Line] = `display: flex;` + classes[chroma.Line]
|
||||
classes[chroma.LineNumbers] = lineNumbersStyle + classes[chroma.LineNumbers]
|
||||
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
package lexers
|
||||
|
||||
import (
|
||||
. "github.com/alecthomas/chroma/v2" // nolint
|
||||
)
|
||||
|
||||
// BashSession lexer.
|
||||
var BashSession = Register(MustNewLexer(
|
||||
&Config{
|
||||
Name: "BashSession",
|
||||
Aliases: []string{"bash-session", "console", "shell-session"},
|
||||
Filenames: []string{".sh-session"},
|
||||
MimeTypes: []string{"text/x-sh"},
|
||||
EnsureNL: true,
|
||||
},
|
||||
bashsessionRules,
|
||||
))
|
||||
|
||||
func bashsessionRules() Rules {
|
||||
return Rules{
|
||||
"root": {
|
||||
{`^((?:\[[^]]+@[^]]+\]\s?)?[#$%>])(\s*)(.*\n?)`, ByGroups(GenericPrompt, Text, Using("Bash")), nil},
|
||||
{`^.+\n?`, GenericOutput, nil},
|
||||
},
|
||||
}
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
<lexer>
|
||||
<config>
|
||||
<name>BashSession</name>
|
||||
<alias>bash-session</alias>
|
||||
<alias>console</alias>
|
||||
<alias>shell-session</alias>
|
||||
<filename>*.sh-session</filename>
|
||||
<mime_type>text/x-sh</mime_type>
|
||||
<ensure_nl>true</ensure_nl>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule pattern="^((?:\[[^]]+@[^]]+\]\s?)?[#$%>])(\s*)(.*\n?)">
|
||||
<bygroups>
|
||||
<token type="GenericPrompt"/>
|
||||
<token type="Text"/>
|
||||
<using lexer="bash"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="^.+\n?">
|
||||
<token type="GenericOutput"/>
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
+10
-7
@@ -38,7 +38,7 @@
|
||||
<rule pattern="#.*?\n">
|
||||
<token type="Comment"/>
|
||||
</rule>
|
||||
<rule pattern="@.*?\n">
|
||||
<rule pattern="^@.*?\n">
|
||||
<token type="CommentPreproc"/>
|
||||
</rule>
|
||||
<rule pattern="(body)(\s+)(\S+)(\s+)(control)">
|
||||
@@ -78,6 +78,12 @@
|
||||
<token type="Text"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="([\w.!&|()"$]+)(::)">
|
||||
<bygroups>
|
||||
<token type="NameClass"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="LiteralString"/>
|
||||
<push state="doublequotestring"/>
|
||||
@@ -96,12 +102,6 @@
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="([\w.!&|()]+)(::)">
|
||||
<bygroups>
|
||||
<token type="NameClass"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(\w+)(:)">
|
||||
<bygroups>
|
||||
<token type="KeywordDeclaration"/>
|
||||
@@ -111,6 +111,9 @@
|
||||
<rule pattern="@[{(][^)}]+[})]">
|
||||
<token type="NameVariable"/>
|
||||
</rule>
|
||||
<rule pattern="\$[(][^)]+[)]">
|
||||
<token type="NameVariable"/>
|
||||
</rule>
|
||||
<rule pattern="[(){},;]">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
|
||||
+12
@@ -14,6 +14,18 @@
|
||||
<rule pattern=" .*\n">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="\d+(,\d+)?(a|c|d)\d+(,\d+)?\n">
|
||||
<token type="GenericSubheading"/>
|
||||
</rule>
|
||||
<rule pattern="---\n">
|
||||
<token type="GenericStrong"/>
|
||||
</rule>
|
||||
<rule pattern="< .*\n">
|
||||
<token type="GenericDeleted"/>
|
||||
</rule>
|
||||
<rule pattern="> .*\n">
|
||||
<token type="GenericInserted"/>
|
||||
</rule>
|
||||
<rule pattern="\+.*\n">
|
||||
<token type="GenericInserted"/>
|
||||
</rule>
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@
|
||||
<rule pattern="(true|false|null)\b">
|
||||
<token type="KeywordConstant"/>
|
||||
</rule>
|
||||
<rule pattern="(class|interface)(\s+)">
|
||||
<rule pattern="(class|interface|record)(\s+)">
|
||||
<bygroups>
|
||||
<token type="KeywordDeclaration"/>
|
||||
<token type="Text"/>
|
||||
|
||||
+252
@@ -0,0 +1,252 @@
|
||||
<lexer>
|
||||
<config>
|
||||
<name>HolyC</name>
|
||||
<alias>holyc</alias>
|
||||
<filename>*.HC</filename>
|
||||
<filename>*.hc</filename>
|
||||
<filename>*.HH</filename>
|
||||
<filename>*.hh</filename>
|
||||
<filename>*.hc.z</filename>
|
||||
<filename>*.HC.Z</filename>
|
||||
<mime_type>text/x-chdr</mime_type>
|
||||
<mime_type>text/x-csrc</mime_type>
|
||||
<mime_type>image/x-xbitmap</mime_type>
|
||||
<mime_type>image/x-xpixmap</mime_type>
|
||||
<ensure_nl>true</ensure_nl>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="statement">
|
||||
<rule>
|
||||
<include state="whitespace"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="statements"/>
|
||||
</rule>
|
||||
<rule pattern="[{}]">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern=";">
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="function">
|
||||
<rule>
|
||||
<include state="whitespace"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="statements"/>
|
||||
</rule>
|
||||
<rule pattern=";">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern="\{">
|
||||
<token type="Punctuation"/>
|
||||
<push/>
|
||||
</rule>
|
||||
<rule pattern="\}">
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="string">
|
||||
<rule pattern=""">
|
||||
<token type="LiteralString"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})">
|
||||
<token type="LiteralStringEscape"/>
|
||||
</rule>
|
||||
<rule pattern="[^\\"\n]+">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
<rule pattern="\\\n">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
<rule pattern="\\">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="macro">
|
||||
<rule pattern="(include)(\s*(?:/[*].*?[*]/\s*)?)([^\n]+)">
|
||||
<bygroups>
|
||||
<token type="CommentPreproc"/>
|
||||
<token type="Text"/>
|
||||
<token type="CommentPreprocFile"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="[^/\n]+">
|
||||
<token type="CommentPreproc"/>
|
||||
</rule>
|
||||
<rule pattern="/[*](.|\n)*?[*]/">
|
||||
<token type="CommentMultiline"/>
|
||||
</rule>
|
||||
<rule pattern="//.*?\n">
|
||||
<token type="CommentSingle"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="/">
|
||||
<token type="CommentPreproc"/>
|
||||
</rule>
|
||||
<rule pattern="(?<=\\)\n">
|
||||
<token type="CommentPreproc"/>
|
||||
</rule>
|
||||
<rule pattern="\n">
|
||||
<token type="CommentPreproc"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="if0">
|
||||
<rule pattern="^\s*#if.*?(?<!\\)\n">
|
||||
<token type="CommentPreproc"/>
|
||||
<push/>
|
||||
</rule>
|
||||
<rule pattern="^\s*#el(?:se|if).*\n">
|
||||
<token type="CommentPreproc"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="^\s*#endif.*?(?<!\\)\n">
|
||||
<token type="CommentPreproc"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern=".*?\n">
|
||||
<token type="Comment"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="whitespace">
|
||||
<rule pattern="^#if\s+0">
|
||||
<token type="CommentPreproc"/>
|
||||
<push state="if0"/>
|
||||
</rule>
|
||||
<rule pattern="^#">
|
||||
<token type="CommentPreproc"/>
|
||||
<push state="macro"/>
|
||||
</rule>
|
||||
<rule pattern="^(\s*(?:/[*].*?[*]/\s*)?)(#if\s+0)">
|
||||
<bygroups>
|
||||
<usingself state="root"/>
|
||||
<token type="CommentPreproc"/>
|
||||
</bygroups>
|
||||
<push state="if0"/>
|
||||
</rule>
|
||||
<rule pattern="^(\s*(?:/[*].*?[*]/\s*)?)(#)">
|
||||
<bygroups>
|
||||
<usingself state="root"/>
|
||||
<token type="CommentPreproc"/>
|
||||
</bygroups>
|
||||
<push state="macro"/>
|
||||
</rule>
|
||||
<rule pattern="\n">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="\\\n">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="//(\n|[\w\W]*?[^\\]\n)">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
<rule pattern="/(\\\n)?[*][\w\W]*?[*](\\\n)?/">
|
||||
<token type="CommentMultiline"/>
|
||||
</rule>
|
||||
<rule pattern="/(\\\n)?[*][\w\W]*">
|
||||
<token type="CommentMultiline"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="statements">
|
||||
<rule pattern="(L?)(")">
|
||||
<bygroups>
|
||||
<token type="LiteralStringAffix"/>
|
||||
<token type="LiteralString"/>
|
||||
</bygroups>
|
||||
<push state="string"/>
|
||||
</rule>
|
||||
<rule pattern="(L?)(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')">
|
||||
<bygroups>
|
||||
<token type="LiteralStringAffix"/>
|
||||
<token type="LiteralStringChar"/>
|
||||
<token type="LiteralStringChar"/>
|
||||
<token type="LiteralStringChar"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*">
|
||||
<token type="LiteralNumberFloat"/>
|
||||
</rule>
|
||||
<rule pattern="(\d+\.\d*|\.\d+|\d+[fF])[fF]?">
|
||||
<token type="LiteralNumberFloat"/>
|
||||
</rule>
|
||||
<rule pattern="0x[0-9a-fA-F]+[LlUu]*">
|
||||
<token type="LiteralNumberHex"/>
|
||||
</rule>
|
||||
<rule pattern="0[0-7]+[LlUu]*">
|
||||
<token type="LiteralNumberOct"/>
|
||||
</rule>
|
||||
<rule pattern="\d+[LlUu]*">
|
||||
<token type="LiteralNumberInteger"/>
|
||||
</rule>
|
||||
<rule pattern="\*/">
|
||||
<token type="Error"/>
|
||||
</rule>
|
||||
<rule pattern="[~!%^&*+=|?:<>/-]">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
<rule pattern="[()\[\],.]">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern="(break|case|continue|default|do|else|for|goto|if|return|switch|while|throw|try|catch|extern|MOV|CALL|PUSH|LEAVE|RET|SUB|SHR|ADD|RETF|CMP|JNE|BTS|INT|XOR|JC|JZ|LOOP|POP|TEST|SHL|ADC|SBB|JMP|INC)\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="(U0|I8|U8|I16|U16|I32|U32|I64|U64|F64|Bool|class|union|DU8|DU16|DU32|DU64|RAX|RCX|RDX|RBX|RSP|RBP|RSI|RDI|EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI|AX|CX|DX|BX|SP|BP|SI|DI|SS|CS|DS|ES|FS|GS|CH|asm|const|extern|register|restrict|static|volatile|inline|_extern|_import|IMPORT|public)\b">
|
||||
<token type="KeywordType"/>
|
||||
</rule>
|
||||
<rule pattern="__()\b">
|
||||
<token type="KeywordReserved"/>
|
||||
</rule>
|
||||
<rule pattern="(NULL|TRUE|FALSE|ON|OFF)\b">
|
||||
<token type="NameBuiltin"/>
|
||||
</rule>
|
||||
<rule pattern="([a-zA-Z_]\w*)(\s*)(:)(?!:)">
|
||||
<bygroups>
|
||||
<token type="NameLabel"/>
|
||||
<token type="Text"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="\b[A-Za-z_]\w*(?=\s*\()">
|
||||
<token type="NameFunction"/>
|
||||
</rule>
|
||||
<rule pattern="[a-zA-Z_]\w*">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="root">
|
||||
<rule>
|
||||
<include state="whitespace"/>
|
||||
</rule>
|
||||
<rule pattern="((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;{]*)(\{)">
|
||||
<bygroups>
|
||||
<usingself state="root"/>
|
||||
<token type="NameFunction"/>
|
||||
<usingself state="root"/>
|
||||
<usingself state="root"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
<push state="function"/>
|
||||
</rule>
|
||||
<rule pattern="((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;]*)(;)">
|
||||
<bygroups>
|
||||
<usingself state="root"/>
|
||||
<token type="NameFunction"/>
|
||||
<usingself state="root"/>
|
||||
<usingself state="root"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule>
|
||||
<push state="statement"/>
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
<lexer>
|
||||
<config>
|
||||
<name>Natural</name>
|
||||
<alias>natural</alias>
|
||||
<filename>*.NSN</filename>
|
||||
<filename>*.NSP</filename>
|
||||
<filename>*.NSS</filename>
|
||||
<filename>*.NSH</filename>
|
||||
<filename>*.NSG</filename>
|
||||
<filename>*.NSL</filename>
|
||||
<filename>*.NSA</filename>
|
||||
<filename>*.NSM</filename>
|
||||
<filename>*.NSC</filename>
|
||||
<filename>*.NS7</filename>
|
||||
<mime_type>text/x-natural</mime_type>
|
||||
<case_insensitive>true</case_insensitive>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="common">
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="^\*.*$">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
<rule pattern="/\*.*$">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="variable-names">
|
||||
<rule pattern="[#+]?[\w\-\d]+">
|
||||
<token type="NameVariable"/>
|
||||
</rule>
|
||||
<rule pattern="\([a-zA-z]\d*\)">
|
||||
<token type="Other"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="root">
|
||||
<rule>
|
||||
<include state="common"/>
|
||||
</rule>
|
||||
<rule pattern="(?:END-DEFINE|END-IF|END-FOR|END-SUBROUTINE|END-ERROR|END|IGNORE)\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="(?:INIT|CONST)\s*<\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="(FORM)(\s+)(\w+)">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
<token type="NameFunction"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(DEFINE)(\s+)(SUBROUTINE)(\s+)([#+]?[\w\-\d]+)">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
<token type="NameFunction"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(PERFORM)(\s+)([#+]?[\w\-\d]+)">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
<token type="NameFunction"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(METHOD)(\s+)([\w~]+)">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
<token type="NameFunction"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(\s+)([\w\-]+)([=\-]>)([\w\-~]+)">
|
||||
<bygroups>
|
||||
<token type="Text"/>
|
||||
<token type="NameVariable"/>
|
||||
<token type="Operator"/>
|
||||
<token type="NameFunction"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(?<=(=|-)>)([\w\-~]+)(?=\()">
|
||||
<token type="NameFunction"/>
|
||||
</rule>
|
||||
<rule pattern="(TEXT)(-)(\d{3})">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Punctuation"/>
|
||||
<token type="LiteralNumberInteger"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(TEXT)(-)(\w{3})">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Punctuation"/>
|
||||
<token type="NameVariable"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(?i)\b(?<!-)(?<!#)(ENTIRE|BY|NAME|ARRAY|SPECIFIED|VIEW|MODULE|FUNCTION|RETURNS|AND|NUMERIC|OPTIONAL|END-PARSE|TRUE|END-RESULT|LEAVING|NOT|CONDITION|NUMBER|NO|EXP|FULL|REPLACE|INSERT|DOEND|LOG|ABS|ANY|REPEAT|SET|DLOGOFF|DOWNLOAD|BREAK|VALUES|DIVIDE|COMPRESS|UPDATE|SORTKEY|OR|END-FIND|END-ENDPAGE|REDUCE|IGNORE|MIN|WASTE|END-DEFINE|SUBSTR|END|FIND|ADD|INVESTIGATE|DNATIVE|CONST|COS|ENDHOC|SGN|COPY|REDEFINE|DEFINE|MULTIPLY|ASSIGN|LE|VALUE|COMPOSE|FALSE|POS|CALL|TAN|ERROR|CLOSE|PARSE|LT|WITH_CTE|END-SORT|EJECT|RESET|SHOW|LOCAL|PERFORM|TERMINATE|VAL|BACKOUT|END-LOOP|REJECT|SUM|CREATE|SORT|RETURN|AT|SIN|SETTIME|INT|NE|GLOBAL|END-SELECT|ELSE|DELETE|TOP|INCLUDE|END-ENDDATA|LOOP|OLD|SUSPEND|SKIP|SQRT|RULEVAR|NMIN|AVER|PROCESS|SELECT|MAP|USING|END-HISTOGRAM|MAX|NEWPAGE|ON|OFF|KEY|NAMED|CONTROL|PF1|PF2|PF3|PF4|PF5|PF6|PF7|PF8|PF9|INITIAL|WRITE|STORE|FETCH|ATN|RET|END-WORK|RESTORE|GET|LIMIT|END-ERROR|SEND|OPEN|ESCAPE|COMPUTE|COUNT|TRANSFER|RELEASE|DO|DYNAMIC|ROLLBACK|END-READ|DISPLAY|UPLOAD|END-DATA|NULL-HANDLE|NCOUNT|RESIZE|END-PROCESS|REQUEST|READ|SEPARATE|EQ|INPUT|DATA|END-START|STACK|REINPUT|INCDIC|INCCONT|END-IF|WHEN|END-BEFORE|WHILE|END-ENDFILE|END-TOPPAGE|INCDIR|PARAMETER|OBTAIN|CALLDBPROC|END-BROWSE|MOVE|SUBTRACT|DLOGON|EXAMINE|SUBSTRING|BEFORE|STOP|RUN|END-BREAK|EXPORT|END-SUBROUTINE|FOR|GE|PRINT|BROWSE|IMPORT|EXPAND|ALL|PASSW|FORMAT|GT|END-NOREC|END-DECIDE|END-FOR|CALLNAT|END-ALL|OPTIONS|RETRY|NONE|INCMAC|END-FILE|DECIDE|INIT|HISTOGRAM|NAVER|START|ACCEPT|COMMIT|TOTAL|IF|FRAC|END-REPEAT|UNTIL|TO|INTO|WITH|DELIMITER|FIRST|OF|INTO|SUBROUTINE|GIVING|POSITION)\b(?!-)">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="[0-9]+">
|
||||
<token type="LiteralNumberInteger"/>
|
||||
</rule>
|
||||
<rule pattern="(?<=(\s|.))(AND|OR|NOT|EQUAL|NE|EQ|GT|GE|LT|LE)\b">
|
||||
<token type="OperatorWord"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="variable-names"/>
|
||||
</rule>
|
||||
<rule pattern="[?*<>=\-+&]">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
<rule pattern="(?:(ESCAPE)(\s+)(MODULE|ROUTINE|BOTTOM|TOP))">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
<token type="Keyword"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="'(''|[^'])*'">
|
||||
<token type="LiteralStringSingle"/>
|
||||
</rule>
|
||||
<rule pattern="`([^`])*`">
|
||||
<token type="LiteralStringSingle"/>
|
||||
</rule>
|
||||
<rule pattern="([|}])([^{}|]*?)([|{])">
|
||||
<bygroups>
|
||||
<token type="Punctuation"/>
|
||||
<token type="LiteralStringSingle"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="[/;:()\[\],.]">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
+4
-4
@@ -44,10 +44,10 @@
|
||||
</rule>
|
||||
</state>
|
||||
<state name="int-suffix">
|
||||
<rule pattern="\'i(32|64)">
|
||||
<rule pattern="\'(i|u)(32|64)">
|
||||
<token type="LiteralNumberIntegerLong"/>
|
||||
</rule>
|
||||
<rule pattern="\'i(8|16)">
|
||||
<rule pattern="\'(u|(i|u)(8|16))">
|
||||
<token type="LiteralNumberInteger"/>
|
||||
</rule>
|
||||
<rule>
|
||||
@@ -55,7 +55,7 @@
|
||||
</rule>
|
||||
</state>
|
||||
<state name="float-suffix">
|
||||
<rule pattern="\'f(32|64)">
|
||||
<rule pattern="\'(f|d|f(32|64))">
|
||||
<token type="LiteralNumberFloat"/>
|
||||
</rule>
|
||||
<rule>
|
||||
@@ -176,7 +176,7 @@
|
||||
<rule pattern="\b((?![_\d])\w)(((?!_)\w)|(_(?!_)\w))*">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
<rule pattern="[0-9][0-9_]*(?=([e.]|\'f(32|64)))">
|
||||
<rule pattern="[0-9][0-9_]*(?=([e.]|\'(f|d|f(32|64))))">
|
||||
<token type="LiteralNumberFloat"/>
|
||||
<push state="float-suffix" state="float-number"/>
|
||||
</rule>
|
||||
|
||||
+2
-1
@@ -12,6 +12,7 @@
|
||||
<case_insensitive>true</case_insensitive>
|
||||
<dot_all>true</dot_all>
|
||||
<ensure_nl>true</ensure_nl>
|
||||
<priority>3</priority>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="magicfuncs">
|
||||
@@ -208,4 +209,4 @@
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
</lexer>
|
||||
|
||||
+1
-1
@@ -206,7 +206,7 @@
|
||||
</rule>
|
||||
</state>
|
||||
<state name="keywords">
|
||||
<rule pattern="(yield from|nonlocal|continue|finally|except|lambda|assert|global|return|raise|yield|while|break|await|async|pass|else|elif|with|try|for|del|as|if)\b">
|
||||
<rule pattern="(yield from|nonlocal|continue|finally|except|lambda|assert|global|return|raise|yield|while|break|await|async|pass|else|elif|with|try|for|del|as|if|match|case)\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="(False|True|None)\b">
|
||||
|
||||
+65
-19
@@ -23,9 +23,6 @@
|
||||
</rule>
|
||||
</state>
|
||||
<state name="lifetime">
|
||||
<rule pattern="(static|_)">
|
||||
<token type="NameBuiltin"/>
|
||||
</rule>
|
||||
<rule pattern="[a-zA-Z_]+\w*">
|
||||
<token type="NameAttribute"/>
|
||||
</rule>
|
||||
@@ -108,12 +105,30 @@
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="formatted_string">
|
||||
<rule pattern=""">
|
||||
<token type="LiteralString"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\\['"\\nrt]|\\(?=\n)|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}|\{\{|\}\}">
|
||||
<token type="LiteralStringEscape"/>
|
||||
</rule>
|
||||
<rule pattern="\{[^}]*\}">
|
||||
<token type="LiteralStringInterpol"/>
|
||||
</rule>
|
||||
<rule pattern="[^\\"\{\}]+">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
<rule pattern="\\">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="string">
|
||||
<rule pattern=""">
|
||||
<token type="LiteralString"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}">
|
||||
<rule pattern="\\['"\\nrt]|\\(?=\n)|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}">
|
||||
<token type="LiteralStringEscape"/>
|
||||
</rule>
|
||||
<rule pattern="[^\\"]+">
|
||||
@@ -171,11 +186,9 @@
|
||||
<token type="CommentMultiline"/>
|
||||
<push state="comment"/>
|
||||
</rule>
|
||||
<rule pattern="r#*"(?:\\.|[^\\;])*"#*">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
<rule pattern=""(?:\\.|[^\\"])*"">
|
||||
<rule pattern=""">
|
||||
<token type="LiteralString"/>
|
||||
<push state="string"/>
|
||||
</rule>
|
||||
<rule pattern="\$([a-zA-Z_]\w*|\(,?|\),?|,?)">
|
||||
<token type="CommentPreproc"/>
|
||||
@@ -223,9 +236,6 @@
|
||||
<rule pattern="(DoubleEndedIterator|ExactSizeIterator|IntoIterator|PartialOrd|PartialEq|ToString|Iterator|ToOwned|Default|Result|String|FnOnce|Extend|Option|FnMut|Unpin|Sized|AsRef|AsMut|Clone|None|From|Into|Sync|drop|Send|Drop|Copy|Some|Ord|Err|Box|Vec|Eq|Ok|Fn)\b">
|
||||
<token type="NameBuiltin"/>
|
||||
</rule>
|
||||
<rule pattern="(is_powerpc64_feature_detected|is_aarch64_feature_detected|is_powerpc_feature_detected|is_mips64_feature_detected|is_mips_feature_detected|is_x86_feature_detected|is_arm_feature_detected|debug_assert_ne|debug_assert_eq|format_args_nl|concat_idents|unimplemented|include_bytes|compile_error|debug_assert|thread_local|trace_macros|macro_rules|format_args|module_path|unreachable|include_str|option_env|global_asm|log_syntax|stringify|assert_ne|assert_eq|llvm_asm|eprintln|include|matches|println|writeln|format|column|assert|concat|eprint|write|panic|print|file|todo|line|env|dbg|vec|cfg|asm)!">
|
||||
<token type="NameFunctionMagic"/>
|
||||
</rule>
|
||||
<rule pattern="::\b">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
@@ -243,8 +253,11 @@
|
||||
<rule pattern="'(\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'">
|
||||
<token type="LiteralStringChar"/>
|
||||
</rule>
|
||||
<rule pattern="b'(\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'">
|
||||
<token type="LiteralStringChar"/>
|
||||
<rule pattern="(b)('(?:\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\0|.)')">
|
||||
<bygroups>
|
||||
<token type="LiteralStringAffix"/>
|
||||
<token type="LiteralStringChar"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="0b[01_]+">
|
||||
<token type="LiteralNumberBin"/>
|
||||
@@ -266,15 +279,25 @@
|
||||
<token type="LiteralNumberInteger"/>
|
||||
<push state="number_lit"/>
|
||||
</rule>
|
||||
<rule pattern="b"">
|
||||
<token type="LiteralString"/>
|
||||
<rule pattern="(b)(")">
|
||||
<bygroups>
|
||||
<token type="LiteralStringAffix"/>
|
||||
<token type="LiteralString"/>
|
||||
</bygroups>
|
||||
<push state="bytestring"/>
|
||||
</rule>
|
||||
<rule pattern="(?s)b?r(#*)".*?"\1">
|
||||
<token type="LiteralString"/>
|
||||
<rule pattern="(?s)(b?r)(#*)(".*?"\2)">
|
||||
<bygroups>
|
||||
<token type="LiteralStringAffix"/>
|
||||
<token type="LiteralString"/>
|
||||
<token type="LiteralString"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="'(static|_)">
|
||||
<token type="NameBuiltin"/>
|
||||
</rule>
|
||||
<rule pattern="'">
|
||||
<token type="Operator"/>
|
||||
<token type="NameAttribute"/>
|
||||
<push state="lifetime"/>
|
||||
</rule>
|
||||
<rule pattern="\.\.=?">
|
||||
@@ -286,6 +309,26 @@
|
||||
<rule pattern="[+\-*/%&|<>^!~@=:?]">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
<rule pattern="\b(r#)?_?([A-Z][A-Z0-9_]*){2,}\b">
|
||||
<token type="NameConstant"/>
|
||||
</rule>
|
||||
<rule pattern="((?:e?print(?:ln)?|format(?:_args)?|panic|todo|un(?:reachable|implemented))!)(\s*)(\()(\s*)(")">
|
||||
<bygroups>
|
||||
<token type="NameFunctionMagic"/>
|
||||
<token type="TextWhitespace"/>
|
||||
<token type="Punctuation"/>
|
||||
<token type="TextWhitespace"/>
|
||||
<token type="LiteralString"/>
|
||||
</bygroups>
|
||||
<push state="formatted_string"/>
|
||||
</rule>
|
||||
<rule pattern="([a-zA-Z_]\w*!)(\s*)(\(|\[|\{)">
|
||||
<bygroups>
|
||||
<token type="NameFunctionMagic"/>
|
||||
<token type="TextWhitespace"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(r#)?[a-zA-Z_]\w*">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
@@ -307,8 +350,11 @@
|
||||
<rule pattern="&">
|
||||
<token type="KeywordPseudo"/>
|
||||
</rule>
|
||||
<rule pattern="'(static|_)">
|
||||
<token type="NameBuiltin"/>
|
||||
</rule>
|
||||
<rule pattern="'">
|
||||
<token type="Operator"/>
|
||||
<token type="NameAttribute"/>
|
||||
<push state="lifetime"/>
|
||||
</rule>
|
||||
<rule pattern="(DoubleEndedIterator|ExactSizeIterator|IntoIterator|PartialOrd|PartialEq|ToString|Iterator|ToOwned|Default|Result|String|FnOnce|Extend|Option|FnMut|Unpin|Sized|AsRef|AsMut|Clone|None|From|Into|Sync|drop|Send|Drop|Copy|Some|Ord|Err|Box|Vec|Eq|Ok|Fn)\b">
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@
|
||||
</rule>
|
||||
</state>
|
||||
<state name="value">
|
||||
<rule pattern="([>|](?:[+-])?)(\n(^ {1,})(?:.*\n*(?:^\3 *).*)*)">
|
||||
<rule pattern="([>|](?:[+-])?)(\n(^ {1,})(?:(?:.*\n*(?:^\3 *).*)+|.*))">
|
||||
<bygroups>
|
||||
<token type="Punctuation"/>
|
||||
<token type="LiteralStringDoc"/>
|
||||
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
|
||||
<lexer>
|
||||
<config>
|
||||
<name>Z80 Assembly</name>
|
||||
<alias>z80</alias>
|
||||
<filename>*.z80</filename>
|
||||
<filename>*.asm</filename>
|
||||
<case_insensitive>true</case_insensitive>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule pattern=";.*?$"><token type="CommentSingle"/></rule>
|
||||
<rule pattern="^[.\w]+:"><token type="NameLabel"/></rule>
|
||||
<rule pattern="((0x)|\$)[0-9a-fA-F]+"><token type="LiteralNumberHex"/></rule>
|
||||
<rule pattern="[0-9][0-9a-fA-F]+h"><token type="LiteralNumberHex"/></rule>
|
||||
<rule pattern="((0b)|%)[01]+"><token type="LiteralNumberBin"/></rule>
|
||||
<rule pattern="-?[0-9]+"><token type="LiteralNumberInteger"/></rule>
|
||||
<rule pattern="""><token type="LiteralString"/><push state="string"/></rule>
|
||||
<rule pattern="'\\?.'"><token type="LiteralStringChar"/></rule>
|
||||
<rule pattern="[,=()\\]"><token type="Punctuation"/></rule>
|
||||
<rule pattern="^\s*#\w+"><token type="CommentPreproc"/></rule>
|
||||
<rule pattern="\.(db|dw|end|org|byte|word|fill|block|addinstr|echo|error|list|nolist|equ|show|option|seek)"><token type="NameBuiltin"/></rule>
|
||||
<rule pattern="(ex|exx|ld|ldd|lddr|ldi|ldir|pop|push|adc|add|cp|cpd|cpdr|cpi|cpir|cpl|daa|dec|inc|neg|sbc|sub|and|bit|ccf|or|res|scf|set|xor|rl|rla|rlc|rlca|rld|rr|rra|rrc|rrca|rrd|sla|sra|srl|call|djnz|jp|jr|ret|rst|nop|reti|retn|di|ei|halt|im|in|ind|indr|ini|inir|out|outd|otdr|outi|otir)"><token type="Keyword"/></rule>
|
||||
<rule pattern="(z|nz|c|nc|po|pe|p|m)"><token type="Keyword"/></rule>
|
||||
<rule pattern="[+-/*~\^&|]"><token type="Operator"/></rule>
|
||||
<rule pattern="\w+"><token type="Text"/></rule>
|
||||
<rule pattern="\s+"><token type="Text"/></rule>
|
||||
</state>
|
||||
<state name="string">
|
||||
<rule pattern="[^"\\]+"><token type="LiteralString"/></rule>
|
||||
<rule pattern="\\."><token type="LiteralStringEscape"/></rule>
|
||||
<rule pattern="""><token type="LiteralString"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
|
||||
+1
-1
@@ -655,7 +655,7 @@ func rakuRules() Rules {
|
||||
// Substitution
|
||||
{`(?<=^|\b|\s)(?<!\.)(ss|S|s|TR|tr)\b(\s*)`, ByGroups(Keyword, Text), Push("substitution")},
|
||||
{keywordsPattern, Keyword, nil},
|
||||
{builtinTypesPattern, NameBuiltin, nil},
|
||||
{builtinTypesPattern, KeywordType, nil},
|
||||
{builtinRoutinesPattern, NameBuiltin, nil},
|
||||
// Class name
|
||||
{
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
<style name="vulcan">
|
||||
<entry type="Other" style="#c9c9c9"/>
|
||||
<entry type="Error" style="#cf5967"/>
|
||||
<entry type="Background" style="#282c34"/>
|
||||
<entry type="Background" style="bg:#282c34"/>
|
||||
<entry type="Keyword" style="#7fbaf5"/>
|
||||
<entry type="KeywordConstant" style="#cf5967 bg:#43454f"/>
|
||||
<entry type="KeywordDeclaration" style="#7fbaf5"/>
|
||||
@@ -71,4 +71,4 @@
|
||||
<entry type="GenericUnderline" style="underline"/>
|
||||
<entry type="Text" style="#c9c9c9"/>
|
||||
<entry type="TextWhitespace" style="#c9c9c9"/>
|
||||
</style>
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user