mirror of
https://github.com/sharkdp/bat.git
synced 2025-10-30 14:43:57 +00:00
Move syntaxes, fixes #874
This commit is contained in:
1
assets/syntaxes/02_Extra/AWK
vendored
Submodule
1
assets/syntaxes/02_Extra/AWK
vendored
Submodule
Submodule assets/syntaxes/02_Extra/AWK added at 1ce5f90d44
1
assets/syntaxes/02_Extra/AsciiDoc
vendored
Submodule
1
assets/syntaxes/02_Extra/AsciiDoc
vendored
Submodule
Submodule assets/syntaxes/02_Extra/AsciiDoc added at d0089991e5
283
assets/syntaxes/02_Extra/AsciiDoc.sublime-syntax
vendored
Normal file
283
assets/syntaxes/02_Extra/AsciiDoc.sublime-syntax
vendored
Normal file
@@ -0,0 +1,283 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: AsciiDoc
|
||||
comment: |
|
||||
A very early hack. Mostly ripped from other syntaxes.
|
||||
Only the very basic stuff is working.
|
||||
file_extensions:
|
||||
- adoc
|
||||
- asciidoc
|
||||
- asc
|
||||
scope: text.html.asciidoc
|
||||
contexts:
|
||||
main:
|
||||
- include: heading_inline
|
||||
- include: heading-block
|
||||
- include: heading-blockattr
|
||||
- match: \$\$(?!\$)
|
||||
push:
|
||||
- meta_scope: comment.block.passthrough.macro.doubledollar.asciidoc
|
||||
- match: \$\$(?!\$)
|
||||
pop: true
|
||||
- match: \+\+\+(?!\+)
|
||||
push:
|
||||
- meta_scope: comment.block.passthrough.macro.tripeplus.asciidoc
|
||||
- match: \+\+\+(?!\+)
|
||||
pop: true
|
||||
- match: (//).*$\n?
|
||||
scope: comment.line.double-slash.asciidoc
|
||||
- match: |-
|
||||
(?x)^
|
||||
(?= ([/+-.*_=]{4,})\s*$
|
||||
| ([ \t]{1,})
|
||||
| [=]{1,6}\s*+
|
||||
| [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$
|
||||
)
|
||||
push:
|
||||
- meta_scope: meta.block-level.asciidoc
|
||||
- match: |-
|
||||
(?x)^
|
||||
(?! \1
|
||||
| ([ \t]{1,})
|
||||
| [=]{1,6}\s*+
|
||||
| [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$
|
||||
)
|
||||
pop: true
|
||||
- include: block_quote
|
||||
- include: block_raw
|
||||
- include: heading_inline
|
||||
- include: heading-block
|
||||
- include: separator
|
||||
- match: '^[ ]{0,3}([*+-])(?=\s)'
|
||||
captures:
|
||||
1: punctuation.definition.list_item.asciidoc
|
||||
push:
|
||||
- meta_scope: markup.list.unnumbered.asciidoc
|
||||
- match: ^(?=\S)
|
||||
captures:
|
||||
1: punctuation.definition.list_item.asciidoc
|
||||
pop: true
|
||||
- include: list-paragraph
|
||||
- match: '^[ ]{0,3}[0-9]+(\.)(?=\s)'
|
||||
captures:
|
||||
1: punctuation.definition.list_item.asciidoc
|
||||
push:
|
||||
- meta_scope: markup.list.numbered.asciidoc
|
||||
- match: ^(?=\S)
|
||||
captures:
|
||||
1: punctuation.definition.list_item.asciidoc
|
||||
pop: true
|
||||
- include: list-paragraph
|
||||
- match: '^([/+-.*_=]){4,}\s*$'
|
||||
push:
|
||||
- meta_scope: comment.block.asciidoc
|
||||
- match: '^\1{4,}\s*$'
|
||||
pop: true
|
||||
- match: '^([/+.]){4,}\s*$'
|
||||
comment: asciidoc formatting is disabled inside certain blocks.
|
||||
push:
|
||||
- meta_scope: meta.disable-asciidoc
|
||||
- match: '^[/+.]{4,}\s*$'
|
||||
pop: true
|
||||
- match: '^(?=\S)(?![=-]{3,}(?=$))(?!\.\S+)'
|
||||
push:
|
||||
- meta_scope: meta.paragraph.asciidoc
|
||||
- match: '^(?:\s*$|(?=[ ]{,3}>.))|(?=[ \t]*\n)(?<=^===|^====|=====|^---|^----|-----)[ \t]*\n'
|
||||
pop: true
|
||||
- include: inline
|
||||
- include: scope:text.html.basic
|
||||
- match: '^(={3,})(?=[ \t]*$)'
|
||||
scope: markup.heading.0.asciidoc
|
||||
captures:
|
||||
1: punctuation.definition.heading.asciidoc
|
||||
- match: '^(-{3,})(?=[ \t]*$)'
|
||||
scope: markup.heading.1.asciidoc
|
||||
captures:
|
||||
1: punctuation.definition.heading.asciidoc
|
||||
- match: '^(~{3,})(?=[ \t]*$)'
|
||||
scope: markup.heading.2.asciidoc
|
||||
captures:
|
||||
1: punctuation.definition.heading.asciidoc
|
||||
- match: '^(\^{3,})(?=[ \t]*$)'
|
||||
scope: markup.heading.3.asciidoc
|
||||
captures:
|
||||
1: punctuation.definition.heading.asciidoc
|
||||
- match: '^(\+{3,})(?=[ \t]*$)'
|
||||
scope: markup.heading.4.asciidoc
|
||||
captures:
|
||||
1: punctuation.definition.heading.asciidoc
|
||||
attribute-entry:
|
||||
- match: '^:[-_. A-Za-z0-9]+:\s*(.*)\s*$'
|
||||
scope: variable.other
|
||||
attribute-reference:
|
||||
- match: "{[-_. A-Za-z0-9]+}"
|
||||
scope: variable.other
|
||||
attribute-reference-predefined:
|
||||
- match: "{(?i:amp|asciidoc-dir|asciidoc-file|asciidoc-version|author|authored|authorinitials|backend-docbook|backend-xhtml11|backend-html4|docbook-article|xhtml11-article|html4-article|docbook-book|xhtml11-book|html4-book|docbook-manpage|xhtml11-manpage|html4-manpage|backend|backslash|basebackend|brvbar|date|docdate|doctime|docname|docfile|docdir|doctitle|doctype-article|doctype-book|doctype-manpage|doctype|email|empty|encoding|filetype|firstname|gt|id|indir|infile|lastname|level|listindex|localdate|localtime|lt|manname|manpurpose|mantitle|manvolnum|middlename|nbsp|outdir|outfile|reftext|revision|sectnum|showcomments|title|two_colons|two_semicolons|user-dir|verbose)}"
|
||||
scope: support.variable
|
||||
block_quote:
|
||||
- match: '^([/+-.*_=]){4,}\s*$'
|
||||
push:
|
||||
- meta_scope: comment.block.asciidoc
|
||||
- match: '^\1{4,}\s*$'
|
||||
pop: true
|
||||
block_raw:
|
||||
- match: '\G([ ]{4}|\t).*$\n?'
|
||||
scope: markup.raw.block.asciidoc
|
||||
bracket:
|
||||
- match: '<(?![a-z/?\$!])'
|
||||
comment: |
|
||||
asciidoc will convert this for us. We match it so that the
|
||||
HTML grammar will not mark it up as invalid.
|
||||
scope: meta.other.valid-bracket.asciidoc
|
||||
character-replacements:
|
||||
- match: \(C\)|\(R\)|\(TM\)|--(?!-)|\.\.\.(?!\.)|->|<-|=>|<=
|
||||
scope: constant.character.asciidoc
|
||||
escape:
|
||||
- match: '\\[-`*_#+.!(){}\[\]\\>:]'
|
||||
scope: constant.character.escape.asciidoc
|
||||
heading:
|
||||
- match: '(?m)^(\S+)$([=-~^+])+\s*$'
|
||||
scope: markup.heading.asciidoc
|
||||
captures:
|
||||
1: punctuation.definition.heading.asciidoc
|
||||
heading-block:
|
||||
- match: ^\.(\w.*)$
|
||||
scope: markup.heading.asciidoc
|
||||
captures:
|
||||
1: punctuation.definition.heading.asciidoc
|
||||
heading-blockattr:
|
||||
- match: '^\[\[?(\w.*)\]$'
|
||||
scope: markup.heading.asciidoc
|
||||
captures:
|
||||
1: punctuation.definition.heading.asciidoc
|
||||
heading_inline:
|
||||
- match: '\G(={1,6})(?!=)\s*(?=\S)'
|
||||
captures:
|
||||
1: punctuation.definition.heading.asciidoc
|
||||
push:
|
||||
- meta_scope: markup.heading.asciidoc
|
||||
- meta_content_scope: entity.name.section.asciidoc
|
||||
- match: \s*(=*)$\n?
|
||||
captures:
|
||||
1: punctuation.definition.heading.asciidoc
|
||||
pop: true
|
||||
- include: inline
|
||||
inline:
|
||||
- include: line-break
|
||||
- include: line-page-break
|
||||
- include: line-ruler
|
||||
- include: escape
|
||||
- include: passthrough-macro-trippleplus-inline
|
||||
- include: passthrough-macro-doubledollar-inline
|
||||
- include: character-replacements
|
||||
- include: bracket
|
||||
- include: raw
|
||||
- include: text-quote-single
|
||||
- include: text-quote-double
|
||||
- include: text-quote-other
|
||||
- include: text-bold-unconstrained
|
||||
- include: text-italic-unconstrained
|
||||
- include: text-monospace-unconstrained
|
||||
- include: text-unquoted-unconstrained
|
||||
- include: text-bold
|
||||
- include: text-italic
|
||||
- include: text-monospace
|
||||
- include: text-unquoted
|
||||
- include: attribute-entry
|
||||
- include: attribute-reference-predefined
|
||||
- include: attribute-reference
|
||||
line-break:
|
||||
- match: (?<=\S)\s+\+$
|
||||
scope: constant.character.escape.asciidoc
|
||||
line-page-break:
|
||||
- match: "^<{3,}$"
|
||||
scope: constant.character.escape.asciidoc
|
||||
line-ruler:
|
||||
- match: "^'{3,}$"
|
||||
scope: constant.character.escape.asciidoc
|
||||
list-paragraph:
|
||||
- match: \G\s+(?=\S)
|
||||
push:
|
||||
- meta_scope: meta.paragraph.list.asciidoc
|
||||
- match: ^\s*$
|
||||
pop: true
|
||||
- include: inline
|
||||
passthrough-macro-doubledollar-inline:
|
||||
- match: '(?:\[.*\])?\$\$(?!\$).+\$\$(?!\$)'
|
||||
scope: comment.block.passthrough.asciidoc
|
||||
passthrough-macro-trippleplus-inline:
|
||||
- match: '(?:\[.*\])?\+\+\+(?!\+).+\+\+\+(?!\+)'
|
||||
scope: comment.block.passthrough.asciidoc
|
||||
raw:
|
||||
- match: '(`+)(?:[^`]|(?!(?<!`)\1(?!`))`)*+(\1)'
|
||||
scope: markup.raw.inline.asciidoc
|
||||
captures:
|
||||
1: punctuation.definition.raw.asciidoc
|
||||
2: punctuation.definition.raw.asciidoc
|
||||
separator:
|
||||
- match: '\G[ ]{,3}([-*_])([ ]{,2}\1){2,}[ \t]*$\n?'
|
||||
scope: meta.separator.asciidoc
|
||||
text-bold:
|
||||
- match: (?<!\w)(\*)(?=\S)
|
||||
captures:
|
||||
1: punctuation.definition.bold.asciidoc
|
||||
push:
|
||||
- meta_scope: markup.bold.asciidoc
|
||||
- match: (?<=\S)(\1)(?!\w)
|
||||
captures:
|
||||
1: punctuation.definition.bold.asciidoc
|
||||
pop: true
|
||||
text-bold-unconstrained:
|
||||
- match: (\*\*)(?=\S)
|
||||
captures:
|
||||
1: punctuation.definition.bold.asciidoc
|
||||
push:
|
||||
- meta_scope: markup.bold.asciidoc
|
||||
- match: (?<=\S)(\1)
|
||||
captures:
|
||||
1: punctuation.definition.bold.asciidoc
|
||||
pop: true
|
||||
text-italic:
|
||||
- match: (?<!\w)('|_)(?=\S)
|
||||
captures:
|
||||
1: punctuation.definition.italic.asciidoc
|
||||
push:
|
||||
- meta_scope: markup.italic.asciidoc
|
||||
- match: (?<=\S)(\1)((?!\1)|(?=\1\1))(?!\w)
|
||||
captures:
|
||||
1: punctuation.definition.italic.asciidoc
|
||||
pop: true
|
||||
text-italic-unconstrained:
|
||||
- match: (__)(?=\S)
|
||||
captures:
|
||||
1: punctuation.definition.italic.asciidoc
|
||||
push:
|
||||
- meta_scope: markup.italic.asciidoc
|
||||
- match: (?<=\S)(\1)
|
||||
captures:
|
||||
1: punctuation.definition.italic.asciidoc
|
||||
pop: true
|
||||
text-monospace:
|
||||
- match: '(?<!\w)([\+`])[^\+]*(\1)(?!\w)'
|
||||
scope: string.interpolated.asciidoc
|
||||
text-monospace-unconstrained:
|
||||
- match: (\+\+).*(\1)
|
||||
scope: string.interpolated.asciidoc
|
||||
text-quote-double:
|
||||
- match: '(?<!\w)(?:\[.*\])?``(?!`).*''''(?!'')(?!\w)'
|
||||
scope: string.quoted.double.asciidoc
|
||||
text-quote-other:
|
||||
- match: '(?<!\w)(?:\[.*\])?([~^]).*(\1)(?!\w)'
|
||||
scope: string.quoted.single.asciidoc
|
||||
text-quote-single:
|
||||
- match: '(?<!\w)(?:\[.*\])?`(?!`).*''(?!'')(?!\w)'
|
||||
comment: "TODO: Sub- and Superscript are really unconstrained"
|
||||
scope: string.quoted.single.asciidoc
|
||||
text-unquoted:
|
||||
- match: (?<!\w)(#).*(\1)(?!\w)
|
||||
scope: string.unquoted.asciidoc
|
||||
text-unquoted-unconstrained:
|
||||
- match: (##).*(\1)
|
||||
scope: string.unquoted.asciidoc
|
||||
1
assets/syntaxes/02_Extra/Assembly (ARM)
vendored
Submodule
1
assets/syntaxes/02_Extra/Assembly (ARM)
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Assembly (ARM) added at 08f33d80de
172
assets/syntaxes/02_Extra/Assembly (ARM).sublime-syntax
vendored
Normal file
172
assets/syntaxes/02_Extra/Assembly (ARM).sublime-syntax
vendored
Normal file
@@ -0,0 +1,172 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: ARM Assembly
|
||||
file_extensions:
|
||||
- s
|
||||
- S
|
||||
scope: source.asm.arm
|
||||
contexts:
|
||||
main:
|
||||
- match: "@.*$"
|
||||
scope: comment.line
|
||||
- match: //.*$
|
||||
scope: comment.line
|
||||
- match: ;.*$
|
||||
scope: comment.line
|
||||
- match: ^\s*\#\s*if\s+0\b
|
||||
push:
|
||||
- meta_scope: comment.preprocessor
|
||||
- match: ^\s*\#\s*endif\b
|
||||
pop: true
|
||||
- match: /\*
|
||||
push:
|
||||
- meta_scope: comment.block
|
||||
- match: \*/
|
||||
pop: true
|
||||
- match: |-
|
||||
(?x)
|
||||
^\s*\#\s*(define)\s+ # define
|
||||
((?<id>[a-zA-Z_][a-zA-Z0-9_]*)) # macro name
|
||||
(?: # and optionally:
|
||||
(\() # an open parenthesis
|
||||
(
|
||||
\s* \g<id> \s* # first argument
|
||||
((,) \s* \g<id> \s*)* # additional arguments
|
||||
(?:\.\.\.)? # varargs ellipsis?
|
||||
)
|
||||
(\)) # a close parenthesis
|
||||
)?
|
||||
captures:
|
||||
1: keyword.control.import.define.c
|
||||
2: entity.name.function.preprocessor.c
|
||||
4: punctuation.definition.parameters.c
|
||||
5: variable.parameter.preprocessor.c
|
||||
7: punctuation.separator.parameters.c
|
||||
8: punctuation.definition.parameters.c
|
||||
push:
|
||||
- meta_scope: meta.preprocessor.macro.c
|
||||
- match: (?=(?://|/\*))|$
|
||||
pop: true
|
||||
- match: (?>\\\s*\n)
|
||||
scope: punctuation.separator.continuation.c
|
||||
- include: $top_level_main
|
||||
- match: ^\s*#\s*(error|warning)\b
|
||||
captures:
|
||||
1: keyword.control.import.error.c
|
||||
push:
|
||||
- meta_scope: meta.preprocessor.diagnostic.c
|
||||
- match: $
|
||||
captures:
|
||||
1: keyword.control.import.error.c
|
||||
pop: true
|
||||
- match: (?>\\\s*\n)
|
||||
scope: punctuation.separator.continuation.c
|
||||
- match: ^\s*#\s*(include|import)\b\s+
|
||||
captures:
|
||||
1: keyword.control.import.include.c
|
||||
push:
|
||||
- meta_scope: meta.preprocessor.c.include
|
||||
- match: (?=(?://|/\*))|$
|
||||
captures:
|
||||
1: keyword.control.import.include.c
|
||||
pop: true
|
||||
- match: (?>\\\s*\n)
|
||||
scope: punctuation.separator.continuation.c
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.c
|
||||
push:
|
||||
- meta_scope: string.quoted.double.include.c
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.c
|
||||
pop: true
|
||||
- match: <
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.c
|
||||
push:
|
||||
- meta_scope: string.quoted.other.lt-gt.include.c
|
||||
- match: ">"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.c
|
||||
pop: true
|
||||
- match: '((?i)([xw][0-9]|[xw]1[0-9]||[xw]2[0-9]|[wx]30|wzr|xzr|wsp|fpsr|fpcr|[rcp]1[0-5]|[rcp][0-9]|a[1-4]|v[1-8]|sl|sb|fp|ip|sp|lr|(c|s)psr(_c)?|pc|[sd]3[0-1]|[sd][12][0-9]|[sd][0-9]|fpsid|fpscr|fpexc|q3[0-1]|q2[0-9]|q1[0-9]|q[0-9]|APSR_nzcv|sy)!?(?-i))?\b'
|
||||
scope: storage.other.register
|
||||
- match: \.(?i)(globl|global|macro|endm|purgem|if|elseif|else|endif|section|text|arm|align|balign|irp|rept|endr|req|unreq|error|short|func|endfunc|hidden|type|fpu|arch|code|altmacro|object_arch|word|int|string)(?-i)\b
|
||||
scope: keyword.control.directive
|
||||
- match: armv(2a?|3m?|4t?|5t?e?6(j|t2|zk?|-m)?|7v?e?(-(a|r|m))?|8-a(\+crc)?)
|
||||
scope: keyword.control.arch.arm
|
||||
- match: ^\s*#\s*(define|defined|elif|else|if|ifdef|ifndef|line|pragma|undef|endif)\b
|
||||
captures:
|
||||
1: keyword.control.import.c
|
||||
push:
|
||||
- meta_scope: meta.preprocessor.c
|
||||
- match: (?=(?://|/\*))|$
|
||||
captures:
|
||||
1: keyword.control.import.c
|
||||
pop: true
|
||||
- match: (?>\\\s*\n)
|
||||
scope: punctuation.separator.continuation.c
|
||||
- match: |-
|
||||
(?x)\b((?i)
|
||||
(
|
||||
(bf(c|i)|(u|s)bfx|(u|s)xta?(h|b)?) |
|
||||
(v(add|cvt|sub|mov|trn|cmp|div|qdmulh|mrs|mul|ld1|qadd|qshrun|st[1234]|addw|mull|mlal|rshrn|swp|qmovun)|qmovun)(\.([isup]?8|[isupf]?16|[isuf]?32|[isu]?64))* |
|
||||
(and|m(rs|sr)|eor|sub|rsb|add|adc|sbc|rsc|tst|teq|cmp|cmn|orr|mov|bic|mvn |
|
||||
(neg) |
|
||||
(lsr|lsl|ror|asr) # shift ops either pseudo ops or actual shifts
|
||||
)s? |
|
||||
(mul|mla|mull|smlabb) |
|
||||
(mov(w|t)) |
|
||||
rev(8|16)? |
|
||||
(pld|adr|adrl|vswp)
|
||||
)
|
||||
(ne|eq|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|lt|le|gt|ge|al)?(?-i))?\b
|
||||
scope: support.function.mnemonic.arithmetic
|
||||
- match: |-
|
||||
(?x)\b((?i)(
|
||||
swi|svc|wfi|
|
||||
dmb | clrex | dsb | isb |
|
||||
v(ldr|str|push|pop) |
|
||||
(push|pop) |
|
||||
(st|ld)(
|
||||
p |
|
||||
r(ex|s?(h|b)|d)? |
|
||||
m(
|
||||
(f|e)(d|a) |
|
||||
(d|i)(b|a)
|
||||
)?
|
||||
) |
|
||||
b(l|x|lx|lr|r)? |
|
||||
(i|e)?ret|
|
||||
b\.(eq|ne|hs|cs|lo|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|nv)+ |
|
||||
(c|t)?bn?z|
|
||||
)+(ne|eq|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|lt|le|gt|ge|al)?(?-i))\b
|
||||
scope: support.function.mnemonic.memory
|
||||
- match: '\b((?i)(def(b|w|s)|equ|(include|get)(\s+([a-zA-Z_]+[0-9a-zA-Z_]*|[0-9]+[a-zA-Z_]+[0-9a-zA-Z_]*?)\.s)?)?(?-i))\b'
|
||||
scope: meta.preprocessor.c.include
|
||||
- match: \b((?i)(align)(?-i))?\b
|
||||
scope: storage.type.c.memaccess
|
||||
- match: \s+\".+\"
|
||||
scope: string
|
||||
- match: \b((?i)nop(ne|eq|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|lt|le|gt|ge|al)?(?-i))?\b
|
||||
scope: comment.nop
|
||||
- match: '\s\['
|
||||
push:
|
||||
- meta_scope: storage.type.c.memaccess
|
||||
- match: '\]'
|
||||
pop: true
|
||||
- match: (?>\\\s*\n)
|
||||
scope: punctuation.separator.continuation.c
|
||||
- include: $top_level_main
|
||||
- match: (\b|\s+)\=\b
|
||||
scope: keyword.control.evaluation
|
||||
- match: '(\b|\s+)(\#)?-?(0x|&)[0-9a-fA-F_]+\b'
|
||||
scope: constant.numeric.hex
|
||||
- match: '(\b|\s+)\#-?[0-9a-zA-Z_]+\b'
|
||||
scope: constant.numeric.literal
|
||||
- match: '(\b|\s+)[0-9]+\b'
|
||||
scope: constant.numeric.dec
|
||||
- match: '\b([a-zA-Z_]+[0-9a-zA-Z_]*|[0-9]+[a-zA-Z_]+[0-9a-zA-Z_]*)\b'
|
||||
scope: meta.function.source.arm.label
|
||||
1367
assets/syntaxes/02_Extra/Assembly (x86_64).sublime-syntax
vendored
Normal file
1367
assets/syntaxes/02_Extra/Assembly (x86_64).sublime-syntax
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
assets/syntaxes/02_Extra/CMake
vendored
Submodule
1
assets/syntaxes/02_Extra/CMake
vendored
Submodule
Submodule assets/syntaxes/02_Extra/CMake added at aba96a0862
1
assets/syntaxes/02_Extra/CSV
vendored
Submodule
1
assets/syntaxes/02_Extra/CSV
vendored
Submodule
Submodule assets/syntaxes/02_Extra/CSV added at 4786d037a7
46
assets/syntaxes/02_Extra/CSV.sublime-syntax
vendored
Normal file
46
assets/syntaxes/02_Extra/CSV.sublime-syntax
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Advanced CSV
|
||||
file_extensions:
|
||||
- csv
|
||||
- tsv
|
||||
scope: text.advanced_csv
|
||||
contexts:
|
||||
main:
|
||||
- match: (\")
|
||||
captures:
|
||||
1: string.quoted.double.advanced_csv
|
||||
push:
|
||||
- meta_scope: meta.quoted.advanced_csv
|
||||
- match: (\")
|
||||
captures:
|
||||
1: string.quoted.double.advanced_csv
|
||||
pop: true
|
||||
- include: main
|
||||
- match: '(\[([+-]?\d*)(\:)?([+-]?\d*)(\,)?([+-]?\d*)(\:)?([+-]?\d*)\])?\s*([<>v^])?\s*(=)'
|
||||
captures:
|
||||
1: keyword.operator.advanced_csv
|
||||
2: constant.numeric.formula.advanced_csv
|
||||
4: constant.numeric.formula.advanced_csv
|
||||
6: constant.numeric.formula.advanced_csv
|
||||
8: constant.numeric.formula.advanced_csv
|
||||
9: keyword.operator.advanced_csv
|
||||
10: keyword.operator.advanced_csv
|
||||
push:
|
||||
- meta_scope: meta.range.advanced_csv
|
||||
- match: (?=(\")|$)
|
||||
pop: true
|
||||
- include: scope:source.python
|
||||
- match: '(?<=^|,|\s|\")([0-9.eE+-]+)(?=$|,|\s|\")'
|
||||
scope: meta.number.advanced_csv
|
||||
captures:
|
||||
1: constant.numeric.advanced_csv
|
||||
- match: '(?<=^|,|\s|\")([^, \t\"]+)(?=$|,|\s|\")'
|
||||
scope: meta.nonnumber.advanced_csv
|
||||
captures:
|
||||
1: storage.type.advanced_csv
|
||||
- match: (\,)
|
||||
scope: meta.delimiter.advanced_csv
|
||||
captures:
|
||||
1: keyword.operator.advanced_csv
|
||||
1
assets/syntaxes/02_Extra/Cabal
vendored
Submodule
1
assets/syntaxes/02_Extra/Cabal
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Cabal added at 2d98cb79eb
47
assets/syntaxes/02_Extra/Cabal.sublime-syntax
vendored
Normal file
47
assets/syntaxes/02_Extra/Cabal.sublime-syntax
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Cabal
|
||||
file_extensions:
|
||||
- cabal
|
||||
scope: source.cabal
|
||||
contexts:
|
||||
main:
|
||||
- match: ^(\s*)(exposed-modules):$
|
||||
captures:
|
||||
2: constant.other.cabal
|
||||
push:
|
||||
- meta_scope: exposed.modules.cabal
|
||||
- match: ^(?!\1\s)
|
||||
pop: true
|
||||
- include: module_name
|
||||
- match: ^(\s*)(build-depends):$
|
||||
captures:
|
||||
2: constant.other.cabal
|
||||
push:
|
||||
- meta_scope: exposed.modules.cabal
|
||||
- match: ^(?!\1\s)
|
||||
pop: true
|
||||
- match: "([<>=]+)|([&|]+)"
|
||||
scope: keyword.operator.haskell
|
||||
- match: ((\d+|\*)\.)*(\d+|\*)
|
||||
scope: constant.numeric.haskell
|
||||
- match: '([\w\-]+)'
|
||||
scope: support.function.haskell
|
||||
- match: '^\s*([a-zA-Z_-]+)(:)\s+'
|
||||
scope: entity.cabal
|
||||
captures:
|
||||
1: constant.other.cabal
|
||||
2: punctuation.entity.cabal
|
||||
- match: '^(?i)(executable|library|test-suite|benchmark|flag|source-repository|custom-setup)\s+([^\s,]+)\s*$'
|
||||
scope: entity.cabal
|
||||
captures:
|
||||
1: keyword.entity.cabal
|
||||
2: string.cabal
|
||||
- match: ^(?i)library\s*$
|
||||
scope: keyword.entity.cabal
|
||||
- match: "--.*$"
|
||||
scope: comment.cabal
|
||||
module_name:
|
||||
- match: '([A-Z][A-Za-z_''0-9]*)(\.[A-Z][A-Za-z_''0-9]*)*'
|
||||
scope: storage.module.haskell
|
||||
1
assets/syntaxes/02_Extra/CoffeeScript
vendored
Submodule
1
assets/syntaxes/02_Extra/CoffeeScript
vendored
Submodule
Submodule assets/syntaxes/02_Extra/CoffeeScript added at e08f9b8cdf
271
assets/syntaxes/02_Extra/CoffeeScript.sublime-syntax
vendored
Normal file
271
assets/syntaxes/02_Extra/CoffeeScript.sublime-syntax
vendored
Normal file
@@ -0,0 +1,271 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: CoffeeScript
|
||||
comment: "CoffeeScript Syntax: version 1"
|
||||
file_extensions:
|
||||
- coffee
|
||||
- Cakefile
|
||||
- coffee.erb
|
||||
- cson
|
||||
first_line_match: ^#!.*\bcoffee
|
||||
scope: source.coffee
|
||||
contexts:
|
||||
main:
|
||||
- match: '(\([^()]*?\))\s*([=-]>)'
|
||||
comment: "match stuff like: a -> …"
|
||||
scope: meta.inline.function.coffee
|
||||
captures:
|
||||
1: variable.parameter.function.coffee
|
||||
2: storage.type.function.coffee
|
||||
- match: (new)\s+(\w+(?:\.\w*)*)
|
||||
scope: meta.class.instance.constructor
|
||||
captures:
|
||||
1: keyword.operator.new.coffee
|
||||
2: support.class.coffee
|
||||
- match: "'''"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.coffee
|
||||
push:
|
||||
- meta_scope: string.quoted.heredoc.coffee
|
||||
- match: "'''"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.coffee
|
||||
pop: true
|
||||
- match: '"""'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.coffee
|
||||
push:
|
||||
- meta_scope: string.quoted.double.heredoc.coffee
|
||||
- match: '"""'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.coffee
|
||||
pop: true
|
||||
- match: \\.
|
||||
scope: constant.character.escape.coffee
|
||||
- include: interpolated_coffee
|
||||
- match: "`"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.coffee
|
||||
push:
|
||||
- meta_scope: string.quoted.script.coffee
|
||||
- match: "`"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.coffee
|
||||
pop: true
|
||||
- match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
|
||||
scope: constant.character.escape.coffee
|
||||
- match: (?<!#)###(?!#)
|
||||
captures:
|
||||
0: punctuation.definition.comment.coffee
|
||||
push:
|
||||
- meta_scope: comment.block.coffee
|
||||
- match: '###(?:[ \t]*\n)'
|
||||
captures:
|
||||
0: punctuation.definition.comment.coffee
|
||||
pop: true
|
||||
- match: '@\w*'
|
||||
scope: storage.type.annotation.coffeescript
|
||||
- match: '(#)(?!\{).*$\n?'
|
||||
scope: comment.line.number-sign.coffee
|
||||
captures:
|
||||
1: punctuation.definition.comment.coffee
|
||||
- match: "/{3}"
|
||||
push:
|
||||
- meta_scope: string.regexp.coffee
|
||||
- match: "/{3}[imgy]{0,4}"
|
||||
pop: true
|
||||
- include: interpolated_coffee
|
||||
- include: embedded_comment
|
||||
- match: '/(?![\s=/*+{}?]).*?[^\\]/[igmy]{0,4}(?![a-zA-Z0-9])'
|
||||
scope: string.regexp.coffee
|
||||
- match: |-
|
||||
(?x)
|
||||
\b(?<![\.\$])(
|
||||
break|by|catch|continue|else|finally|for|in|of|if|return|switch|
|
||||
then|throw|try|unless|when|while|until|loop|do|(?<=for)\s+own
|
||||
)(?!\s*:)\b
|
||||
scope: keyword.control.coffee
|
||||
- match: |-
|
||||
(?x)
|
||||
and=|or=|!|%|&|\^|\*|\/|(\-)?\-(?!>)|\+\+|\+|~|==|=(?!>)|!=|<=|>=|<<=|>>=|
|
||||
>>>=|<>|<|>|!|&&|\.\.(\.)?|\?|\||\|\||\:|\*=|(?<!\()/=|%=|\+=|\-=|&=|
|
||||
\^=|\b(?<![\.\$])(instanceof|new|delete|typeof|and|or|is|isnt|not|super)\b
|
||||
scope: keyword.operator.coffee
|
||||
- match: '([a-zA-Z\$_](\w|\$|\.)*\s*(?!\::)((:)|(=[^=]))(?!(\s*\(.*\))?\s*((=|-)>)))'
|
||||
scope: variable.assignment.coffee
|
||||
captures:
|
||||
1: variable.assignment.coffee
|
||||
4: punctuation.separator.key-value
|
||||
5: keyword.operator.coffee
|
||||
- match: '(?<=\s|^)([\[\{])(?=.*?[\]\}]\s+[:=])'
|
||||
captures:
|
||||
0: keyword.operator.coffee
|
||||
push:
|
||||
- meta_scope: meta.variable.assignment.destructured.coffee
|
||||
- match: '([\]\}]\s*[:=])'
|
||||
captures:
|
||||
0: keyword.operator.coffee
|
||||
pop: true
|
||||
- include: variable_name
|
||||
- include: instance_variable
|
||||
- include: single_quoted_string
|
||||
- include: double_quoted_string
|
||||
- include: numeric
|
||||
- match: |-
|
||||
(?x)
|
||||
(\s*)
|
||||
(?=[a-zA-Z\$_])
|
||||
(
|
||||
[a-zA-Z\$_](\w|\$|:|\.)*\s*
|
||||
(?=[:=](\s*\(.*\))?\s*([=-]>))
|
||||
)
|
||||
scope: meta.function.coffee
|
||||
captures:
|
||||
2: entity.name.function.coffee
|
||||
3: entity.name.function.coffee
|
||||
4: variable.parameter.function.coffee
|
||||
5: storage.type.function.coffee
|
||||
- match: ^\s*(describe|it|app\.(get|post|put|all|del|delete))
|
||||
comment: Show well-known functions from Express and Mocha in Go To Symbol view
|
||||
push:
|
||||
- meta_scope: meta.function.symbols.coffee
|
||||
- match: $
|
||||
pop: true
|
||||
- include: main
|
||||
- match: "[=-]>"
|
||||
scope: storage.type.function.coffee
|
||||
- match: '\b(?<!\.)(true|on|yes)(?!\s*[:=])\b'
|
||||
scope: constant.language.boolean.true.coffee
|
||||
- match: '\b(?<!\.)(false|off|no)(?!\s*[:=])\b'
|
||||
scope: constant.language.boolean.false.coffee
|
||||
- match: '\b(?<!\.)null(?!\s*[:=])\b'
|
||||
scope: constant.language.null.coffee
|
||||
- match: '\b(?<!\.)(this|extends)(?!\s*[:=])\b'
|
||||
scope: variable.language.coffee
|
||||
- match: '(class\b)\s+(@?[a-zA-Z\$_][\w\.]*)?(?:\s+(extends)\s+(@?[a-zA-Z\$\._][\w\.]*))?'
|
||||
scope: meta.class.coffee
|
||||
captures:
|
||||
1: storage.type.class.coffee
|
||||
2: entity.name.type.class.coffee
|
||||
3: keyword.control.inheritance.coffee
|
||||
4: entity.other.inherited-class.coffee
|
||||
- match: \b(debugger|\\)\b
|
||||
scope: keyword.other.coffee
|
||||
- match: |-
|
||||
(?x)\b(
|
||||
Array|ArrayBuffer|Blob|Boolean|Date|document|event|Function|
|
||||
Int(8|16|32|64)Array|Math|Map|Number|
|
||||
Object|Proxy|RegExp|Set|String|WeakMap|
|
||||
window|Uint(8|16|32|64)Array|XMLHttpRequest
|
||||
)\b
|
||||
scope: support.class.coffee
|
||||
- match: ((?<=console\.)(debug|warn|info|log|error|time|timeEnd|assert))\b
|
||||
scope: support.function.console.coffee
|
||||
- match: |-
|
||||
(?x)\b(
|
||||
decodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require
|
||||
)\b
|
||||
scope: support.function.coffee
|
||||
- match: |-
|
||||
(?x)((?<=\.)(
|
||||
apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|
|
||||
isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|
|
||||
reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|
|
||||
unshift|valueOf
|
||||
))\b
|
||||
scope: support.function.method.array.coffee
|
||||
- match: |-
|
||||
(?x)((?<=Array\.)(
|
||||
isArray
|
||||
))\b
|
||||
scope: support.function.static.array.coffee
|
||||
- match: |-
|
||||
(?x)((?<=Object\.)(
|
||||
create|definePropert(ies|y)|freeze|getOwnProperty(Descriptors?|Names)|
|
||||
getProperty(Descriptor|Names)|getPrototypeOf|is(Extensible|Frozen|Sealed)?|
|
||||
isnt|keys|preventExtensions|seal
|
||||
))\b
|
||||
scope: support.function.static.object.coffee
|
||||
- match: |-
|
||||
(?x)((?<=Math\.)(
|
||||
abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|
|
||||
hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|
|
||||
tan|tanh|trunc
|
||||
))\b
|
||||
scope: support.function.static.math.coffee
|
||||
- match: |-
|
||||
(?x)((?<=Number\.)(
|
||||
is(Finite|Integer|NaN)|toInteger
|
||||
))\b
|
||||
scope: support.function.static.number.coffee
|
||||
- match: \b(Infinity|NaN|undefined)\b
|
||||
scope: constant.language.coffee
|
||||
- match: \;
|
||||
scope: punctuation.terminator.statement.coffee
|
||||
- match: ',[ |\t]*'
|
||||
scope: meta.delimiter.object.comma.coffee
|
||||
- match: \.
|
||||
scope: meta.delimiter.method.period.coffee
|
||||
- match: '\{|\}'
|
||||
scope: meta.brace.curly.coffee
|
||||
- match: \(|\)
|
||||
scope: meta.brace.round.coffee
|
||||
- match: '\[|\]\s*'
|
||||
scope: meta.brace.square.coffee
|
||||
- include: instance_variable
|
||||
- include: single_quoted_string
|
||||
- include: double_quoted_string
|
||||
- include: numeric
|
||||
double_quoted_string:
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.coffee
|
||||
push:
|
||||
- meta_scope: string.quoted.double.coffee
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.coffee
|
||||
pop: true
|
||||
- match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
|
||||
scope: constant.character.escape.coffee
|
||||
- include: interpolated_coffee
|
||||
embedded_comment:
|
||||
- match: (?<!\\)(#).*$\n?
|
||||
scope: comment.line.number-sign.coffee
|
||||
captures:
|
||||
1: punctuation.definition.comment.coffee
|
||||
instance_variable:
|
||||
- match: '(@)([a-zA-Z_\$]\w*)?'
|
||||
scope: variable.other.readwrite.instance.coffee
|
||||
interpolated_coffee:
|
||||
- match: '\#\{'
|
||||
captures:
|
||||
0: punctuation.section.embedded.coffee
|
||||
push:
|
||||
- meta_scope: source.coffee.embedded.source
|
||||
- match: '\}'
|
||||
captures:
|
||||
0: punctuation.section.embedded.coffee
|
||||
pop: true
|
||||
- include: main
|
||||
numeric:
|
||||
- match: '(?<!\$)\b((0([box])[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?(e[+\-]?[0-9]+)?))\b'
|
||||
scope: constant.numeric.coffee
|
||||
single_quoted_string:
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.coffee
|
||||
push:
|
||||
- meta_scope: string.quoted.single.coffee
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.coffee
|
||||
pop: true
|
||||
- match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)'
|
||||
scope: constant.character.escape.coffee
|
||||
variable_name:
|
||||
- match: '([a-zA-Z\$_]\w*(\.\w+)*)'
|
||||
scope: variable.assignment.coffee
|
||||
captures:
|
||||
1: variable.assignment.coffee
|
||||
14
assets/syntaxes/02_Extra/CpuInfo.sublime-syntax
vendored
Normal file
14
assets/syntaxes/02_Extra/CpuInfo.sublime-syntax
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: CpuInfo
|
||||
file_extensions:
|
||||
- cpuinfo
|
||||
scope: source.cpuinfo
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- match: '^([^:]+)\w*:\w*(.*)$'
|
||||
captures:
|
||||
1: keyword.other.cpuinfo-key
|
||||
2: string.other.cpuinfo-value
|
||||
1
assets/syntaxes/02_Extra/Crystal
vendored
Submodule
1
assets/syntaxes/02_Extra/Crystal
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Crystal added at 2ee9d667ae
1036
assets/syntaxes/02_Extra/Crystal.sublime-syntax
vendored
Normal file
1036
assets/syntaxes/02_Extra/Crystal.sublime-syntax
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
assets/syntaxes/02_Extra/Dart
vendored
Submodule
1
assets/syntaxes/02_Extra/Dart
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Dart added at d891fb36c9
369
assets/syntaxes/02_Extra/Dart.sublime-syntax
vendored
Normal file
369
assets/syntaxes/02_Extra/Dart.sublime-syntax
vendored
Normal file
@@ -0,0 +1,369 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Dart
|
||||
file_extensions:
|
||||
- dart
|
||||
scope: source.dart
|
||||
contexts:
|
||||
main:
|
||||
- match: ^(#!.*)$
|
||||
scope: meta.preprocessor.script.dart
|
||||
- match: ^\s*\b(library|import|export|part of|part)\b
|
||||
captures:
|
||||
0: keyword.other.import.dart
|
||||
push:
|
||||
- meta_scope: meta.declaration.dart
|
||||
- match: ;
|
||||
captures:
|
||||
0: punctuation.terminator.dart
|
||||
pop: true
|
||||
- include: strings
|
||||
- match: \b(as|show|hide|deferred)\b
|
||||
scope: keyword.other.import.dart
|
||||
- include: comments
|
||||
- include: constants-and-special-vars
|
||||
- include: annotations
|
||||
- include: decl-typedef
|
||||
- include: decl-class
|
||||
- include: decl-enum
|
||||
- include: decl-function
|
||||
- include: keywords
|
||||
- include: strings
|
||||
annotations:
|
||||
- match: '^(?:\s*)((@)([a-zA-Z0-9_]+))'
|
||||
captures:
|
||||
1: annotation.dart
|
||||
2: entity.name.function.annotation.dart
|
||||
3: support.type.dart
|
||||
comments:
|
||||
- match: /\*\*/
|
||||
scope: comment.block.empty.dart
|
||||
captures:
|
||||
0: punctuation.definition.comment.dart
|
||||
- include: comments-inline
|
||||
comments-inline:
|
||||
- match: /\*
|
||||
push:
|
||||
- meta_scope: comment.block.dart
|
||||
- match: \*/
|
||||
pop: true
|
||||
- include: scope:text.dart-doccomments
|
||||
- match: (///)
|
||||
captures:
|
||||
1: marker.dart
|
||||
push:
|
||||
- meta_scope: comment.line.triple-slash.dart
|
||||
- match: $
|
||||
pop: true
|
||||
- include: scope:text.dart-doccomments
|
||||
- match: (//)
|
||||
captures:
|
||||
1: marker.dart
|
||||
push:
|
||||
- meta_scope: comment.line.double-slash.dart
|
||||
- match: $
|
||||
pop: true
|
||||
- include: scope:text.dart-doccomments
|
||||
constants-and-special-vars:
|
||||
- match: \b(true|false|null)\b
|
||||
scope: constant.language.dart
|
||||
- match: \b(this|super)\b
|
||||
scope: variable.language.dart
|
||||
- match: '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b'
|
||||
scope: constant.numeric.dart
|
||||
decl-class:
|
||||
- match: \bclass\b
|
||||
captures:
|
||||
0: keyword.control.new.dart
|
||||
push:
|
||||
- meta_scope: meta.declaration.class.dart
|
||||
- match: "(?={)"
|
||||
pop: true
|
||||
- include: keywords
|
||||
- match: "[A-Za-z_][A-Za-z0-9_]*"
|
||||
scope: class.name.dart
|
||||
decl-enum:
|
||||
- match: \benum\b
|
||||
captures:
|
||||
0: keyword.declaration.dart
|
||||
push:
|
||||
- meta_scope: meta.declaration.enum.dart
|
||||
- match: "(?={)"
|
||||
pop: true
|
||||
- include: keywords
|
||||
- match: "[A-Za-z_][A-Za-z0-9_]*"
|
||||
scope: enum.name.dart
|
||||
decl-function:
|
||||
- match: ^\s*(?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b)\s+(get)\s+(\w+)\s+(?==>)
|
||||
comment: A getter with a primitive return type.
|
||||
scope: meta.declaration.function.dart
|
||||
captures:
|
||||
1: storage.type.primitive.dart
|
||||
2: keyword.declaration.dart
|
||||
3: function.name.dart
|
||||
- match: ^\s*(?:\b(\w+)\b\s+)?(get)\s+(\w+)\s+(?==>)
|
||||
comment: A getter with a user-defined return type or no return type.
|
||||
scope: meta.declaration.function.dart
|
||||
captures:
|
||||
1: type.user-defined.dart
|
||||
2: keyword.declaration.dart
|
||||
3: function.name.dart
|
||||
- match: ^\s*(set)\s+(\w+)(?=\()
|
||||
comment: A setter.
|
||||
captures:
|
||||
1: keyword.declaration.dart
|
||||
2: function.name.dart
|
||||
push:
|
||||
- meta_scope: meta.declaration.function.dart
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: comments-inline
|
||||
- include: decl-function-parameter
|
||||
- include: strings
|
||||
- include: keywords
|
||||
- match: ^\s*(?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b)\s+(\w+)(?=\()
|
||||
comment: A function with a primitive return type.
|
||||
captures:
|
||||
1: storage.type.primitive.dart
|
||||
2: function.name.dart
|
||||
push:
|
||||
- meta_scope: meta.declaration.function.dart
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: comments-inline
|
||||
- include: decl-function-parameter
|
||||
- include: strings
|
||||
- include: keywords
|
||||
- match: ^\s*(?:\b(return)\b)\s+(\w+)(?=\()
|
||||
comment: A function invocation after 'return'
|
||||
captures:
|
||||
1: keyword.control.dart
|
||||
2: function.name.dart
|
||||
push:
|
||||
- meta_scope: meta.invocation.function.dart
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: comments-inline
|
||||
- include: decl-function-parameter
|
||||
- include: strings
|
||||
- include: keywords
|
||||
- match: ^\s*\b(new)\b\s+(\w+)(?=\()
|
||||
comment: A class instantiation after 'new'
|
||||
captures:
|
||||
1: keyword.declaration.dart
|
||||
2: function.name.dart
|
||||
push:
|
||||
- meta_scope: meta.invocation.function.dart
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: comments-inline
|
||||
- include: decl-function-parameter
|
||||
- include: strings
|
||||
- include: keywords
|
||||
decl-function-parameter:
|
||||
- include: constants-and-special-vars
|
||||
- match: (?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b)\s+(\w+)(?=\()
|
||||
comment: A function with a primitive return type.
|
||||
captures:
|
||||
1: storage.type.primitive.dart
|
||||
2: function.name.dart
|
||||
push:
|
||||
- meta_scope: meta.parameter.function.dart
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: decl-function-parameter
|
||||
- include: strings
|
||||
- include: keywords
|
||||
- match: \b(new)\b\s+(\w+)(?=\()
|
||||
comment: A class instantiation after 'new'
|
||||
captures:
|
||||
1: keyword.declaration.dart
|
||||
2: function.name.dart
|
||||
push:
|
||||
- meta_scope: meta.invocation.function.dart
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: decl-function-parameter
|
||||
- include: strings
|
||||
- include: keywords
|
||||
- match: (?:\b(\w+)\b)\s+(\w+)(?=\()
|
||||
comment: A function with a user-defined return type.
|
||||
captures:
|
||||
1: type.user-defined.dart
|
||||
2: function.name.dart
|
||||
push:
|
||||
- meta_scope: meta.parameter.function.dart
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: decl-function-parameter
|
||||
- include: strings
|
||||
- include: keywords
|
||||
- match: (\w+)(?=\()
|
||||
comment: A function with no return type.
|
||||
captures:
|
||||
1: function.name.dart
|
||||
push:
|
||||
- meta_scope: meta.parameter.function.dart
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: decl-function-parameter
|
||||
- include: strings
|
||||
- include: keywords
|
||||
decl-typedef:
|
||||
- match: typedef
|
||||
captures:
|
||||
0: keyword.control.new.dart
|
||||
push:
|
||||
- meta_scope: meta.declaration.typedef.dart
|
||||
- match: ;
|
||||
captures:
|
||||
0: punctuation.terminator.dart
|
||||
pop: true
|
||||
- match: '(?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b|([a-zA-Z_][a-zA-Z0-9_]*))\s+([a-zA-Z_][a-zA-Z0-9_]+)'
|
||||
captures:
|
||||
1: storage.type.primitive.dart
|
||||
2: typedef.return.dart
|
||||
3: typedef.name.dart
|
||||
- match: \(
|
||||
push:
|
||||
- meta_scope: typedef.params.dart
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: keywords
|
||||
keywords:
|
||||
- match: \bassert\b
|
||||
scope: keyword.control.assert.dart
|
||||
- match: \bas\b
|
||||
scope: keyword.cast.dart
|
||||
- match: \b(try|catch|finally|throw|on|rethrow)\b
|
||||
scope: keyword.control.catch-exception.dart
|
||||
- match: \s+\?\s+|\s+:\s+
|
||||
scope: keyword.control.ternary.dart
|
||||
- match: \b(break|case|continue|default|do|else|for|if|in|return|switch|while)\b
|
||||
scope: keyword.control.dart
|
||||
- match: \b(async\*|async|await\*|await|yield)\b
|
||||
scope: keyword.control.async.dart
|
||||
- match: \b(new)\b
|
||||
scope: keyword.control.new.dart
|
||||
- match: \b(abstract|extends|external|factory|implements|with|interface|get|native|operator|set|typedef)\b
|
||||
scope: keyword.declaration.dart
|
||||
- match: \b(is\!?)\b
|
||||
scope: keyword.operator.dart
|
||||
- match: (<<|>>>?|~|\^|\||&)
|
||||
scope: keyword.operator.bitwise.dart
|
||||
- match: ((&|\^|\||<<|>>>?)=)
|
||||
scope: keyword.operator.assignment.bitwise.dart
|
||||
- match: (===?|!==?|<=?|>=?)
|
||||
scope: keyword.operator.comparison.dart
|
||||
- match: '(([+*/%-]|\~)=)'
|
||||
scope: keyword.operator.assignment.arithmetic.dart
|
||||
- match: (=)
|
||||
scope: keyword.operator.assignment.dart
|
||||
- match: (\-\-|\+\+)
|
||||
scope: keyword.operator.increment-decrement.dart
|
||||
- match: (\-|\+|\*|\/|\~\/|%)
|
||||
scope: keyword.operator.arithmetic.dart
|
||||
- match: (!|&&|\|\|)
|
||||
scope: keyword.operator.logical.dart
|
||||
- match: ;
|
||||
scope: punctuation.terminator.dart
|
||||
- match: \b(static|final|const)\b
|
||||
scope: storage.modifier.dart
|
||||
- match: \b(?:void|bool|num|int|double|dynamic|var|String|List|Map)\b
|
||||
scope: storage.type.primitive.dart
|
||||
regexp:
|
||||
- match: '\\[^''"]'
|
||||
scope: constant.character.escaped.regex.dart
|
||||
- match: \(
|
||||
push:
|
||||
- meta_content_scope: meta.capture.regex.dart
|
||||
- match: \)
|
||||
pop: true
|
||||
- match: \?(:|=|!)
|
||||
scope: ignore.capture.regex.dart
|
||||
- match: \*|\+|\?|\.|\|
|
||||
scope: keyword.other.regex.dart
|
||||
- match: \^|\$
|
||||
scope: keyword.other.regex.dart
|
||||
- match: \.
|
||||
scope: constant.other.regex.dart
|
||||
- match: '\[(\^)?'
|
||||
captures:
|
||||
1: keyword.other.negation.regex.dart
|
||||
push:
|
||||
- meta_scope: constant.character.range.regex.dart
|
||||
- match: '\]'
|
||||
pop: true
|
||||
- match: '\\[^"'']'
|
||||
scope: constant.character.escaped.regex.dart
|
||||
- match: '\{(?:\d+)?,(?:\d+)?\}'
|
||||
scope: keyword.other.regex.dart
|
||||
string-interp:
|
||||
- match: '(\$)(\{)'
|
||||
captures:
|
||||
1: keyword.other.dart
|
||||
2: keyword.other.dart
|
||||
push:
|
||||
- meta_scope: interpolation.dart
|
||||
- meta_content_scope: source.dart
|
||||
- match: '(\})'
|
||||
captures:
|
||||
1: keyword.other.dart
|
||||
pop: true
|
||||
- include: main
|
||||
- match: (\$)(\w+)
|
||||
captures:
|
||||
1: keyword.other.dart
|
||||
2: variable.parameter.dart
|
||||
- match: \\.
|
||||
scope: constant.character.escape.dart
|
||||
strings:
|
||||
- match: (?<!r)"""
|
||||
push:
|
||||
- meta_scope: string.interpolated.triple.double.dart
|
||||
- match: '"""(?!")'
|
||||
pop: true
|
||||
- include: string-interp
|
||||
- match: (?<!r)'''
|
||||
push:
|
||||
- meta_scope: string.interpolated.triple.single.dart
|
||||
- match: "'''(?!')"
|
||||
pop: true
|
||||
- include: string-interp
|
||||
- match: r"""
|
||||
push:
|
||||
- meta_scope: string.quoted.triple.double.dart
|
||||
- match: '"""(?!")'
|
||||
pop: true
|
||||
- match: r'''
|
||||
push:
|
||||
- meta_scope: string.quoted.triple.single.dart
|
||||
- match: "'''(?!')"
|
||||
pop: true
|
||||
- match: (?<!\\|r)"
|
||||
push:
|
||||
- meta_scope: string.interpolated.double.dart
|
||||
- match: '"'
|
||||
pop: true
|
||||
- match: \n
|
||||
scope: invalid.string.newline
|
||||
- include: string-interp
|
||||
- match: r"
|
||||
push:
|
||||
- meta_scope: string.quoted.double.dart
|
||||
- match: '"'
|
||||
pop: true
|
||||
- include: regexp
|
||||
- match: (?<!\|r)'
|
||||
push:
|
||||
- meta_scope: string.interpolated.single.dart
|
||||
- match: "'"
|
||||
pop: true
|
||||
- include: string-interp
|
||||
- match: r'
|
||||
push:
|
||||
- meta_scope: string.quoted.single.dart
|
||||
- match: "'"
|
||||
pop: true
|
||||
- include: regexp
|
||||
1
assets/syntaxes/02_Extra/Docker
vendored
Submodule
1
assets/syntaxes/02_Extra/Docker
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Docker added at 9e9a518aed
1
assets/syntaxes/02_Extra/DotENV
vendored
Submodule
1
assets/syntaxes/02_Extra/DotENV
vendored
Submodule
Submodule assets/syntaxes/02_Extra/DotENV added at a1c917633d
91
assets/syntaxes/02_Extra/DotENV.sublime-syntax
vendored
Normal file
91
assets/syntaxes/02_Extra/DotENV.sublime-syntax
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: DotENV
|
||||
file_extensions:
|
||||
- .env
|
||||
- .envrc
|
||||
- .env.dist
|
||||
- .env.local
|
||||
- .env.sample
|
||||
- .env.example
|
||||
- .env.test
|
||||
- .env.test.local
|
||||
- .env.testing
|
||||
- .env.dev
|
||||
- .env.development
|
||||
- .env.development.local
|
||||
- .env.prod
|
||||
- .env.production
|
||||
- .env.production.local
|
||||
- .env.dusk.local
|
||||
- .flaskenv
|
||||
- .env.staging
|
||||
scope: source.env
|
||||
contexts:
|
||||
main:
|
||||
- match: (#).*$\n?
|
||||
comment: "Comments - starts with #"
|
||||
scope: comment.line.number-sign.env
|
||||
captures:
|
||||
1: punctuation.definition.comment.env
|
||||
- match: (\")
|
||||
comment: Strings (double)
|
||||
captures:
|
||||
1: punctuation.definition.string.begin.env
|
||||
push:
|
||||
- meta_scope: string.quoted.double.env
|
||||
- match: (\")
|
||||
captures:
|
||||
1: punctuation.definition.string.end
|
||||
pop: true
|
||||
- include: interpolation
|
||||
- include: variable
|
||||
- include: escape-characters
|
||||
- match: (\')
|
||||
comment: Strings (single)
|
||||
captures:
|
||||
1: punctuation.definition.string.begin.env
|
||||
push:
|
||||
- meta_scope: string.quoted.single.env
|
||||
- match: (\')
|
||||
captures:
|
||||
1: punctuation.definition.string.end
|
||||
pop: true
|
||||
- match: '(?<=[\w])\s?='
|
||||
comment: Assignment Operator
|
||||
scope: keyword.operator.assignment.env
|
||||
- match: '([\w]+)(?=\s?\=)'
|
||||
comment: Variable
|
||||
scope: variable.other.env
|
||||
- match: (?i)\s?(export)
|
||||
comment: Keywords
|
||||
scope: keyword.other.env
|
||||
- match: (?i)(?<=\=)\s?(true|false|null)
|
||||
comment: Constants
|
||||
scope: constant.language.env
|
||||
- match: '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b'
|
||||
comment: Numeric
|
||||
scope: constant.numeric.env
|
||||
escape-characters:
|
||||
- match: '\\[nrt\\\$\"\'']'
|
||||
scope: constant.character.escape.env
|
||||
interpolation:
|
||||
- match: '(\$\{|\{)'
|
||||
comment: 'Template Syntax: "foo ${bar} {$baz}"'
|
||||
captures:
|
||||
1: string.interpolated.env keyword.other.template.begin.env
|
||||
push:
|
||||
- match: '(\})'
|
||||
captures:
|
||||
1: string.interpolated.env keyword.other.template.end.env
|
||||
pop: true
|
||||
- match: '(?x)(\$+)?([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b)'
|
||||
captures:
|
||||
1: punctuation.definition.variable.env variable.other.env
|
||||
2: variable.other.env
|
||||
variable:
|
||||
- match: '(?x)(\$+)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b)'
|
||||
captures:
|
||||
1: punctuation.definition.variable.env variable.other.env
|
||||
2: variable.other.env
|
||||
1
assets/syntaxes/02_Extra/Elixir
vendored
Submodule
1
assets/syntaxes/02_Extra/Elixir
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Elixir added at 89b3bada32
1
assets/syntaxes/02_Extra/Elm
vendored
Submodule
1
assets/syntaxes/02_Extra/Elm
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Elm added at dfbb8bdc9a
1
assets/syntaxes/02_Extra/FSharp
vendored
Submodule
1
assets/syntaxes/02_Extra/FSharp
vendored
Submodule
Submodule assets/syntaxes/02_Extra/FSharp added at c18616d6bd
1
assets/syntaxes/02_Extra/Fish
vendored
Submodule
1
assets/syntaxes/02_Extra/Fish
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Fish added at 2c254cc851
133
assets/syntaxes/02_Extra/Fstab.sublime-syntax
vendored
Normal file
133
assets/syntaxes/02_Extra/Fstab.sublime-syntax
vendored
Normal file
@@ -0,0 +1,133 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: fstab
|
||||
file_extensions:
|
||||
- fstab
|
||||
scope: source.fstab
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- include: comment
|
||||
- match: '^'
|
||||
push: fstab_device
|
||||
comment: leading spaces
|
||||
|
||||
fstab_device:
|
||||
- include: comment
|
||||
- match: '\s*([^=\s]+=)([^\s]+)\s*'
|
||||
comment: device by uuid or label
|
||||
set: fstab_mountpoint
|
||||
captures:
|
||||
1: punctuation.accessor
|
||||
2: keyword.other.device
|
||||
- match: '\s*(//|\\\\)([^\s]+)\s*'
|
||||
comment: device by samba share
|
||||
set: fstab_mountpoint
|
||||
captures:
|
||||
1: punctuation.accessor
|
||||
2: keyword.other.device
|
||||
- match: '\s*([^\s]+)(:)([^\s]+)\s*'
|
||||
comment: device by server
|
||||
set: fstab_mountpoint
|
||||
captures:
|
||||
1: keyword.other.device
|
||||
2: punctuation.accessor
|
||||
3: keyword.other.device
|
||||
- match: '\s*[^\s/\\]+\s*'
|
||||
comment: device by dev name
|
||||
set: fstab_mountpoint
|
||||
scope: keyword.other.device
|
||||
- match: '\s*(/dev/)([^\s]+)\s*'
|
||||
comment: device by dev path
|
||||
set: fstab_mountpoint
|
||||
captures:
|
||||
1: punctuation.accessor
|
||||
2: keyword.other.device
|
||||
- match: '\s*([^\s/]*/)*([^\s]+)\s*'
|
||||
comment: device by unknown path
|
||||
set: fstab_mountpoint
|
||||
captures:
|
||||
1: punctuation.accessor
|
||||
2: keyword.other.device
|
||||
- include: clear
|
||||
|
||||
fstab_mountpoint:
|
||||
- include: comment
|
||||
- match: '\s*/[^\s]*\s*'
|
||||
comment: mount point
|
||||
set: fstab_filesystem
|
||||
scope: string.unquoted.mountpoint
|
||||
- match: '\s*[^\s]+\s*'
|
||||
comment: mount point without leading slash (invalid)
|
||||
set: fstab_filesystem
|
||||
scope: invalid.illegal
|
||||
- include: clear
|
||||
|
||||
fstab_filesystem:
|
||||
- include: comment
|
||||
- match: '\s*[^\s]+\s*'
|
||||
comment: filesystem type
|
||||
set: fstab_options
|
||||
scope: variable.parameter.filesystem
|
||||
- include: clear
|
||||
|
||||
fstab_options:
|
||||
- include: comment
|
||||
- match: '([^\s,=]+)(=)([^\s,]+)'
|
||||
comment: key-value option
|
||||
captures:
|
||||
1: entity.name.option
|
||||
2: entity.other.separator
|
||||
3: variable.parameter
|
||||
- match: '[^\s,]+'
|
||||
comment: flag option
|
||||
scope: entity.name.option
|
||||
- match: ','
|
||||
comment: option separator
|
||||
scope: punctuation.separator
|
||||
- match: '\s+'
|
||||
comment: next field
|
||||
set: fstab_dump
|
||||
- include: clear
|
||||
|
||||
fstab_dump:
|
||||
- include: comment
|
||||
- match: '\s*[01]\s*'
|
||||
comment: dump field
|
||||
scope: constant.numeric
|
||||
set: fstab_pass
|
||||
- match: '\s*[^\s]+\s*'
|
||||
comment: invalid dump field
|
||||
scope: invalid.illegal
|
||||
set: fstab_pass
|
||||
- include: clear
|
||||
|
||||
fstab_pass:
|
||||
- include: comment
|
||||
- match: '\s*[01]\s*'
|
||||
comment: pass field
|
||||
scope: constant.numeric
|
||||
set: expected_eol
|
||||
- match: '\s*[^\s]+\s*'
|
||||
comment: invalid pass field
|
||||
scope: invalid.illegal
|
||||
set: expected_eol
|
||||
- include: clear
|
||||
|
||||
expected_eol:
|
||||
- include: comment
|
||||
- include: clear
|
||||
- match: '.*'
|
||||
scope: invalid.illegal
|
||||
|
||||
comment:
|
||||
- match: '\s*#.*$'
|
||||
comment: comment using the number sign
|
||||
scope: comment.line
|
||||
|
||||
clear:
|
||||
- match: '.*$'
|
||||
comment: used for clearing the context
|
||||
pop: true
|
||||
|
||||
1
assets/syntaxes/02_Extra/GraphQL
vendored
Submodule
1
assets/syntaxes/02_Extra/GraphQL
vendored
Submodule
Submodule assets/syntaxes/02_Extra/GraphQL added at c9d84587eb
48
assets/syntaxes/02_Extra/Group.sublime-syntax
vendored
Normal file
48
assets/syntaxes/02_Extra/Group.sublime-syntax
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: group
|
||||
file_extensions:
|
||||
- group
|
||||
scope: source.group
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- comment: name
|
||||
match: ^[^:]+
|
||||
scope: keyword
|
||||
|
||||
- comment: password
|
||||
match: ":"
|
||||
push: password
|
||||
|
||||
password:
|
||||
- comment: uid
|
||||
match: ":"
|
||||
set: gid
|
||||
|
||||
- comment: shadowpassword
|
||||
match: "[^:]+"
|
||||
scope: invalid
|
||||
|
||||
gid:
|
||||
- comment: gid
|
||||
match: ":"
|
||||
set: users
|
||||
|
||||
- comment: number
|
||||
match: "[0-9]+"
|
||||
scope: constant.numeric
|
||||
|
||||
users:
|
||||
- comment: newline
|
||||
match: "\n"
|
||||
pop: true
|
||||
|
||||
- comment: directory
|
||||
match: "[^:\n]+"
|
||||
scope: variable.parameter
|
||||
|
||||
- comment: separator
|
||||
match: ","
|
||||
scope: punctuation
|
||||
1
assets/syntaxes/02_Extra/HTML (Twig)
vendored
Submodule
1
assets/syntaxes/02_Extra/HTML (Twig)
vendored
Submodule
Submodule assets/syntaxes/02_Extra/HTML (Twig) added at 77def406d7
662
assets/syntaxes/02_Extra/HTML (Twig).sublime-syntax
vendored
Normal file
662
assets/syntaxes/02_Extra/HTML (Twig).sublime-syntax
vendored
Normal file
@@ -0,0 +1,662 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: HTML (Twig)
|
||||
file_extensions:
|
||||
- twig
|
||||
- html.twig
|
||||
scope: text.html.twig
|
||||
contexts:
|
||||
main:
|
||||
- match: '(<)([a-zA-Z0-9:]++)(?=[^>]*></\2>)'
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
2: entity.name.tag.html
|
||||
push:
|
||||
- meta_scope: meta.tag.any.html
|
||||
- match: (>(<)/)(\2)(>)
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
2: meta.scope.between-tag-pair.html
|
||||
3: entity.name.tag.html
|
||||
4: punctuation.definition.tag.html
|
||||
pop: true
|
||||
- include: tag-stuff
|
||||
- match: (<\?)(xml)
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
2: entity.name.tag.xml.html
|
||||
push:
|
||||
- meta_scope: meta.tag.preprocessor.xml.html
|
||||
- match: (\?>)
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
2: entity.name.tag.xml.html
|
||||
pop: true
|
||||
- include: tag-generic-attribute
|
||||
- include: string-double-quoted
|
||||
- include: string-single-quoted
|
||||
- match: <!--
|
||||
captures:
|
||||
0: punctuation.definition.comment.html
|
||||
push:
|
||||
- meta_scope: comment.block.html
|
||||
- match: '--\s*>'
|
||||
captures:
|
||||
0: punctuation.definition.comment.html
|
||||
pop: true
|
||||
- match: "--"
|
||||
scope: invalid.illegal.bad-comments-or-CDATA.html
|
||||
- include: embedded-code
|
||||
- match: <!
|
||||
captures:
|
||||
0: punctuation.definition.tag.html
|
||||
push:
|
||||
- meta_scope: meta.tag.sgml.html
|
||||
- match: ">"
|
||||
captures:
|
||||
0: punctuation.definition.tag.html
|
||||
pop: true
|
||||
- match: (?i:DOCTYPE)
|
||||
captures:
|
||||
1: entity.name.tag.doctype.html
|
||||
push:
|
||||
- meta_scope: meta.tag.sgml.doctype.html
|
||||
- match: (?=>)
|
||||
captures:
|
||||
1: entity.name.tag.doctype.html
|
||||
pop: true
|
||||
- match: '"[^">]*"'
|
||||
scope: string.quoted.double.doctype.identifiers-and-DTDs.html
|
||||
- match: '\[CDATA\['
|
||||
push:
|
||||
- meta_scope: constant.other.inline-data.html
|
||||
- match: "]](?=>)"
|
||||
pop: true
|
||||
- match: (\s*)(?!--|>)\S(\s*)
|
||||
scope: invalid.illegal.bad-comments-or-CDATA.html
|
||||
- include: embedded-code
|
||||
- match: '(?:^\s+)?(<)((?i:style))\b(?![^>]*/>)'
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
2: entity.name.tag.style.html
|
||||
3: punctuation.definition.tag.html
|
||||
push:
|
||||
- meta_scope: source.css.embedded.html
|
||||
- match: (</)((?i:style))(>)(?:\s*\n)?
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
2: entity.name.tag.style.html
|
||||
3: punctuation.definition.tag.html
|
||||
pop: true
|
||||
- include: tag-stuff
|
||||
- match: (>)
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
push:
|
||||
- match: (?=</(?i:style))
|
||||
pop: true
|
||||
- include: embedded-code
|
||||
- include: scope:source.css
|
||||
- match: '(?:^\s+)?(<)((?i:script))\b(?![^>]*/>)'
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
2: entity.name.tag.script.html
|
||||
push:
|
||||
- meta_scope: source.js.embedded.html
|
||||
- match: (?<=</(script|SCRIPT))(>)(?:\s*\n)?
|
||||
captures:
|
||||
2: punctuation.definition.tag.html
|
||||
pop: true
|
||||
- include: tag-stuff
|
||||
- match: (?<!</(?:script|SCRIPT))(>)
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
2: entity.name.tag.script.html
|
||||
push:
|
||||
- match: (</)((?i:script))
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
2: entity.name.tag.script.html
|
||||
pop: true
|
||||
- match: (//).*?((?=</script)|$\n?)
|
||||
scope: comment.line.double-slash.js
|
||||
captures:
|
||||
1: punctuation.definition.comment.js
|
||||
- match: /\*
|
||||
captures:
|
||||
0: punctuation.definition.comment.js
|
||||
push:
|
||||
- meta_scope: comment.block.js
|
||||
- match: \*/|(?=</script)
|
||||
captures:
|
||||
0: punctuation.definition.comment.js
|
||||
pop: true
|
||||
- include: php
|
||||
- include: twig-print-tag
|
||||
- include: twig-statement-tag
|
||||
- include: twig-comment-tag
|
||||
- include: scope:source.js
|
||||
- match: (</?)((?i:body|head|html)\b)
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
2: entity.name.tag.structure.any.html
|
||||
push:
|
||||
- meta_scope: meta.tag.structure.any.html
|
||||
- match: (>)
|
||||
captures:
|
||||
1: punctuation.definition.tag.html
|
||||
2: entity.name.tag.structure.any.html
|
||||
pop: true
|
||||
- include: tag-stuff
|
||||
- match: (</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\b)
|
||||
captures:
|
||||
1: punctuation.definition.tag.begin.html
|
||||
2: entity.name.tag.block.any.html
|
||||
push:
|
||||
- meta_scope: meta.tag.block.any.html
|
||||
- match: (>)
|
||||
captures:
|
||||
1: punctuation.definition.tag.end.html
|
||||
pop: true
|
||||
- include: tag-stuff
|
||||
- match: (</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b)
|
||||
captures:
|
||||
1: punctuation.definition.tag.begin.html
|
||||
2: entity.name.tag.inline.any.html
|
||||
push:
|
||||
- meta_scope: meta.tag.inline.any.html
|
||||
- match: "((?: ?/)?>)"
|
||||
captures:
|
||||
1: punctuation.definition.tag.end.html
|
||||
pop: true
|
||||
- include: tag-stuff
|
||||
- match: "(</?)([a-zA-Z0-9:]+)"
|
||||
captures:
|
||||
1: punctuation.definition.tag.begin.html
|
||||
2: entity.name.tag.other.html
|
||||
push:
|
||||
- meta_scope: meta.tag.other.html
|
||||
- match: (>)
|
||||
captures:
|
||||
1: punctuation.definition.tag.end.html
|
||||
pop: true
|
||||
- include: tag-stuff
|
||||
- include: entities
|
||||
- match: <>
|
||||
scope: invalid.illegal.incomplete.html
|
||||
- match: <
|
||||
scope: invalid.illegal.bad-angle-bracket.html
|
||||
- include: twig-print-tag
|
||||
- include: twig-statement-tag
|
||||
- include: twig-comment-tag
|
||||
embedded-code:
|
||||
- include: ruby
|
||||
- include: php
|
||||
- include: twig-print-tag
|
||||
- include: twig-statement-tag
|
||||
- include: twig-comment-tag
|
||||
- include: python
|
||||
entities:
|
||||
- match: "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)"
|
||||
scope: constant.character.entity.html
|
||||
captures:
|
||||
1: punctuation.definition.entity.html
|
||||
3: punctuation.definition.entity.html
|
||||
- match: "&"
|
||||
scope: invalid.illegal.bad-ampersand.html
|
||||
php:
|
||||
- match: (?=(^\s*)?<\?)
|
||||
push:
|
||||
- match: (?!(^\s*)?<\?)
|
||||
pop: true
|
||||
- include: scope:text.html.php
|
||||
python:
|
||||
- match: (?:^\s*)<\?python(?!.*\?>)
|
||||
push:
|
||||
- meta_scope: source.python.embedded.html
|
||||
- match: \?>(?:\s*$\n)?
|
||||
pop: true
|
||||
- include: scope:source.python
|
||||
ruby:
|
||||
- match: "<%+#"
|
||||
captures:
|
||||
0: punctuation.definition.comment.erb
|
||||
push:
|
||||
- meta_scope: comment.block.erb
|
||||
- match: "%>"
|
||||
captures:
|
||||
0: punctuation.definition.comment.erb
|
||||
pop: true
|
||||
- match: <%+(?!>)=?
|
||||
captures:
|
||||
0: punctuation.section.embedded.ruby
|
||||
push:
|
||||
- meta_scope: source.ruby.embedded.html
|
||||
- match: "-?%>"
|
||||
captures:
|
||||
0: punctuation.section.embedded.ruby
|
||||
pop: true
|
||||
- match: (#).*?(?=-?%>)
|
||||
scope: comment.line.number-sign.ruby
|
||||
captures:
|
||||
1: punctuation.definition.comment.ruby
|
||||
- include: scope:source.ruby
|
||||
- match: <\?r(?!>)=?
|
||||
captures:
|
||||
0: punctuation.section.embedded.ruby.nitro
|
||||
push:
|
||||
- meta_scope: source.ruby.nitro.embedded.html
|
||||
- match: '-?\?>'
|
||||
captures:
|
||||
0: punctuation.section.embedded.ruby.nitro
|
||||
pop: true
|
||||
- match: (#).*?(?=-?\?>)
|
||||
scope: comment.line.number-sign.ruby.nitro
|
||||
captures:
|
||||
1: punctuation.definition.comment.ruby.nitro
|
||||
- include: scope:source.ruby
|
||||
string-double-quoted:
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.html
|
||||
push:
|
||||
- meta_scope: string.quoted.double.html
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.html
|
||||
pop: true
|
||||
- include: embedded-code
|
||||
- include: entities
|
||||
string-single-quoted:
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.html
|
||||
push:
|
||||
- meta_scope: string.quoted.single.html
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.html
|
||||
pop: true
|
||||
- include: embedded-code
|
||||
- include: entities
|
||||
tag-generic-attribute:
|
||||
- match: '\b([a-zA-Z\-:]+)'
|
||||
scope: entity.other.attribute-name.html
|
||||
tag-id-attribute:
|
||||
- match: \b(id)\b\s*(=)
|
||||
captures:
|
||||
1: entity.other.attribute-name.id.html
|
||||
2: punctuation.separator.key-value.html
|
||||
push:
|
||||
- meta_scope: meta.attribute-with-value.id.html
|
||||
- match: (?<='|")
|
||||
captures:
|
||||
1: entity.other.attribute-name.id.html
|
||||
2: punctuation.separator.key-value.html
|
||||
pop: true
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.html
|
||||
push:
|
||||
- meta_scope: string.quoted.double.html
|
||||
- meta_content_scope: meta.toc-list.id.html
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.html
|
||||
pop: true
|
||||
- include: embedded-code
|
||||
- include: entities
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.html
|
||||
push:
|
||||
- meta_scope: string.quoted.single.html
|
||||
- meta_content_scope: meta.toc-list.id.html
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.html
|
||||
pop: true
|
||||
- include: embedded-code
|
||||
- include: entities
|
||||
tag-stuff:
|
||||
- include: tag-id-attribute
|
||||
- include: tag-generic-attribute
|
||||
- include: string-double-quoted
|
||||
- include: string-single-quoted
|
||||
- include: embedded-code
|
||||
twig-arrays:
|
||||
- match: '(?<=[\s\(\{\[:,])\['
|
||||
captures:
|
||||
0: punctuation.section.array.begin.twig
|
||||
push:
|
||||
- meta_scope: meta.array.twig
|
||||
- match: '\]'
|
||||
captures:
|
||||
0: punctuation.section.array.end.twig
|
||||
pop: true
|
||||
- include: twig-arrays
|
||||
- include: twig-hashes
|
||||
- include: twig-constants
|
||||
- include: twig-strings
|
||||
- include: twig-functions-warg
|
||||
- include: twig-functions
|
||||
- include: twig-macros
|
||||
- include: twig-objects
|
||||
- include: twig-properties
|
||||
- include: twig-filters-warg
|
||||
- include: twig-filters
|
||||
- include: twig-filters-warg-ud
|
||||
- include: twig-filters-ud
|
||||
- match: ","
|
||||
scope: punctuation.separator.object.twig
|
||||
twig-comment-tag:
|
||||
- match: '\{#-?'
|
||||
captures:
|
||||
0: punctuation.definition.comment.begin.twig
|
||||
push:
|
||||
- meta_scope: comment.block.twig
|
||||
- match: '-?#\}'
|
||||
captures:
|
||||
0: punctuation.definition.comment.end.twig
|
||||
pop: true
|
||||
twig-constants:
|
||||
- match: '(?i)(?<=[\s\[\(\{:,])(?:true|false|null|none)(?=[\s\)\]\}\,])'
|
||||
scope: constant.language.twig
|
||||
- match: '(?<=[\s\[\(\{:,]|\.\.|\*\*)[0-9]+(?:\.[0-9]+)?(?=[\s\)\]\}\,]|\.\.|\*\*)'
|
||||
scope: constant.numeric.twig
|
||||
twig-filters:
|
||||
- match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)(abs|capitalize|e(?:scape)?|first|join|(?:json|url)_encode|keys|last|length|lower|nl2br|number_format|raw|reverse|round|sort|striptags|title|trim|upper)(?=[\s\|\]\}\):,]|\.\.|\*\*)'
|
||||
captures:
|
||||
1: support.function.twig
|
||||
twig-filters-ud:
|
||||
- match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)'
|
||||
captures:
|
||||
1: meta.function-call.other.twig
|
||||
twig-filters-warg:
|
||||
- match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)(batch|convert_encoding|date|date_modify|default|e(?:scape)?|format|join|merge|number_format|replace|round|slice|split|trim)(\()'
|
||||
captures:
|
||||
1: support.function.twig
|
||||
2: punctuation.definition.parameters.begin.twig
|
||||
push:
|
||||
- meta_content_scope: meta.function.arguments.twig
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.definition.parameters.end.twig
|
||||
pop: true
|
||||
- include: twig-constants
|
||||
- include: twig-functions-warg
|
||||
- include: twig-functions
|
||||
- include: twig-macros
|
||||
- include: twig-objects
|
||||
- include: twig-properties
|
||||
- include: twig-filters-warg
|
||||
- include: twig-filters
|
||||
- include: twig-filters-warg-ud
|
||||
- include: twig-filters-ud
|
||||
- include: twig-strings
|
||||
- include: twig-arrays
|
||||
- include: twig-hashes
|
||||
twig-filters-warg-ud:
|
||||
- match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(\()'
|
||||
captures:
|
||||
1: meta.function-call.other.twig
|
||||
2: punctuation.definition.parameters.begin.twig
|
||||
push:
|
||||
- meta_content_scope: meta.function.arguments.twig
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.definition.parameters.end.twig
|
||||
pop: true
|
||||
- include: twig-constants
|
||||
- include: twig-functions-warg
|
||||
- include: twig-functions
|
||||
- include: twig-macros
|
||||
- include: twig-objects
|
||||
- include: twig-properties
|
||||
- include: twig-filters-warg
|
||||
- include: twig-filters
|
||||
- include: twig-filters-warg-ud
|
||||
- include: twig-filters-ud
|
||||
- include: twig-strings
|
||||
- include: twig-arrays
|
||||
- include: twig-hashes
|
||||
twig-functions:
|
||||
- match: (?<=is\s)(defined|empty|even|iterable|odd)
|
||||
captures:
|
||||
1: support.function.twig
|
||||
twig-functions-warg:
|
||||
- match: '(?<=[\s\(\[\{:,])(attribute|block|constant|cycle|date|divisible by|dump|include|max|min|parent|random|range|same as|source|template_from_string)(\()'
|
||||
captures:
|
||||
1: support.function.twig
|
||||
2: punctuation.definition.parameters.begin.twig
|
||||
push:
|
||||
- meta_content_scope: meta.function.arguments.twig
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.definition.parameters.end.twig
|
||||
pop: true
|
||||
- include: twig-constants
|
||||
- include: twig-functions-warg
|
||||
- include: twig-functions
|
||||
- include: twig-macros
|
||||
- include: twig-objects
|
||||
- include: twig-properties
|
||||
- include: twig-filters-warg
|
||||
- include: twig-filters
|
||||
- include: twig-filters-warg-ud
|
||||
- include: twig-filters-ud
|
||||
- include: twig-strings
|
||||
- include: twig-arrays
|
||||
twig-hashes:
|
||||
- match: '(?<=[\s\(\{\[:,])\{'
|
||||
captures:
|
||||
0: punctuation.section.hash.begin.twig
|
||||
push:
|
||||
- meta_scope: meta.hash.twig
|
||||
- match: '\}'
|
||||
captures:
|
||||
0: punctuation.section.hash.end.twig
|
||||
pop: true
|
||||
- include: twig-hashes
|
||||
- include: twig-arrays
|
||||
- include: twig-constants
|
||||
- include: twig-strings
|
||||
- include: twig-functions-warg
|
||||
- include: twig-functions
|
||||
- include: twig-macros
|
||||
- include: twig-objects
|
||||
- include: twig-properties
|
||||
- include: twig-filters-warg
|
||||
- include: twig-filters
|
||||
- include: twig-filters-warg-ud
|
||||
- include: twig-filters-ud
|
||||
- match: ":"
|
||||
scope: punctuation.separator.key-value.twig
|
||||
- match: ","
|
||||
scope: punctuation.separator.object.twig
|
||||
twig-keywords:
|
||||
- match: (?<=\s)((?:end)?(?:autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)|as|do|else|elseif|extends|flush|from|ignore missing|import|include|only|use|with)(?=\s)
|
||||
scope: keyword.control.twig
|
||||
twig-macros:
|
||||
- match: |-
|
||||
(?x)
|
||||
(?<=[\s\(\[\{:,])
|
||||
([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
|
||||
(?:
|
||||
(\.)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
|
||||
)?
|
||||
(\()
|
||||
captures:
|
||||
1: meta.function-call.twig
|
||||
2: punctuation.separator.property.twig
|
||||
3: variable.other.property.twig
|
||||
4: punctuation.definition.parameters.begin.twig
|
||||
push:
|
||||
- meta_content_scope: meta.function.arguments.twig
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.definition.parameters.end.twig
|
||||
pop: true
|
||||
- include: twig-constants
|
||||
- include: twig-operators
|
||||
- include: twig-functions-warg
|
||||
- include: twig-functions
|
||||
- include: twig-macros
|
||||
- include: twig-objects
|
||||
- include: twig-properties
|
||||
- include: twig-filters-warg
|
||||
- include: twig-filters
|
||||
- include: twig-filters-warg-ud
|
||||
- include: twig-filters-ud
|
||||
- include: twig-strings
|
||||
- include: twig-arrays
|
||||
- include: twig-hashes
|
||||
twig-objects:
|
||||
- match: '(?<=[\s\{\[\(:,])([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?=[\s\}\[\]\(\)\.\|,:])'
|
||||
captures:
|
||||
1: variable.other.twig
|
||||
twig-operators:
|
||||
- match: (?<=\s)(\+|-|//?|%|\*\*?)(?=\s)
|
||||
captures:
|
||||
1: keyword.operator.arithmetic.twig
|
||||
- match: (?<=\s)(=|~)(?=\s)
|
||||
captures:
|
||||
1: keyword.operator.assignment.twig
|
||||
- match: (?<=\s)(b-(?:and|or|xor))(?=\s)
|
||||
captures:
|
||||
1: keyword.operator.bitwise.twig
|
||||
- match: '(?<=\s)((?:!|=)=|<=?|>=?|(?:not )?in|is(?: not)?|(?:ends|starts) with|matches)(?=\s)'
|
||||
captures:
|
||||
1: keyword.operator.comparison.twig
|
||||
- match: (?<=\s)(\?|:|and|not|or)(?=\s)
|
||||
captures:
|
||||
1: keyword.operator.logical.twig
|
||||
- match: '(?<=[a-zA-Z0-9_\x{7f}-\x{ff}\]\)''"])\.\.(?=[a-zA-Z0-9_\x{7f}-\x{ff}''"])'
|
||||
captures:
|
||||
0: keyword.operator.other.twig
|
||||
- match: '(?<=[a-zA-Z0-9_\x{7f}-\x{ff}\]\}\)''"])\|(?=[a-zA-Z_\x{7f}-\x{ff}])'
|
||||
captures:
|
||||
0: keyword.operator.other.twig
|
||||
twig-print-tag:
|
||||
- match: '\{\{-?'
|
||||
captures:
|
||||
0: punctuation.section.tag.twig
|
||||
push:
|
||||
- meta_scope: meta.tag.template.value.twig
|
||||
- match: '-?\}\}'
|
||||
captures:
|
||||
0: punctuation.section.tag.twig
|
||||
pop: true
|
||||
- include: twig-constants
|
||||
- include: twig-operators
|
||||
- include: twig-functions-warg
|
||||
- include: twig-functions
|
||||
- include: twig-macros
|
||||
- include: twig-objects
|
||||
- include: twig-properties
|
||||
- include: twig-filters-warg
|
||||
- include: twig-filters
|
||||
- include: twig-filters-warg-ud
|
||||
- include: twig-filters-ud
|
||||
- include: twig-strings
|
||||
- include: twig-arrays
|
||||
- include: twig-hashes
|
||||
twig-properties:
|
||||
- match: |-
|
||||
(?x)
|
||||
(?<=[a-zA-Z0-9_\x{7f}-\x{ff}])
|
||||
(\.)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
|
||||
(?=[\.\s\|\[\)\]\}:,])
|
||||
captures:
|
||||
1: punctuation.separator.property.twig
|
||||
2: variable.other.property.twig
|
||||
- match: |-
|
||||
(?x)
|
||||
(?<=[a-zA-Z0-9_\x{7f}-\x{ff}])
|
||||
(\.)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
|
||||
(\()
|
||||
captures:
|
||||
1: punctuation.separator.property.twig
|
||||
2: variable.other.property.twig
|
||||
3: punctuation.definition.parameters.begin.twig
|
||||
push:
|
||||
- meta_content_scope: meta.function.arguments.twig
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.definition.parameters.end.twig
|
||||
pop: true
|
||||
- include: twig-constants
|
||||
- include: twig-functions-warg
|
||||
- include: twig-functions
|
||||
- include: twig-macros
|
||||
- include: twig-objects
|
||||
- include: twig-properties
|
||||
- include: twig-filters-warg
|
||||
- include: twig-filters
|
||||
- include: twig-filters-warg-ud
|
||||
- include: twig-filters-ud
|
||||
- include: twig-strings
|
||||
- include: twig-arrays
|
||||
- match: |-
|
||||
(?x)
|
||||
(?<=[a-zA-Z0-9_\x{7f}-\x{ff}\]])
|
||||
(?:
|
||||
(\[)('[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*')(\])
|
||||
|(\[)("[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*")(\])
|
||||
|(\[)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(\])
|
||||
)
|
||||
captures:
|
||||
1: punctuation.section.array.begin.twig
|
||||
2: variable.other.property.twig
|
||||
3: punctuation.section.array.end.twig
|
||||
4: punctuation.section.array.begin.twig
|
||||
5: variable.other.property.twig
|
||||
6: punctuation.section.array.end.twig
|
||||
7: punctuation.section.array.begin.twig
|
||||
8: variable.other.property.twig
|
||||
9: punctuation.section.array.end.twig
|
||||
twig-statement-tag:
|
||||
- match: '\{%-?'
|
||||
captures:
|
||||
0: punctuation.section.tag.twig
|
||||
push:
|
||||
- meta_scope: meta.tag.template.block.twig
|
||||
- match: '-?%\}'
|
||||
captures:
|
||||
0: punctuation.section.tag.twig
|
||||
pop: true
|
||||
- include: twig-constants
|
||||
- include: twig-keywords
|
||||
- include: twig-operators
|
||||
- include: twig-functions-warg
|
||||
- include: twig-functions
|
||||
- include: twig-macros
|
||||
- include: twig-filters-warg
|
||||
- include: twig-filters
|
||||
- include: twig-filters-warg-ud
|
||||
- include: twig-filters-ud
|
||||
- include: twig-objects
|
||||
- include: twig-properties
|
||||
- include: twig-strings
|
||||
- include: twig-arrays
|
||||
- include: twig-hashes
|
||||
twig-strings:
|
||||
- match: (?:(?<!\\)|(?<=\\\\))'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.twig
|
||||
push:
|
||||
- meta_scope: string.quoted.single.twig
|
||||
- match: (?:(?<!\\)|(?<=\\\\))'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.twig
|
||||
pop: true
|
||||
- match: (?:(?<!\\)|(?<=\\\\))"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.twig
|
||||
push:
|
||||
- meta_scope: string.quoted.double.twig
|
||||
- match: (?:(?<!\\)|(?<=\\\\))"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.twig
|
||||
pop: true
|
||||
23
assets/syntaxes/02_Extra/Hosts.sublime-syntax
vendored
Normal file
23
assets/syntaxes/02_Extra/Hosts.sublime-syntax
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: hosts
|
||||
file_extensions:
|
||||
- hosts
|
||||
scope: source.hosts
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- scope: comment.line.number-sign
|
||||
match: \#.*
|
||||
comment: comment
|
||||
|
||||
- match: ^\s*([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}|[0-9a-f:]+)
|
||||
comment: ipaddress
|
||||
scope: constant.numeric.ipaddress
|
||||
|
||||
|
||||
- match: \s(localhost|ip6-loopback|ip6-localhost|ip6-localnet|ip6-mcastprefix|ip6-allnodes|ip6-allrouters|ip6-allhosts|broadcasthost)\b
|
||||
scope: keyword.host.predefined}
|
||||
comment: prefdfined
|
||||
|
||||
1
assets/syntaxes/02_Extra/INI
vendored
Submodule
1
assets/syntaxes/02_Extra/INI
vendored
Submodule
Submodule assets/syntaxes/02_Extra/INI added at 8dd3e316ad
46
assets/syntaxes/02_Extra/INI.sublime-syntax
vendored
Normal file
46
assets/syntaxes/02_Extra/INI.sublime-syntax
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: INI
|
||||
file_extensions:
|
||||
- ini
|
||||
- INI
|
||||
- inf
|
||||
- INF
|
||||
- reg
|
||||
- REG
|
||||
- lng
|
||||
- cfg
|
||||
- CFG
|
||||
- desktop
|
||||
- url
|
||||
- URL
|
||||
- .editorconfig
|
||||
- .hgrc
|
||||
- hgrc
|
||||
scope: source.ini
|
||||
contexts:
|
||||
main:
|
||||
- match: ^\s*(;|#).*$\n?
|
||||
scope: comment.line.semicolon.ini
|
||||
captures:
|
||||
1: punctuation.definition.comment.ini
|
||||
- match: '^\s*(\[)(.*?)(\])'
|
||||
scope: meta.tag.section.ini
|
||||
captures:
|
||||
1: punctuation.definition.section.ini
|
||||
2: entity.section.ini
|
||||
3: punctuation.definition.section.ini
|
||||
- match: '^(\s*(["'']?)(.+?)(\2)\s*(=))?\s*((["'']?)(.*?)(\7))\s*(;.*)?$\n?'
|
||||
scope: meta.declaration.ini
|
||||
captures:
|
||||
1: meta.property.ini
|
||||
2: punctuation.definition.quote.ini
|
||||
3: keyword.name.ini
|
||||
4: punctuation.definition.quote.ini
|
||||
5: punctuation.definition.equals.ini
|
||||
6: meta.value.ini
|
||||
7: punctuation.definition.quote.ini
|
||||
8: string.name.value.ini
|
||||
9: punctuation.definition.quote.ini
|
||||
10: comment.declarationline.semicolon.ini
|
||||
1
assets/syntaxes/02_Extra/JavaScript (Babel)
vendored
Submodule
1
assets/syntaxes/02_Extra/JavaScript (Babel)
vendored
Submodule
Submodule assets/syntaxes/02_Extra/JavaScript (Babel) added at f4579f9107
1290
assets/syntaxes/02_Extra/JavaScript (Babel).sublime-syntax
vendored
Normal file
1290
assets/syntaxes/02_Extra/JavaScript (Babel).sublime-syntax
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
assets/syntaxes/02_Extra/Jinja2
vendored
Submodule
1
assets/syntaxes/02_Extra/Jinja2
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Jinja2 added at 45355633d1
1
assets/syntaxes/02_Extra/Jsonnet
vendored
Submodule
1
assets/syntaxes/02_Extra/Jsonnet
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Jsonnet added at e2c917ed7d
1
assets/syntaxes/02_Extra/Julia
vendored
Submodule
1
assets/syntaxes/02_Extra/Julia
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Julia added at 0ca4cc2990
1
assets/syntaxes/02_Extra/Kotlin
vendored
Submodule
1
assets/syntaxes/02_Extra/Kotlin
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Kotlin added at aeeed2780b
398
assets/syntaxes/02_Extra/Kotlin.sublime-syntax
vendored
Normal file
398
assets/syntaxes/02_Extra/Kotlin.sublime-syntax
vendored
Normal file
@@ -0,0 +1,398 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Kotlin
|
||||
file_extensions:
|
||||
- kt
|
||||
- kts
|
||||
scope: source.Kotlin
|
||||
contexts:
|
||||
main:
|
||||
- include: comments
|
||||
- match: '^\s*(package)\b(?:\s*([^ ;$]+)\s*)?'
|
||||
captures:
|
||||
1: keyword.other.kotlin
|
||||
2: entity.name.package.kotlin
|
||||
- include: imports
|
||||
- include: statements
|
||||
classes:
|
||||
- match: (?<!::)(?=\b(?:companion|class|object|interface)\b)
|
||||
push:
|
||||
- match: '(?=$|\})'
|
||||
pop: true
|
||||
- include: comments
|
||||
- match: \b(companion\s*)?(class|object|interface)\b
|
||||
captures:
|
||||
1: storage.modifier.kotlin
|
||||
2: storage.modifier.kotlin
|
||||
push:
|
||||
- match: '(?=<|\{|\(|:|$)'
|
||||
pop: true
|
||||
- include: comments
|
||||
- match: \w+
|
||||
scope: entity.name.type.class.kotlin
|
||||
- match: <
|
||||
push:
|
||||
- match: ">"
|
||||
pop: true
|
||||
- include: generics
|
||||
- match: \(
|
||||
push:
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: parameters
|
||||
- match: (:)
|
||||
captures:
|
||||
1: keyword.operator.declaration.kotlin
|
||||
push:
|
||||
- match: "(?={|$)"
|
||||
pop: true
|
||||
- match: \w+
|
||||
scope: entity.other.inherited-class.kotlin
|
||||
- match: \(
|
||||
push:
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: expressions
|
||||
- match: '\{'
|
||||
push:
|
||||
- match: '\}'
|
||||
pop: true
|
||||
- include: statements
|
||||
comments:
|
||||
- match: /\*
|
||||
captures:
|
||||
0: punctuation.definition.comment.kotlin
|
||||
push:
|
||||
- meta_scope: comment.block.kotlin
|
||||
- match: \*/
|
||||
captures:
|
||||
0: punctuation.definition.comment.kotlin
|
||||
pop: true
|
||||
- match: \s*((//).*$\n?)
|
||||
captures:
|
||||
1: comment.line.double-slash.kotlin
|
||||
2: punctuation.definition.comment.kotlin
|
||||
constants:
|
||||
- match: \b(true|false|null|this|super)\b
|
||||
scope: constant.language.kotlin
|
||||
- match: '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)([LlFf])?\b'
|
||||
scope: constant.numeric.kotlin
|
||||
- match: '\b([A-Z][A-Z0-9_]+)\b'
|
||||
scope: constant.other.kotlin
|
||||
expressions:
|
||||
- match: \(
|
||||
push:
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: expressions
|
||||
- include: types
|
||||
- include: strings
|
||||
- include: constants
|
||||
- include: comments
|
||||
- include: keywords
|
||||
functions:
|
||||
- match: (?=\s*\b(?:fun)\b)
|
||||
push:
|
||||
- match: '(?=$|\})'
|
||||
pop: true
|
||||
- match: \b(fun)\b
|
||||
captures:
|
||||
1: keyword.other.kotlin
|
||||
push:
|
||||
- match: (?=\()
|
||||
pop: true
|
||||
- match: <
|
||||
push:
|
||||
- match: ">"
|
||||
pop: true
|
||||
- include: generics
|
||||
- match: '([\.<\?>\w]+\.)?(\w+)'
|
||||
captures:
|
||||
2: entity.name.function.kotlin
|
||||
- match: \(
|
||||
push:
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: parameters
|
||||
- match: (:)
|
||||
captures:
|
||||
1: keyword.operator.declaration.kotlin
|
||||
push:
|
||||
- match: "(?={|=|$)"
|
||||
pop: true
|
||||
- include: types
|
||||
- match: '\{'
|
||||
push:
|
||||
- match: '(?=\})'
|
||||
pop: true
|
||||
- include: statements
|
||||
- match: (=)
|
||||
captures:
|
||||
1: keyword.operator.assignment.kotlin
|
||||
push:
|
||||
- match: (?=$)
|
||||
pop: true
|
||||
- include: expressions
|
||||
generics:
|
||||
- match: (:)
|
||||
captures:
|
||||
1: keyword.operator.declaration.kotlin
|
||||
push:
|
||||
- match: (?=,|>)
|
||||
pop: true
|
||||
- include: types
|
||||
- include: keywords
|
||||
- match: \w+
|
||||
scope: storage.type.generic.kotlin
|
||||
getters-and-setters:
|
||||
- match: \b(get)\b\s*\(\s*\)
|
||||
captures:
|
||||
1: entity.name.function.kotlin
|
||||
push:
|
||||
- match: '\}|(?=\bset\b)|$'
|
||||
pop: true
|
||||
- match: (=)
|
||||
captures:
|
||||
1: keyword.operator.assignment.kotlin
|
||||
push:
|
||||
- match: (?=$|\bset\b)
|
||||
pop: true
|
||||
- include: expressions
|
||||
- match: '\{'
|
||||
push:
|
||||
- match: '\}'
|
||||
pop: true
|
||||
- include: expressions
|
||||
- match: \b(set)\b\s*(?=\()
|
||||
captures:
|
||||
1: entity.name.function.kotlin
|
||||
push:
|
||||
- match: '\}|(?=\bget\b)|$'
|
||||
pop: true
|
||||
- match: \(
|
||||
push:
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: parameters
|
||||
- match: (=)
|
||||
captures:
|
||||
1: keyword.operator.assignment.kotlin
|
||||
push:
|
||||
- match: (?=$|\bset\b)
|
||||
pop: true
|
||||
- include: expressions
|
||||
- match: '\{'
|
||||
push:
|
||||
- match: '\}'
|
||||
pop: true
|
||||
- include: expressions
|
||||
imports:
|
||||
- match: '^\s*(import)\s+[^ $]+\s+(as)?'
|
||||
captures:
|
||||
1: keyword.other.kotlin
|
||||
2: keyword.other.kotlin
|
||||
keywords:
|
||||
- match: \b(var|val|public|private|protected|abstract|final|sealed|enum|open|attribute|annotation|override|inline|vararg|in|out|internal|data|tailrec|operator|infix|const|yield|typealias|typeof|reified|suspend)\b
|
||||
scope: storage.modifier.kotlin
|
||||
- match: \b(try|catch|finally|throw)\b
|
||||
scope: keyword.control.catch-exception.kotlin
|
||||
- match: \b(if|else|while|for|do|return|when|where|break|continue)\b
|
||||
scope: keyword.control.kotlin
|
||||
- match: \b(in|is|!in|!is|as|as\?|assert)\b
|
||||
scope: keyword.operator.kotlin
|
||||
- match: (==|!=|===|!==|<=|>=|<|>)
|
||||
scope: keyword.operator.comparison.kotlin
|
||||
- match: (=)
|
||||
scope: keyword.operator.assignment.kotlin
|
||||
- match: (::)
|
||||
scope: keyword.operator.kotlin
|
||||
- match: (:)
|
||||
scope: keyword.operator.declaration.kotlin
|
||||
- match: \b(by)\b
|
||||
scope: keyword.other.by.kotlin
|
||||
- match: (\?\.)
|
||||
scope: keyword.operator.safenav.kotlin
|
||||
- match: (\.)
|
||||
scope: keyword.operator.dot.kotlin
|
||||
- match: (\?:)
|
||||
scope: keyword.operator.elvis.kotlin
|
||||
- match: (\-\-|\+\+)
|
||||
scope: keyword.operator.increment-decrement.kotlin
|
||||
- match: (\+=|\-=|\*=|\/=)
|
||||
scope: keyword.operator.arithmetic.assign.kotlin
|
||||
- match: (\.\.)
|
||||
scope: keyword.operator.range.kotlin
|
||||
- match: (\-|\+|\*|\/|%)
|
||||
scope: keyword.operator.arithmetic.kotlin
|
||||
- match: (!|&&|\|\|)
|
||||
scope: keyword.operator.logical.kotlin
|
||||
- match: (;)
|
||||
scope: punctuation.terminator.kotlin
|
||||
namespaces:
|
||||
- match: \b(namespace)\b
|
||||
scope: keyword.other.kotlin
|
||||
- match: '\{'
|
||||
push:
|
||||
- match: '\}'
|
||||
pop: true
|
||||
- include: statements
|
||||
parameters:
|
||||
- match: (:)
|
||||
captures:
|
||||
1: keyword.operator.declaration.kotlin
|
||||
push:
|
||||
- match: (?=,|\)|=)
|
||||
pop: true
|
||||
- include: types
|
||||
- match: (=)
|
||||
captures:
|
||||
1: keyword.operator.declaration.kotlin
|
||||
push:
|
||||
- match: (?=,|\))
|
||||
pop: true
|
||||
- include: expressions
|
||||
- include: keywords
|
||||
- match: \w+
|
||||
scope: variable.parameter.function.kotlin
|
||||
statements:
|
||||
- include: namespaces
|
||||
- include: typedefs
|
||||
- include: classes
|
||||
- include: functions
|
||||
- include: variables
|
||||
- include: getters-and-setters
|
||||
- include: expressions
|
||||
strings:
|
||||
- match: '"""'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.kotlin
|
||||
push:
|
||||
- meta_scope: string.quoted.third.kotlin
|
||||
- match: '"""'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.kotlin
|
||||
pop: true
|
||||
- match: '(\$\w+|\$\{[^\}]+\})'
|
||||
scope: variable.parameter.template.kotlin
|
||||
- match: \\.
|
||||
scope: constant.character.escape.kotlin
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.kotlin
|
||||
push:
|
||||
- meta_scope: string.quoted.double.kotlin
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.kotlin
|
||||
pop: true
|
||||
- match: '(\$\w+|\$\{[^\}]+\})'
|
||||
scope: variable.parameter.template.kotlin
|
||||
- match: \\.
|
||||
scope: constant.character.escape.kotlin
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.kotlin
|
||||
push:
|
||||
- meta_scope: string.quoted.single.kotlin
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.kotlin
|
||||
pop: true
|
||||
- match: \\.
|
||||
scope: constant.character.escape.kotlin
|
||||
- match: "`"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.kotlin
|
||||
push:
|
||||
- meta_scope: string.quoted.single.kotlin
|
||||
- match: "`"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.kotlin
|
||||
pop: true
|
||||
typedefs:
|
||||
- match: (?=\s*(?:type))
|
||||
push:
|
||||
- match: (?=$)
|
||||
pop: true
|
||||
- match: \b(type)\b
|
||||
scope: keyword.other.kotlin
|
||||
- match: <
|
||||
push:
|
||||
- match: ">"
|
||||
pop: true
|
||||
- include: generics
|
||||
- include: expressions
|
||||
types:
|
||||
- match: \b(Nothing|Any|Unit|String|CharSequence|Int|Boolean|Char|Long|Double|Float|Short|Byte|dynamic)\b
|
||||
scope: storage.type.buildin.kotlin
|
||||
- match: \b(IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray)\b
|
||||
scope: storage.type.buildin.array.kotlin
|
||||
- match: \b(Array|Collection|List|Map|Set|MutableList|MutableMap|MutableSet|Sequence)<\b
|
||||
captures:
|
||||
1: storage.type.buildin.collection.kotlin
|
||||
push:
|
||||
- match: ">"
|
||||
pop: true
|
||||
- include: types
|
||||
- include: keywords
|
||||
- match: \w+<
|
||||
push:
|
||||
- match: ">"
|
||||
pop: true
|
||||
- include: types
|
||||
- include: keywords
|
||||
- match: '\{'
|
||||
push:
|
||||
- match: '\}'
|
||||
pop: true
|
||||
- include: statements
|
||||
- match: \(
|
||||
push:
|
||||
- match: \)
|
||||
pop: true
|
||||
- include: types
|
||||
- match: (->)
|
||||
scope: keyword.operator.declaration.kotlin
|
||||
variables:
|
||||
- match: (?=\s*\b(?:var|val)\b)
|
||||
push:
|
||||
- match: (?=:|=|(\b(by)\b)|$)
|
||||
pop: true
|
||||
- match: \b(var|val)\b
|
||||
captures:
|
||||
1: keyword.other.kotlin
|
||||
push:
|
||||
- match: (?=:|=|(\b(by)\b)|$)
|
||||
pop: true
|
||||
- match: <
|
||||
push:
|
||||
- match: ">"
|
||||
pop: true
|
||||
- include: generics
|
||||
- match: '([\.<\?>\w]+\.)?(\w+)'
|
||||
captures:
|
||||
2: entity.name.variable.kotlin
|
||||
- match: (:)
|
||||
captures:
|
||||
1: keyword.operator.declaration.kotlin
|
||||
push:
|
||||
- match: (?==|$)
|
||||
pop: true
|
||||
- include: types
|
||||
- include: getters-and-setters
|
||||
- match: \b(by)\b
|
||||
captures:
|
||||
1: keyword.other.kotlin
|
||||
push:
|
||||
- match: (?=$)
|
||||
pop: true
|
||||
- include: expressions
|
||||
- match: (=)
|
||||
captures:
|
||||
1: keyword.operator.assignment.kotlin
|
||||
push:
|
||||
- match: (?=$)
|
||||
pop: true
|
||||
- include: expressions
|
||||
- include: getters-and-setters
|
||||
1
assets/syntaxes/02_Extra/LESS
vendored
Submodule
1
assets/syntaxes/02_Extra/LESS
vendored
Submodule
Submodule assets/syntaxes/02_Extra/LESS added at 3020993658
53
assets/syntaxes/02_Extra/Manpage.sublime-syntax
vendored
Normal file
53
assets/syntaxes/02_Extra/Manpage.sublime-syntax
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Manpage
|
||||
file_extensions:
|
||||
- man
|
||||
scope: source.man
|
||||
|
||||
variables:
|
||||
section_heading: '^\S.*$'
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- match: ^
|
||||
push: first_line
|
||||
|
||||
first_line:
|
||||
- match: '([A-Z0-9_\-]+)(\()([^)]+)(\))'
|
||||
captures:
|
||||
1: meta.preprocessor
|
||||
2: keyword.operator
|
||||
3: string.quoted.other
|
||||
4: keyword.operator
|
||||
|
||||
- match: '$'
|
||||
push: body
|
||||
|
||||
body:
|
||||
- match: '^(SYNOPSIS|SYNTAX|SINTASSI|SKŁADNIA|СИНТАКСИС|書式)'
|
||||
push: Packages/C/C.sublime-syntax
|
||||
scope: markup.heading
|
||||
with_prototype:
|
||||
- match: '(?={{section_heading}})'
|
||||
pop: true
|
||||
|
||||
- match: '^\S.*$'
|
||||
scope: markup.heading
|
||||
|
||||
- match: '\b([A-Za-z0-9_\-]+)(\()([^)]*)(\))'
|
||||
captures:
|
||||
1: entity.name.function
|
||||
2: keyword.operator
|
||||
3: constant.numeric
|
||||
4: keyword.operator
|
||||
|
||||
# command-line options like --option=value, --some-flag, or -x
|
||||
- match: '(?:[^a-zA-Z0-9_-]|^|\s)(--?[A-Za-z0-9][A-Za-z0-9-]*)(?:(=)?("?)([A-Za-z0-9]+)("?))?'
|
||||
captures:
|
||||
1: entity.name
|
||||
2: keyword.operator
|
||||
3: punctuation.definition.string.begin
|
||||
4: variable.parameter
|
||||
3: punctuation.definition.string.end
|
||||
14
assets/syntaxes/02_Extra/MemInfo.sublime-syntax
vendored
Normal file
14
assets/syntaxes/02_Extra/MemInfo.sublime-syntax
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: MemInfo
|
||||
file_extensions:
|
||||
- meminfo
|
||||
scope: source.meminfo
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- match: '^([^:]+)\w*:\w*(.*)$'
|
||||
captures:
|
||||
1: keyword.other.meminfo-key
|
||||
2: string.other.meminfo-value
|
||||
257
assets/syntaxes/02_Extra/Nim.sublime-syntax
vendored
Normal file
257
assets/syntaxes/02_Extra/Nim.sublime-syntax
vendored
Normal file
@@ -0,0 +1,257 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Nim
|
||||
file_extensions:
|
||||
- nim
|
||||
- nims
|
||||
scope: source.nim
|
||||
contexts:
|
||||
main:
|
||||
- match: '(\#\[\s*(TODO|todo)?)'
|
||||
comment: A multiline comment.
|
||||
captures:
|
||||
1: punctuation.definition.multi-comment.nim
|
||||
2: invalid.illegal.TODO.nim
|
||||
push:
|
||||
- meta_scope: comment.line.number-sign.multi-comment.nim
|
||||
- match: '(.*]\#)'
|
||||
captures:
|
||||
1: punctuation.definition.multi-comment.nim
|
||||
2: invalid.illegal.TODO.nim
|
||||
pop: true
|
||||
- match: (##\s*(TODO|todo)?).+$\n?
|
||||
comment: A documentation comment.
|
||||
scope: comment.line.number-sign.doc-comment.nim
|
||||
captures:
|
||||
1: punctuation.definition.doc-comment.nim
|
||||
2: invalid.illegal.TODO.nim
|
||||
- match: (##\s*)$\n?
|
||||
comment: An empty documentation comment.
|
||||
scope: comment.line.number-sign.doc-comment.empty.nim
|
||||
captures:
|
||||
1: punctuation.definition.doc-comment.empty.nim
|
||||
- match: (#\s*(TODO|todo)?).*$\n?
|
||||
comment: A regular comment
|
||||
scope: comment.line.number-sign.comment.nim
|
||||
captures:
|
||||
1: punctuation.definition.comment.nim
|
||||
2: invalid.illegal.TODO.nim
|
||||
- match: '\{\.'
|
||||
comment: Pragmas
|
||||
push:
|
||||
- meta_scope: pragma
|
||||
- match: '\.?\}'
|
||||
pop: true
|
||||
- match: \"
|
||||
push:
|
||||
- meta_scope: string.something.nim
|
||||
- match: \"
|
||||
pop: true
|
||||
- match: '([\w\x{80}-\x{10FFFF}]+)'
|
||||
scope: entity.other.attribute-name.pragma.nim
|
||||
- match: discard \"\"\"
|
||||
comment: A discarded triple string literal comment
|
||||
push:
|
||||
- meta_scope: comment.line.discarded.nim
|
||||
- match: \"\"\"
|
||||
pop: true
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(\d[_\d]*((\.[_\d]+([eE][\+\-]?\d[_\d]*)?)|([eE][\+\-]?\d[_\d]*)))(''?([fF](32|64|128))|[fFdD])?'
|
||||
comment: A float literal
|
||||
scope: constant.numeric.float.decimal.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(0[xX][0-9A-Fa-f][_0-9A-Fa-f]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
|
||||
comment: A hexadecimal literal
|
||||
scope: constant.numeric.integer.hexadecimal.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(0[ocC][0-7][_0-7]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
|
||||
comment: A base-8 integer literal
|
||||
scope: constant.numeric.integer.octal.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(0(b|B)[01][_01]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
|
||||
comment: A base-2 integer literal
|
||||
scope: constant.numeric.integer.binary.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(\d[_\d]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
|
||||
comment: A base-10 integer literal
|
||||
scope: constant.numeric.integer.decimal.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(true|false|inf|nil)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Language Constants.
|
||||
scope: constant.language.nim
|
||||
- match: (?:^|\s+|=)(when|if)\b
|
||||
comment: Primary branching keywords
|
||||
captures:
|
||||
1: keyword.control.primary.nim
|
||||
push:
|
||||
- match: (?=:)
|
||||
captures:
|
||||
1: control.variable.parameter.nim
|
||||
pop: true
|
||||
- include: scope:source.nim
|
||||
- match: (?:^|\s+|=)(case)\b
|
||||
comment: Primary branching keyword 'case'
|
||||
captures:
|
||||
1: keyword.control.primary.nim
|
||||
push:
|
||||
- match: (?=\bof\b)
|
||||
captures:
|
||||
1: control.variable.parameter.nim
|
||||
pop: true
|
||||
- include: scope:source.nim
|
||||
- match: (?:^|\s+)(of|else|elif)\b
|
||||
comment: Secondary branching keywords and their conditions
|
||||
captures:
|
||||
1: keyword.control.secondary.nim
|
||||
push:
|
||||
- match: (?=:)
|
||||
captures:
|
||||
1: control.variable.parameter.nim
|
||||
pop: true
|
||||
- include: scope:source.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(await|block|break|continue|do|end|except|finally|raise|return|try|while|yield)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Keywords that affect program control flow or scope.
|
||||
scope: keyword.control.nim
|
||||
- match: '((?<![\w\x{80}-\x{10FFFF}])(and|in|is|isnot|not|notin|or|xor)(?![\w\x{80}-\x{10FFFF}]))'
|
||||
comment: Keyword boolean operators for expressions.
|
||||
scope: keyword.operator.boolean.nim
|
||||
- match: '((?<![\w\x{80}-\x{10FFFF}])(addr|as|atomic|bind|cast|const|converter|defer|discard|distinct|div|enum|export|include|let|mixin|object|of|ptr|ref|shl|shr|static|type|var)(?![\w\x{80}-\x{10FFFF}]))'
|
||||
comment: Other keywords.
|
||||
scope: keyword.other.nim
|
||||
- match: (\b()\b|(=|\+|-|\*|/|<|>|@|\$|~|&|%|!|\?|\^|\.|:|\\)+)
|
||||
comment: Generic operators for expressions.
|
||||
scope: keyword.operator.nim
|
||||
- match: (for)\s+
|
||||
comment: in keyword in a 'for' loop
|
||||
captures:
|
||||
1: keyword.control.nim
|
||||
push:
|
||||
- meta_scope: meta.forloop.nim
|
||||
- match: (?=:)
|
||||
captures:
|
||||
1: keyword.control.nim
|
||||
pop: true
|
||||
- match: '\ [\w\x{80}-\x{10FFFF},]+\s+(in)\s+'
|
||||
captures:
|
||||
1: keyword.control.nim
|
||||
- include: scope:source.nim
|
||||
- match: '((import)\s+[\.|\w|\/]+,?)'
|
||||
comment: Import syntax
|
||||
captures:
|
||||
2: keyword.control.nim
|
||||
- match: '(from)\s+[\/\w]+\s+(?=import)'
|
||||
captures:
|
||||
1: keyword.control.nim
|
||||
- match: (var|let)\s*\(
|
||||
comment: Destructure syntax
|
||||
captures:
|
||||
1: keyword.other.nim
|
||||
push:
|
||||
- match: \)
|
||||
captures:
|
||||
1: keyword.other.nim
|
||||
pop: true
|
||||
- match: '((?<![\w\x{80}-\x{10FFFF}])(generic|interface|lambda|out|shared|with|without)(?![\w\x{80}-\x{10FFFF}]))'
|
||||
comment: Invalid and unused keywords.
|
||||
scope: keyword.invalid.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(new|GC_ref|GC_unref|assert|echo|defined|declared|newException|countup|countdown|len|high|low)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Common functions
|
||||
scope: keyword.other.common.function.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(((uint|int|float)(8|16|32|64)?)|clong|culong|cchar|cschar|cshort|cint|csize|clonglong|cfloat|cdouble|clongdouble|cuchar|cushort|cuint|culonglong|cstringArray|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Built-in, concrete types.
|
||||
scope: storage.type.concrete.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(range|array|seq|tuple|natural|set|ref|ptr|pointer)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Built-in, generic types.
|
||||
scope: storage.type.generic.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(proc|iterator|method|template|macro)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Function types
|
||||
scope: storage.type.function.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(openarray|varargs|void)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Special types.
|
||||
scope: storage.type.generic.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])([A-Z][A-Z0-9_]+)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Other constants.
|
||||
scope: support.constant.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])([A-Z]\w+)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Other types.
|
||||
scope: support.type.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(\w+)(?![\w\x{80}-\x{10FFFF}])(?=\()'
|
||||
comment: Function call.
|
||||
scope: support.function.any-method.nim
|
||||
- match: r?\"\"\"
|
||||
comment: (Raw) Triple Quoted String
|
||||
push:
|
||||
- meta_scope: string.quoted.triple.nim
|
||||
- match: '\"\"\"[^\"]'
|
||||
pop: true
|
||||
- match: r\"
|
||||
comment: Raw Double Quoted String
|
||||
push:
|
||||
- meta_scope: string.quoted.double.raw.nim
|
||||
- match: \"
|
||||
pop: true
|
||||
- match: \"\"
|
||||
- match: \"
|
||||
comment: Double Quoted String
|
||||
push:
|
||||
- meta_scope: string.quoted.double.nim
|
||||
- match: \"
|
||||
pop: true
|
||||
- include: escaped_char
|
||||
- match: \'
|
||||
comment: Single quoted character literal
|
||||
push:
|
||||
- meta_scope: string.quoted.single.nim
|
||||
- match: \'
|
||||
pop: true
|
||||
- match: \\n
|
||||
scope: invalid.illegal.character.nim
|
||||
- include: escaped_char
|
||||
- match: '([^\''][^\'']+?)'
|
||||
scope: invalid.illegal.character.nim
|
||||
- match: '([\w\x{80}-\x{10FFFF}\`]+)\s*(?=\(|\[.+?\]\s*\()'
|
||||
comment: Call syntax
|
||||
captures:
|
||||
1: support.function.any-method.nim
|
||||
push:
|
||||
- match: \)
|
||||
captures:
|
||||
1: support.function.any-method.nim
|
||||
pop: true
|
||||
- include: scope:source.nim
|
||||
- match: '([\w\x{80}-\x{10FFFF}]+)(?=\s+[\w](?![\w\x{80}-\x{10FFFF}]+((?!\n)\s)+))'
|
||||
comment: Command syntax
|
||||
captures:
|
||||
1: support.function.any-method.nim
|
||||
- match: '([\w\x{80}-\x{10FFFF}]+)(?=\s+[\"\''\`])'
|
||||
captures:
|
||||
1: support.function.any-method.nim
|
||||
- match: (tmpl(i)?)(?=( (nim|html|xml|js|css|glsl|md))?\"\"\")
|
||||
comment: tmpl specifier
|
||||
captures:
|
||||
1: storage.type.function.nim
|
||||
2: keyword.operator.nim
|
||||
escaped_char:
|
||||
- match: '\\[nN]'
|
||||
scope: constant.character.escape.newline.nim
|
||||
- match: '\\[cC]|\\[rR]'
|
||||
scope: constant.character.escape.carriagereturn.nim
|
||||
- match: '\\[lL]'
|
||||
scope: constant.character.escape.linefeed.nim
|
||||
- match: '\\[fF]'
|
||||
scope: constant.character.escape.formfeed.nim
|
||||
- match: '\\[tT]'
|
||||
scope: constant.character.escape.tabulator.nim
|
||||
- match: '\\[vV]'
|
||||
scope: constant.character.escape.verticaltabulator.nim
|
||||
- match: \\\"
|
||||
scope: constant.character.escape.double-quote.nim
|
||||
- match: \\'
|
||||
scope: constant.character.escape.single-quote.nim
|
||||
- match: '\\[0-9]+'
|
||||
scope: constant.character.escape.chardecimalvalue.nim
|
||||
- match: '\\[aA]'
|
||||
scope: constant.character.escape.alert.nim
|
||||
- match: '\\[bB]'
|
||||
scope: constant.character.escape.backspace.nim
|
||||
- match: '\\[eE]'
|
||||
scope: constant.character.escape.escape.nim
|
||||
- match: '\\[xX][0-9A-Fa-f]{2}'
|
||||
scope: constant.character.escape.hex.nim
|
||||
- match: \\\\
|
||||
scope: constant.character.escape.backslash.nim
|
||||
1
assets/syntaxes/02_Extra/Nix
vendored
Submodule
1
assets/syntaxes/02_Extra/Nix
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Nix added at 9032bd6137
609
assets/syntaxes/02_Extra/Nix.sublime-syntax
vendored
Normal file
609
assets/syntaxes/02_Extra/Nix.sublime-syntax
vendored
Normal file
@@ -0,0 +1,609 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Nix
|
||||
file_extensions:
|
||||
- nix
|
||||
scope: source.nix
|
||||
contexts:
|
||||
main:
|
||||
- include: expression
|
||||
comment:
|
||||
- match: '/\*([^*]|\*[^\/])*'
|
||||
push:
|
||||
- meta_scope: comment.block.nix
|
||||
- match: \*\/
|
||||
pop: true
|
||||
- include: comment-remark
|
||||
- match: '\#'
|
||||
push:
|
||||
- meta_scope: comment.line.number-sign.nix
|
||||
- match: $
|
||||
pop: true
|
||||
- include: comment-remark
|
||||
attribute-bind:
|
||||
- include: attribute-name
|
||||
- include: attribute-bind-from-equals
|
||||
attribute-bind-from-equals:
|
||||
- match: \=
|
||||
captures:
|
||||
0: keyword.operator.bind.nix
|
||||
push:
|
||||
- match: \;
|
||||
captures:
|
||||
0: punctuation.terminator.bind.nix
|
||||
pop: true
|
||||
- include: expression
|
||||
attribute-inherit:
|
||||
- match: \binherit\b
|
||||
captures:
|
||||
0: keyword.other.inherit.nix
|
||||
push:
|
||||
- match: \;
|
||||
captures:
|
||||
0: punctuation.terminator.inherit.nix
|
||||
pop: true
|
||||
- match: \(
|
||||
captures:
|
||||
0: punctuation.section.function.arguments.nix
|
||||
push:
|
||||
- match: (?=\;)
|
||||
pop: true
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.section.function.arguments.nix
|
||||
push:
|
||||
- match: (?=\;)
|
||||
pop: true
|
||||
- include: bad-reserved
|
||||
- include: attribute-name-single
|
||||
- include: others
|
||||
- include: expression
|
||||
- match: '(?=[a-zA-Z\_])'
|
||||
push:
|
||||
- match: (?=\;)
|
||||
pop: true
|
||||
- include: bad-reserved
|
||||
- include: attribute-name-single
|
||||
- include: others
|
||||
- include: others
|
||||
attribute-name:
|
||||
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
|
||||
scope: entity.other.attribute-name.multipart.nix
|
||||
- match: \.
|
||||
- include: string-quoted
|
||||
- include: interpolation
|
||||
attribute-name-single:
|
||||
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
|
||||
scope: entity.other.attribute-name.single.nix
|
||||
attrset-contents:
|
||||
- include: attribute-inherit
|
||||
- include: bad-reserved
|
||||
- include: attribute-bind
|
||||
- include: others
|
||||
attrset-definition:
|
||||
- match: '(?=\{)'
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- match: '(\{)'
|
||||
captures:
|
||||
0: punctuation.definition.attrset.nix
|
||||
push:
|
||||
- match: '(\})'
|
||||
captures:
|
||||
0: punctuation.definition.attrset.nix
|
||||
pop: true
|
||||
- include: attrset-contents
|
||||
- match: '(?<=\})'
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression-cont
|
||||
attrset-definition-brace-opened:
|
||||
- match: '(?<=\})'
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression-cont
|
||||
- match: (?=.?)
|
||||
push:
|
||||
- match: '\}'
|
||||
captures:
|
||||
0: punctuation.definition.attrset.nix
|
||||
pop: true
|
||||
- include: attrset-contents
|
||||
attrset-for-sure:
|
||||
- match: (?=\brec\b)
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- match: \brec\b
|
||||
captures:
|
||||
0: keyword.other.nix
|
||||
push:
|
||||
- match: '(?=\{)'
|
||||
pop: true
|
||||
- include: others
|
||||
- include: attrset-definition
|
||||
- include: others
|
||||
- match: '(?=\{\s*(\}|[^,?]*(=|;)))'
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: attrset-definition
|
||||
- include: others
|
||||
attrset-or-function:
|
||||
- match: '\{'
|
||||
captures:
|
||||
0: punctuation.definition.attrset-or-function.nix
|
||||
push:
|
||||
- match: '(?=([\])};]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- match: '(?=(\s*\}|\"|\binherit\b|\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*(\s*\.|\s*=[^=])|\$\{[a-zA-z0-9\_\''\-]+\}(\s*\.|\s*=[^=])))'
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: attrset-definition-brace-opened
|
||||
- match: '(?=(\.\.\.|\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*\s*[,?]))'
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: function-definition-brace-opened
|
||||
- include: bad-reserved
|
||||
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
|
||||
captures:
|
||||
0: variable.parameter.function.maybe.nix
|
||||
push:
|
||||
- match: '(?=([\])};]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- match: (?=\.)
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: attrset-definition-brace-opened
|
||||
- match: \s*(\,)
|
||||
captures:
|
||||
1: keyword.operator.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: function-definition-brace-opened
|
||||
- match: (?=\=)
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: attribute-bind-from-equals
|
||||
- include: attrset-definition-brace-opened
|
||||
- match: (?=\?)
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: function-parameter-default
|
||||
- match: \,
|
||||
captures:
|
||||
0: keyword.operator.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: function-definition-brace-opened
|
||||
- include: others
|
||||
- include: others
|
||||
bad-reserved:
|
||||
- match: '(?<![\w''-])(if|then|else|assert|with|let|in|rec|inherit)(?![\w''-])'
|
||||
scope: invalid.illegal.reserved.nix
|
||||
comment-remark:
|
||||
- match: (TODO|FIXME|BUG|\!\!\!):?
|
||||
captures:
|
||||
1: markup.bold.comment.nix
|
||||
constants:
|
||||
- match: \b(builtins|true|false|null)\b
|
||||
captures:
|
||||
0: constant.language.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression-cont
|
||||
- match: \b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\b
|
||||
captures:
|
||||
0: support.function.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression-cont
|
||||
- match: '\b[0-9]+\b'
|
||||
captures:
|
||||
0: constant.numeric.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression-cont
|
||||
expression:
|
||||
- include: parens-and-cont
|
||||
- include: list-and-cont
|
||||
- include: string
|
||||
- include: interpolation
|
||||
- include: with-assert
|
||||
- include: function-for-sure
|
||||
- include: attrset-for-sure
|
||||
- include: attrset-or-function
|
||||
- include: let
|
||||
- include: if
|
||||
- include: operator-unary
|
||||
- include: constants
|
||||
- include: bad-reserved
|
||||
- include: parameter-name-and-cont
|
||||
- include: others
|
||||
expression-cont:
|
||||
- match: (?=.?)
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: parens
|
||||
- include: list
|
||||
- include: string
|
||||
- include: interpolation
|
||||
- include: function-for-sure
|
||||
- include: attrset-for-sure
|
||||
- include: attrset-or-function
|
||||
- match: '(\bor\b|\.|==|!=|!|\<\=|\<|\>\=|\>|&&|\|\||-\>|//|\?|\+\+|-|\*|/(?=([^*]|$))|\+)'
|
||||
scope: keyword.operator.nix
|
||||
- include: constants
|
||||
- include: bad-reserved
|
||||
- include: parameter-name
|
||||
- include: others
|
||||
function-body:
|
||||
- match: '(@\s*([a-zA-Z\_][a-zA-Z0-9\_\''\-]*)\s*)?(\:)'
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression
|
||||
function-body-from-colon:
|
||||
- match: (\:)
|
||||
captures:
|
||||
0: punctuation.definition.function.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression
|
||||
function-contents:
|
||||
- include: bad-reserved
|
||||
- include: function-parameter
|
||||
- include: others
|
||||
function-definition:
|
||||
- match: (?=.?)
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: function-body-from-colon
|
||||
- match: (?=.?)
|
||||
push:
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- match: '(\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*)'
|
||||
captures:
|
||||
0: variable.parameter.function.4.nix
|
||||
push:
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- match: \@
|
||||
push:
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- include: function-header-until-colon-no-arg
|
||||
- include: others
|
||||
- include: others
|
||||
- match: '(?=\{)'
|
||||
push:
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- include: function-header-until-colon-with-arg
|
||||
- include: others
|
||||
function-definition-brace-opened:
|
||||
- match: (?=.?)
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: function-body-from-colon
|
||||
- match: (?=.?)
|
||||
push:
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- include: function-header-close-brace-with-arg
|
||||
- match: (?=.?)
|
||||
push:
|
||||
- match: '(?=\})'
|
||||
pop: true
|
||||
- include: function-contents
|
||||
- include: others
|
||||
function-for-sure:
|
||||
- match: '(?=(\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*\s*[:@]|\{[^}]*\}\s*:|\{[^#}"''/=]*[,\?]))'
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: function-definition
|
||||
function-header-close-brace-no-arg:
|
||||
- match: '\}'
|
||||
captures:
|
||||
0: punctuation.definition.entity.function.nix
|
||||
push:
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- include: others
|
||||
function-header-close-brace-with-arg:
|
||||
- match: '\}'
|
||||
captures:
|
||||
0: punctuation.definition.entity.function.nix
|
||||
push:
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- include: function-header-terminal-arg
|
||||
- include: others
|
||||
function-header-open-brace:
|
||||
- match: '\{'
|
||||
captures:
|
||||
0: punctuation.definition.entity.function.2.nix
|
||||
push:
|
||||
- match: '(?=\})'
|
||||
pop: true
|
||||
- include: function-contents
|
||||
function-header-terminal-arg:
|
||||
- match: (?=@)
|
||||
push:
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- match: \@
|
||||
push:
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- match: '(\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*)'
|
||||
push:
|
||||
- meta_scope: variable.parameter.function.3.nix
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- include: others
|
||||
- include: others
|
||||
function-header-until-colon-no-arg:
|
||||
- match: '(?=\{)'
|
||||
push:
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- include: function-header-open-brace
|
||||
- include: function-header-close-brace-no-arg
|
||||
function-header-until-colon-with-arg:
|
||||
- match: '(?=\{)'
|
||||
push:
|
||||
- match: (?=\:)
|
||||
pop: true
|
||||
- include: function-header-open-brace
|
||||
- include: function-header-close-brace-with-arg
|
||||
function-parameter:
|
||||
- match: (\.\.\.)
|
||||
push:
|
||||
- meta_scope: keyword.operator.nix
|
||||
- match: '(,|(?=\}))'
|
||||
pop: true
|
||||
- include: others
|
||||
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
|
||||
captures:
|
||||
0: variable.parameter.function.1.nix
|
||||
push:
|
||||
- match: '(,|(?=\}))'
|
||||
captures:
|
||||
0: keyword.operator.nix
|
||||
pop: true
|
||||
- include: whitespace
|
||||
- include: comment
|
||||
- include: function-parameter-default
|
||||
- include: expression
|
||||
- include: others
|
||||
function-parameter-default:
|
||||
- match: \?
|
||||
captures:
|
||||
0: keyword.operator.nix
|
||||
push:
|
||||
- match: "(?=[,}])"
|
||||
pop: true
|
||||
- include: expression
|
||||
if:
|
||||
- match: (?=\bif\b)
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- match: \bif\b
|
||||
captures:
|
||||
0: keyword.other.nix
|
||||
push:
|
||||
- match: \bth(?=en\b)
|
||||
captures:
|
||||
0: keyword.other.nix
|
||||
pop: true
|
||||
- include: expression
|
||||
- match: (?<=th)en\b
|
||||
captures:
|
||||
0: keyword.other.nix
|
||||
push:
|
||||
- match: \bel(?=se\b)
|
||||
captures:
|
||||
0: keyword.other.nix
|
||||
pop: true
|
||||
- include: expression
|
||||
- match: (?<=el)se\b
|
||||
captures:
|
||||
0: keyword.other.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
captures:
|
||||
0: keyword.other.nix
|
||||
pop: true
|
||||
- include: expression
|
||||
illegal:
|
||||
- match: .
|
||||
scope: invalid.illegal
|
||||
interpolation:
|
||||
- match: '\$\{'
|
||||
captures:
|
||||
0: punctuation.section.embedded.begin.nix
|
||||
push:
|
||||
- meta_scope: markup.italic
|
||||
- match: '\}'
|
||||
captures:
|
||||
0: punctuation.section.embedded.end.nix
|
||||
pop: true
|
||||
- include: expression
|
||||
let:
|
||||
- match: (?=\blet\b)
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- match: \blet\b
|
||||
captures:
|
||||
0: keyword.other.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(in|else|then)\b))'
|
||||
pop: true
|
||||
- match: '(?=\{)'
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- match: '\{'
|
||||
push:
|
||||
- match: '\}'
|
||||
pop: true
|
||||
- include: attrset-contents
|
||||
- match: '(^|(?<=\}))'
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression-cont
|
||||
- include: others
|
||||
- include: attrset-contents
|
||||
- include: others
|
||||
- match: \bin\b
|
||||
captures:
|
||||
0: keyword.other.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression
|
||||
list:
|
||||
- match: '\['
|
||||
captures:
|
||||
0: punctuation.definition.list.nix
|
||||
push:
|
||||
- match: '\]'
|
||||
captures:
|
||||
0: punctuation.definition.list.nix
|
||||
pop: true
|
||||
- include: expression
|
||||
list-and-cont:
|
||||
- match: '(?=\[)'
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: list
|
||||
- include: expression-cont
|
||||
operator-unary:
|
||||
- match: (!|-)
|
||||
scope: keyword.operator.unary.nix
|
||||
others:
|
||||
- include: whitespace
|
||||
- include: comment
|
||||
- include: illegal
|
||||
parameter-name:
|
||||
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
|
||||
captures:
|
||||
0: variable.parameter.name.nix
|
||||
parameter-name-and-cont:
|
||||
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
|
||||
captures:
|
||||
0: variable.parameter.name.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression-cont
|
||||
parens:
|
||||
- match: \(
|
||||
captures:
|
||||
0: punctuation.definition.expression.nix
|
||||
push:
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.definition.expression.nix
|
||||
pop: true
|
||||
- include: expression
|
||||
parens-and-cont:
|
||||
- match: (?=\()
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: parens
|
||||
- include: expression-cont
|
||||
string:
|
||||
- match: (?=\'\')
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- match: \'\'
|
||||
captures:
|
||||
0: punctuation.definition.string.other.start.nix
|
||||
push:
|
||||
- meta_scope: string.quoted.other.nix
|
||||
- match: \'\'(?!\$|\'|\\.)
|
||||
captures:
|
||||
0: punctuation.definition.string.other.end.nix
|
||||
pop: true
|
||||
- match: \'\'(\$|\'|\\.)
|
||||
scope: constant.character.escape.nix
|
||||
- include: interpolation
|
||||
- include: expression-cont
|
||||
- match: (?=\")
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: string-quoted
|
||||
- include: expression-cont
|
||||
- match: '(~?[a-zA-Z0-9\.\_\-\+]*(\/[a-zA-Z0-9\.\_\-\+]+)+)'
|
||||
captures:
|
||||
0: string.unquoted.path.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression-cont
|
||||
- match: '(\<[a-zA-Z0-9\.\_\-\+]+(\/[a-zA-Z0-9\.\_\-\+]+)*\>)'
|
||||
captures:
|
||||
0: string.unquoted.spath.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression-cont
|
||||
- match: '([a-zA-Z][a-zA-Z0-9\+\-\.]*\:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\'']+)'
|
||||
captures:
|
||||
0: string.unquoted.url.nix
|
||||
push:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
- include: expression-cont
|
||||
string-quoted:
|
||||
- match: \"
|
||||
captures:
|
||||
0: punctuation.definition.string.double.start.nix
|
||||
push:
|
||||
- meta_scope: string.quoted.double.nix
|
||||
- match: \"
|
||||
captures:
|
||||
0: punctuation.definition.string.double.end.nix
|
||||
pop: true
|
||||
- match: \\.
|
||||
scope: constant.character.escape.nix
|
||||
- include: interpolation
|
||||
whitespace:
|
||||
- match: \s+
|
||||
with-assert:
|
||||
- match: '(?<![\w''-])(with|assert)(?![\w''-])'
|
||||
captures:
|
||||
0: keyword.other.nix
|
||||
push:
|
||||
- match: \;
|
||||
pop: true
|
||||
- include: expression
|
||||
1
assets/syntaxes/02_Extra/Org mode
vendored
Submodule
1
assets/syntaxes/02_Extra/Org mode
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Org mode added at 4976d8f84e
219
assets/syntaxes/02_Extra/Org mode.sublime-syntax
vendored
Normal file
219
assets/syntaxes/02_Extra/Org mode.sublime-syntax
vendored
Normal file
@@ -0,0 +1,219 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: orgmode
|
||||
file_extensions:
|
||||
- org
|
||||
scope: text.orgmode
|
||||
contexts:
|
||||
main:
|
||||
- match: |-
|
||||
(?x)
|
||||
^(\*+) # leading stars
|
||||
\s*([A-Z_]{2,})? # todo keywords
|
||||
\s*(\[\#[A-Ca-c]\])? # priority
|
||||
\s*(?=\s+[A-Za-z0-9]+) # expected heading text
|
||||
comment: Outline headings
|
||||
captures:
|
||||
1: punctuation.definition.heading.orgmode
|
||||
2: keyword.other.todo.orgmode
|
||||
3: constant.other.priority.orgmode
|
||||
push:
|
||||
- meta_scope: markup.heading.orgmode
|
||||
- meta_content_scope: entity.name.section.orgmode
|
||||
- match: (?=\s*$\n?)
|
||||
pop: true
|
||||
- include: heading-inline
|
||||
- match: "^-{5,}$"
|
||||
scope: meta.separator.orgmode
|
||||
- match: '^\s*([-+]|\s+\*)\s+(.*?)\s+::'
|
||||
captures:
|
||||
1: keyword.operator.list.orgmode
|
||||
2: markup.bold.definition.orgmode
|
||||
push:
|
||||
- meta_scope: meta.list.definition.orgmode
|
||||
- match: $
|
||||
pop: true
|
||||
- include: inline
|
||||
- match: '^\s*?([-+]|\s+\*|\d+[).])'
|
||||
captures:
|
||||
1: keyword.operator.list.orgmode
|
||||
push:
|
||||
- meta_scope: meta.list.plain.orgmode
|
||||
- match: $
|
||||
pop: true
|
||||
- include: list-inline
|
||||
- match: (?i)^#\+(BEGIN_(QUOTE|VERSE|CENTER))$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
push:
|
||||
- meta_scope: markup.quote.orgmode
|
||||
- match: (?i)^#\+(END_\2)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- match: "^#[^+].*$"
|
||||
scope: comment.line.number-sign.orgmode
|
||||
- match: ^:(PROPERTIES):$
|
||||
captures:
|
||||
1: keyword.control.drawer.orgmode
|
||||
push:
|
||||
- meta_scope: meta.drawer.properties.orgmode
|
||||
- match: ^:(END):$
|
||||
captures:
|
||||
1: keyword.control.drawer.orgmode
|
||||
pop: true
|
||||
- include: properties
|
||||
- match: ^:(.+):$
|
||||
captures:
|
||||
1: keyword.control.drawer.orgmode
|
||||
push:
|
||||
- meta_scope: meta.drawer.other.orgmode
|
||||
- match: ^:(END):$
|
||||
captures:
|
||||
1: keyword.control.drawer.orgmode
|
||||
pop: true
|
||||
- match: (?i)#\+(BEGIN_LaTeX)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.latex.orgmode
|
||||
- match: (?i)#\+(END_LaTeX)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:text.tex.latex
|
||||
- match: (?i)#\+(BEGIN_HTML)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.html.orgmode
|
||||
- match: (?i)#\+(END_HTML)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:text.html.basic
|
||||
- match: (?i)#\+(BEGIN_SRC)\s+(python)\s*(.*)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
2: constant.other.language.orgmode
|
||||
3: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.source.python.orgmode
|
||||
- match: (?i)#\+(END_SRC)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:source.python
|
||||
- match: (?i)#\+(BEGIN_SRC)\s+(ruby)\s*(.*)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
2: constant.other.language.orgmode
|
||||
3: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.source.ruby.orgmode
|
||||
- match: (?i)#\+(END_SRC)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:source.ruby
|
||||
- match: (?i)#\+(BEGIN_SRC)\s+((?:emacs-)?lisp)\s*(.*)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
2: constant.other.language.orgmode
|
||||
3: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.source.lisp.orgmode
|
||||
- match: (?i)#\+(END_SRC)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:source.lisp
|
||||
- match: (?i)#\+(BEGIN_SRC)\s+(sh)\s*(.*)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
2: constant.other.language.orgmode
|
||||
3: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.source.shell.orgmode
|
||||
- match: (?i)#\+(END_SRC)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:source.shell
|
||||
- match: '(?i)#\+(BEGIN_(SRC|EXAMPLE))(?:\s+([\w-]+)?\s*(.*))?$'
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
3: constant.other.language.orgmode
|
||||
4: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.source.other.orgmode
|
||||
- meta_content_scope: markup.raw.block.orgmode
|
||||
- match: (?i)#\+(END_\2)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- match: '#\+(OPTIONS):'
|
||||
captures:
|
||||
1: keyword.control.pragma.orgmode
|
||||
push:
|
||||
- meta_scope: meta.pragma.options.orgmode
|
||||
- match: $
|
||||
pop: true
|
||||
- match: '([^\s]+):([^\s]+)'
|
||||
scope: meta.option.orgmode
|
||||
captures:
|
||||
1: variable.parameter.option.orgmode
|
||||
2: string.other.option.orgmode
|
||||
- match: '#\+(CALL):\s+[A-Za-z-]+(?:\[([^\]]*)\])?\(?'
|
||||
captures:
|
||||
1: keyword.control.pragma.orgmode
|
||||
2: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.pragma.call.orgmode
|
||||
- match: '\)?([^)]*)$'
|
||||
captures:
|
||||
1: string.other.header-args.orgmode
|
||||
pop: true
|
||||
- match: (\w+)=
|
||||
scope: meta.assignment.orgmode
|
||||
captures:
|
||||
1: variable.parameter.header-args.orgmode
|
||||
- match: '^#\+([a-zA-Z_-]+): ?(.*)$'
|
||||
scope: meta.pragma.orgmode
|
||||
captures:
|
||||
1: keyword.control.pragma.orgmode
|
||||
2: string.unquoted.pragma.orgmode
|
||||
- include: inline
|
||||
heading-inline:
|
||||
- match: ':([^:^\s]*)(?=:)'
|
||||
scope: meta.keyword.orgmode
|
||||
captures:
|
||||
1: string.quoted.keyword.orgmode
|
||||
- include: inline
|
||||
inline:
|
||||
- match: '(?<=^|[.,:;\s])/[^/]+/(?=$|[.,:;\s])'
|
||||
scope: markup.italic.orgmode
|
||||
- match: '(?<=^|[.,:;\s])\*[^*]+\*(?=$|[.,:;\s])'
|
||||
scope: markup.bold.orgmode
|
||||
- match: '(?<=^|[.,:;\s])_[^_]+_(?=$|[.,:;\s])'
|
||||
scope: markup.underline.orgmode
|
||||
- match: '(?<=^|[.,:;\s])([~=]).+?\1(?=$|[.,:;\s])'
|
||||
scope: markup.raw.inline.orgmode
|
||||
- match: '\[(?:\[([^\]]*)\])?\[([^\]]*)\]\]'
|
||||
scope: meta.link.orgmode
|
||||
captures:
|
||||
1: markup.underline.link.orgmode
|
||||
2: string.other.link.orgmode
|
||||
- match: (?:http|ftp)s?:\/\/\S+
|
||||
scope: markup.underline.url.orgmode
|
||||
list-inline:
|
||||
- match: '\[[ -X]\]'
|
||||
scope: keyword.operator.checkbox.orgmode
|
||||
- include: inline
|
||||
properties:
|
||||
- match: '^:([A-Za-z_]+):\s(.*)$'
|
||||
scope: meta.property.orgmode
|
||||
captures:
|
||||
1: keyword.control.property.orgmode
|
||||
2: string.unquoted.propval.orgmode
|
||||
71
assets/syntaxes/02_Extra/Passwd.sublime-syntax
vendored
Normal file
71
assets/syntaxes/02_Extra/Passwd.sublime-syntax
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: passwd
|
||||
file_extensions:
|
||||
- passwd
|
||||
scope: source.passwd
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- comment: name
|
||||
match: ^[^:]+
|
||||
scope: keyword
|
||||
|
||||
- comment: password
|
||||
match: ":"
|
||||
push: password
|
||||
|
||||
password:
|
||||
- comment: uid
|
||||
match: ":"
|
||||
set: uid
|
||||
|
||||
- comment: shadowpassword
|
||||
match: "[^:]+"
|
||||
scope: invalid
|
||||
|
||||
uid:
|
||||
- comment: gid
|
||||
match: ":"
|
||||
set: gid
|
||||
|
||||
- comment: number
|
||||
match: "[0-9]+"
|
||||
scope: constant.numeric
|
||||
|
||||
gid:
|
||||
- comment: comment
|
||||
match: ":"
|
||||
set: comment
|
||||
|
||||
- comment: number
|
||||
match: "[0-9]+"
|
||||
scope: constant.language
|
||||
|
||||
comment:
|
||||
- comment: directory
|
||||
match: ":"
|
||||
set: directory
|
||||
|
||||
- comment: comment
|
||||
match: "[^:]+"
|
||||
scope: entity.name
|
||||
|
||||
directory:
|
||||
- comment: shell
|
||||
match: ":"
|
||||
set: shell
|
||||
|
||||
- comment: directory
|
||||
match: "[^:]+"
|
||||
scope: string.unquoted
|
||||
|
||||
shell:
|
||||
- comment: newline
|
||||
match: "\n"
|
||||
pop: true
|
||||
|
||||
- comment: directory
|
||||
match: "[^:\n]+"
|
||||
scope: variable.parameter
|
||||
1
assets/syntaxes/02_Extra/PowerShell
vendored
Submodule
1
assets/syntaxes/02_Extra/PowerShell
vendored
Submodule
Submodule assets/syntaxes/02_Extra/PowerShell added at 4a0a076661
451
assets/syntaxes/02_Extra/PowerShell.sublime-syntax
vendored
Normal file
451
assets/syntaxes/02_Extra/PowerShell.sublime-syntax
vendored
Normal file
@@ -0,0 +1,451 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: PowerShell
|
||||
file_extensions:
|
||||
- ps1
|
||||
- psm1
|
||||
- psd1
|
||||
scope: source.powershell
|
||||
contexts:
|
||||
main:
|
||||
- match: "<#"
|
||||
captures:
|
||||
0: punctuation.definition.comment.block.begin.powershell
|
||||
push:
|
||||
- meta_scope: comment.block.powershell
|
||||
- match: "#>"
|
||||
captures:
|
||||
0: punctuation.definition.comment.block.end.powershell
|
||||
pop: true
|
||||
- include: commentEmbeddedDocs
|
||||
- match: '[2-6]>&1|>>|>|<<|<|>|>\||[1-6]>|[1-6]>>'
|
||||
scope: keyword.operator.redirection.powershell
|
||||
- include: commands
|
||||
- include: commentLine
|
||||
- include: variable
|
||||
- include: interpolatedStringContent
|
||||
- include: function
|
||||
- include: attribute
|
||||
- include: UsingDirective
|
||||
- include: type
|
||||
- include: hashtable
|
||||
- include: doubleQuotedString
|
||||
- include: scriptblock
|
||||
- include: doubleQuotedStringEscapes
|
||||
- match: (?<!')'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.powershell
|
||||
push:
|
||||
- meta_scope: string.quoted.single.powershell
|
||||
- match: "'(?!')"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.powershell
|
||||
pop: true
|
||||
- match: "''"
|
||||
scope: constant.character.escape.powershell
|
||||
- match: \@"(?=$)
|
||||
push:
|
||||
- meta_scope: string.quoted.double.heredoc.powershell
|
||||
- match: ^"@
|
||||
pop: true
|
||||
- include: variableNoProperty
|
||||
- include: doubleQuotedStringEscapes
|
||||
- include: interpolation
|
||||
- match: \@'(?=$)
|
||||
push:
|
||||
- meta_scope: string.quoted.single.heredoc.powershell
|
||||
- match: ^'@
|
||||
pop: true
|
||||
- match: "''"
|
||||
scope: constant.character.escape.powershell
|
||||
- include: numericConstant
|
||||
- match: (@)(\()
|
||||
captures:
|
||||
1: keyword.other.array.begin.powershell
|
||||
2: punctuation.section.group.begin.powershell
|
||||
push:
|
||||
- meta_scope: meta.group.array-expression.powershell
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.section.group.end.powershell
|
||||
pop: true
|
||||
- include: main
|
||||
- match: (\$)(\()
|
||||
comment: "TODO: move to repo; make recursive."
|
||||
captures:
|
||||
1: punctuation.definition.variable.powershell
|
||||
2: punctuation.section.group.begin.powershell
|
||||
push:
|
||||
- meta_scope: meta.group.complex.subexpression.powershell
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.section.group.end.powershell
|
||||
pop: true
|
||||
- include: main
|
||||
- match: '(\b(([A-Za-z0-9\-_\.]+)\.(?i:exe|com|cmd|bat))\b)'
|
||||
scope: support.function.powershell
|
||||
- match: (?<!\w|-|\.)((?i:begin|break|catch|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|%|\?)(?!\w)
|
||||
scope: keyword.control.powershell
|
||||
- match: '(?<!\w|-|[^\)]\.)((?i:(foreach|where)(?!-object))|%|\?)(?!\w)'
|
||||
scope: keyword.control.powershell
|
||||
- match: (?<!\w)(--%)(?!\w)
|
||||
comment: This should be moved to the repository at some point.
|
||||
captures:
|
||||
1: keyword.control.powershell
|
||||
push:
|
||||
- match: $
|
||||
pop: true
|
||||
- match: .+
|
||||
scope: string.unquoted.powershell
|
||||
- match: (?<!\w)((?i:hidden|static))(?!\w)
|
||||
comment: This should only be relevant inside a class but will require a rework of how classes are matched. This is a temp fix.
|
||||
scope: storage.modifier.powershell
|
||||
- match: '(?<!\w|-)((?i:class)|%|\?)(?:\s)+((?:\p{L}|\d|_|-|)+)\b'
|
||||
comment: capture should be entity.name.type, but it doesn't provide a good color in the default schema.
|
||||
captures:
|
||||
1: storage.type.powershell
|
||||
2: entity.name.function
|
||||
- match: (?<!\w)-(?i:is(?:not)?|as)\b
|
||||
scope: keyword.operator.comparison.powershell
|
||||
- match: '(?<!\w)-(?i:[ic]?(?:eq|ne|[gl][te]|(?:not)?(?:like|match|contains|in)|replace))(?!\p{L})'
|
||||
scope: keyword.operator.comparison.powershell
|
||||
- match: '(?<!\w)-(?i:join|split)(?!\p{L})|!'
|
||||
scope: keyword.operator.unary.powershell
|
||||
- match: '(?<!\w)-(?i:and|or|not|xor)(?!\p{L})|!'
|
||||
scope: keyword.operator.logical.powershell
|
||||
- match: '(?<!\w)-(?i:band|bor|bnot|bxor|shl|shr)(?!\p{L})'
|
||||
scope: keyword.operator.bitwise.powershell
|
||||
- match: '(?<!\w)-(?i:f)(?!\p{L})'
|
||||
scope: keyword.operator.string-format.powershell
|
||||
- match: "[+%*/-]?=|[+/*%-]"
|
||||
scope: keyword.operator.assignment.powershell
|
||||
- match: '\|{2}|&{2}|;'
|
||||
scope: punctuation.terminator.statement.powershell
|
||||
- match: '&|(?<!\w)\.(?= )|`|,|\|'
|
||||
scope: keyword.operator.other.powershell
|
||||
- match: (?<!\s|^)\.\.(?=\-?\d|\(|\$)
|
||||
comment: This is very imprecise, is there a syntax for 'must come after...'
|
||||
scope: keyword.operator.range.powershell
|
||||
RequiresDirective:
|
||||
- match: (?<=#)(?i:(requires))\s
|
||||
captures:
|
||||
0: keyword.control.requires.powershell
|
||||
push:
|
||||
- meta_scope: meta.requires.powershell
|
||||
- match: $
|
||||
pop: true
|
||||
- match: \-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version)
|
||||
scope: keyword.other.powershell
|
||||
- match: '(?<!-)\b\p{L}+|\d+(?:\.\d+)*'
|
||||
scope: variable.parameter.powershell
|
||||
- include: hashtable
|
||||
UsingDirective:
|
||||
- match: (?<!\w)(?i:(using))\s+(?i:(namespace|module))\s+(?i:((?:\w+(?:\.)?)+))
|
||||
captures:
|
||||
1: keyword.control.using.powershell
|
||||
2: keyword.other.powershell
|
||||
3: variable.parameter.powershell
|
||||
attribute:
|
||||
- match: '(\[)\s*\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\b'
|
||||
captures:
|
||||
1: punctuation.section.bracket.begin.powershell
|
||||
2: support.function.attribute.powershell
|
||||
push:
|
||||
- meta_scope: meta.attribute.powershell
|
||||
- match: '(\])'
|
||||
captures:
|
||||
1: punctuation.section.bracket.end.powershell
|
||||
pop: true
|
||||
- match: \(
|
||||
captures:
|
||||
0: punctuation.section.group.begin.powershell
|
||||
push:
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.section.group.end.powershell
|
||||
pop: true
|
||||
- include: main
|
||||
- match: (?i)\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\b(?:\s+)?(=)?
|
||||
captures:
|
||||
1: variable.parameter.attribute.powershell
|
||||
2: keyword.operator.assignment.powershell
|
||||
commands:
|
||||
- match: '(?:(\p{L}|\d|_|-|\\|\:)*\\)?\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)\-.+?(?:\.(?i:exe|cmd|bat|ps1))?\b'
|
||||
comment: "Verb-Noun pattern:"
|
||||
scope: support.function.powershell
|
||||
- match: (?<!\w)(?i:foreach-object)(?!\w)
|
||||
comment: Builtin cmdlets with reserved verbs
|
||||
scope: support.function.powershell
|
||||
- match: (?<!\w)(?i:where-object)(?!\w)
|
||||
comment: Builtin cmdlets with reserved verbs
|
||||
scope: support.function.powershell
|
||||
- match: (?<!\w)(?i:sort-object)(?!\w)
|
||||
comment: Builtin cmdlets with reserved verbs
|
||||
scope: support.function.powershell
|
||||
- match: (?<!\w)(?i:tee-object)(?!\w)
|
||||
comment: Builtin cmdlets with reserved verbs
|
||||
scope: support.function.powershell
|
||||
commentEmbeddedDocs:
|
||||
- match: ^(?i:(?:\s?|#)+(\.)(COMPONENT|DESCRIPTION|EXAMPLE|EXTERNALHELP|FORWARDHELPCATEGORY|FORWARDHELPTARGETNAME|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|REMOTEHELPRUNSPACE|ROLE|SYNOPSIS))
|
||||
scope: comment.documentation.embedded.powershell
|
||||
captures:
|
||||
1: constant.string.documentation.powershell
|
||||
2: keyword.operator.documentation.powershell
|
||||
- match: '(?i:\s?(\.)(PARAMETER|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP)\s+([a-z0-9-_]+))'
|
||||
scope: comment.documentation.embedded.powershell
|
||||
captures:
|
||||
1: constant.string.documentation.powershell
|
||||
2: keyword.operator.documentation.powershell
|
||||
3: keyword.operator.documentation.powershell
|
||||
commentLine:
|
||||
- match: '(?<![`\\-])#'
|
||||
captures:
|
||||
0: punctuation.definition.comment.powershell
|
||||
push:
|
||||
- meta_scope: comment.line.powershell
|
||||
- match: $\n?
|
||||
captures:
|
||||
0: punctuation.definition.comment.powershell
|
||||
pop: true
|
||||
- include: commentEmbeddedDocs
|
||||
- include: RequiresDirective
|
||||
doubleQuotedString:
|
||||
- match: (?<!(?<!`)")"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.powershell
|
||||
push:
|
||||
- meta_scope: string.quoted.double.powershell
|
||||
- match: '"(?!")'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.powershell
|
||||
pop: true
|
||||
- match: '(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,64}\b'
|
||||
- include: variableNoProperty
|
||||
- include: doubleQuotedStringEscapes
|
||||
- include: interpolation
|
||||
- match: '`\s*$'
|
||||
scope: keyword.other.powershell
|
||||
doubleQuotedStringEscapes:
|
||||
- match: '`[`0abefnrtv"''$]'
|
||||
scope: constant.character.escape.powershell
|
||||
- include: unicodeEscape
|
||||
- match: '""'
|
||||
scope: constant.character.escape.powershell
|
||||
function:
|
||||
- match: '^(?:\s*+)(?i)(function|filter|configuration|workflow)\s+(?:(global|local|script|private):)?((?:\p{L}|\d|_|-|\.)+)'
|
||||
captures:
|
||||
0: meta.function.powershell
|
||||
1: storage.type.powershell
|
||||
2: storage.modifier.scope.powershell
|
||||
3: entity.name.function.powershell
|
||||
push:
|
||||
- match: '(?=\{|\()'
|
||||
pop: true
|
||||
- include: commentLine
|
||||
hashtable:
|
||||
- match: '(@)(\{)'
|
||||
captures:
|
||||
1: keyword.other.hashtable.begin.powershell
|
||||
2: punctuation.section.braces.begin.powershell
|
||||
push:
|
||||
- meta_scope: meta.hashtable.powershell
|
||||
- match: '(\})'
|
||||
captures:
|
||||
1: punctuation.section.braces.end.powershell
|
||||
pop: true
|
||||
- match: \b((?:\'|\")?)(\w+)((?:\'|\")?)(?:\s+)?(=)(?:\s+)?
|
||||
scope: meta.hashtable.assignment.powershell
|
||||
captures:
|
||||
1: punctuation.definition.string.begin.powershell
|
||||
2: variable.other.readwrite.powershell
|
||||
3: punctuation.definition.string.end.powershell
|
||||
4: keyword.operator.assignment.powershell
|
||||
- include: scriptblock
|
||||
- include: main
|
||||
interpolatedStringContent:
|
||||
- match: \(
|
||||
captures:
|
||||
0: punctuation.section.group.begin.powershell
|
||||
push:
|
||||
- meta_content_scope: interpolated.simple.source.powershell
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.section.group.end.powershell
|
||||
pop: true
|
||||
- include: main
|
||||
- include: interpolation
|
||||
- include: interpolatedStringContent
|
||||
interpolation:
|
||||
- match: (\$)(\()
|
||||
captures:
|
||||
1: punctuation.definition.variable.powershell
|
||||
2: punctuation.section.group.begin.powershell
|
||||
push:
|
||||
- meta_content_scope: interpolated.complex.source.powershell
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.section.group.end.powershell
|
||||
pop: true
|
||||
- include: main
|
||||
- include: interpolation
|
||||
- include: interpolatedStringContent
|
||||
numericConstant:
|
||||
- match: '(?<!\w)([-+]?0(?:x|X)[0-9a-fA-F_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b'
|
||||
captures:
|
||||
1: constant.numeric.hex.powershell
|
||||
2: keyword.other.powershell
|
||||
- match: '(?<!\w)([-+]?(?:[0-9_]+)?\.[0-9_]+(?:(?:e|E)[0-9]+)?(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\b'
|
||||
captures:
|
||||
1: constant.numeric.integer.powershell
|
||||
2: keyword.other.powershell
|
||||
- match: '(?<!\w)([-+]?0(?:b|B)[01_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b'
|
||||
captures:
|
||||
1: constant.numeric.octal.powershell
|
||||
2: keyword.other.powershell
|
||||
- match: '(?<!\w)([-+]?[0-9_]+(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\b'
|
||||
captures:
|
||||
1: constant.numeric.integer.powershell
|
||||
2: keyword.other.powershell
|
||||
- match: '(?<!\w)([-+]?[0-9_]+\.(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\b'
|
||||
captures:
|
||||
1: constant.numeric.integer.powershell
|
||||
2: keyword.other.powershell
|
||||
- match: '(?<!\w)([-+]?[0-9_]+[\.]?(?:F|f|D|d|M|m))((?i:[kmgtp]b)?)\b'
|
||||
captures:
|
||||
1: constant.numeric.integer.powershell
|
||||
2: keyword.other.powershell
|
||||
- match: '(?<!\w)([-+]?[0-9_]+[\.]?(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b'
|
||||
captures:
|
||||
1: constant.numeric.integer.powershell
|
||||
2: keyword.other.powershell
|
||||
scriptblock:
|
||||
- match: '\{'
|
||||
captures:
|
||||
0: punctuation.section.braces.begin.powershell
|
||||
push:
|
||||
- meta_scope: meta.scriptblock.powershell
|
||||
- match: '\}'
|
||||
captures:
|
||||
0: punctuation.section.braces.end.powershell
|
||||
pop: true
|
||||
- include: main
|
||||
type:
|
||||
- match: '\['
|
||||
captures:
|
||||
0: punctuation.section.bracket.begin.powershell
|
||||
push:
|
||||
- match: '\]'
|
||||
captures:
|
||||
0: punctuation.section.bracket.end.powershell
|
||||
pop: true
|
||||
- match: '(?!\d+|\.)(?:\p{L}|\p{N}|\.)+'
|
||||
scope: storage.type.powershell
|
||||
- include: main
|
||||
unicodeEscape:
|
||||
- match: '`u\{(?:(?:10)?([0-9a-fA-F]){1,4}|0?\g<1>{1,5})}'
|
||||
scope: constant.character.escape.powershell
|
||||
- match: '`u(?:\{[0-9a-fA-F]{,6}.)?'
|
||||
scope: invalid.character.escape.powershell
|
||||
variable:
|
||||
- match: (\$)(?i:(False|Null|True))\b
|
||||
comment: These are special constants.
|
||||
captures:
|
||||
0: constant.language.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
- match: '(\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\.(?:\p{L}|\d|_)+)*\b)?\b'
|
||||
comment: These are the other built-in constants.
|
||||
captures:
|
||||
0: support.constant.variable.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
3: variable.other.member.powershell
|
||||
- match: '(\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\b)((?:\.(?:\p{L}|\d|_)+)*\b)?'
|
||||
comment: Automatic variables are not constants, but they are read-only. In monokai (default) color schema support.variable doesn't have color, so we use constant.
|
||||
captures:
|
||||
0: support.variable.automatic.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
3: variable.other.member.powershell
|
||||
- match: '(\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\.(?:\p{L}|\d|_)+)*\b)?\b'
|
||||
comment: Style preference variables as language variables so that they stand out.
|
||||
captures:
|
||||
0: variable.language.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
3: variable.other.member.powershell
|
||||
- match: '(?i:(\$|@)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))((?:\.(?:\p{L}|\d|_)+)*\b)?'
|
||||
captures:
|
||||
0: variable.other.readwrite.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
2: storage.modifier.scope.powershell
|
||||
4: variable.other.member.powershell
|
||||
- match: '(?i:(\$)(\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\}))((?:\.(?:\p{L}|\d|_)+)*\b)?'
|
||||
captures:
|
||||
0: variable.other.readwrite.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
2: punctuation.section.braces.begin.powershell
|
||||
3: storage.modifier.scope.powershell
|
||||
5: punctuation.section.braces.end.powershell
|
||||
6: variable.other.member.powershell
|
||||
- match: '(?i:(\$|@)((?:\p{L}|\d|_)+:)?((?:\p{L}|\d|_)+))((?:\.(?:\p{L}|\d|_)+)*\b)?'
|
||||
captures:
|
||||
0: variable.other.readwrite.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
2: support.variable.drive.powershell
|
||||
4: variable.other.member.powershell
|
||||
- match: '(?i:(\$)(\{)((?:\p{L}|\d|_)+:)?([^}]*[^}`])(\}))((?:\.(?:\p{L}|\d|_)+)*\b)?'
|
||||
captures:
|
||||
0: variable.other.readwrite.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
2: punctuation.section.braces.begin.powershell
|
||||
3: support.variable.drive.powershell
|
||||
5: punctuation.section.braces.end.powershell
|
||||
6: variable.other.member.powershell
|
||||
variableNoProperty:
|
||||
- match: (\$)(?i:(False|Null|True))\b
|
||||
comment: These are special constants.
|
||||
captures:
|
||||
0: constant.language.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
- match: (\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\b
|
||||
comment: These are the other built-in constants.
|
||||
captures:
|
||||
0: support.constant.variable.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
3: variable.other.member.powershell
|
||||
- match: '(\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\b)'
|
||||
comment: Automatic variables are not constants, but they are read-only...
|
||||
captures:
|
||||
0: support.variable.automatic.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
3: variable.other.member.powershell
|
||||
- match: (\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\b
|
||||
comment: Style preference variables as language variables so that they stand out.
|
||||
captures:
|
||||
0: variable.language.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
3: variable.other.member.powershell
|
||||
- match: '(?i:(\$)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))'
|
||||
captures:
|
||||
0: variable.other.readwrite.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
2: storage.modifier.scope.powershell
|
||||
4: variable.other.member.powershell
|
||||
- match: '(?i:(\$)(\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\}))'
|
||||
captures:
|
||||
0: variable.other.readwrite.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
2: storage.modifier.scope.powershell
|
||||
4: keyword.other.powershell
|
||||
5: variable.other.member.powershell
|
||||
- match: '(?i:(\$)((?:\p{L}|\d|_)+:)?((?:\p{L}|\d|_)+))'
|
||||
captures:
|
||||
0: variable.other.readwrite.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
2: support.variable.drive.powershell
|
||||
4: variable.other.member.powershell
|
||||
- match: '(?i:(\$)(\{)((?:\p{L}|\d|_)+:)?([^}]*[^}`])(\}))'
|
||||
captures:
|
||||
0: variable.other.readwrite.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
2: punctuation.section.braces.begin
|
||||
3: support.variable.drive.powershell
|
||||
5: punctuation.section.braces.end
|
||||
1
assets/syntaxes/02_Extra/Protobuf
vendored
Submodule
1
assets/syntaxes/02_Extra/Protobuf
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Protobuf added at 726e21d74d
1
assets/syntaxes/02_Extra/Puppet
vendored
Submodule
1
assets/syntaxes/02_Extra/Puppet
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Puppet added at 2a224343d2
1
assets/syntaxes/02_Extra/PureScript
vendored
Submodule
1
assets/syntaxes/02_Extra/PureScript
vendored
Submodule
Submodule assets/syntaxes/02_Extra/PureScript added at 5acebc1850
21
assets/syntaxes/02_Extra/Resolv.sublime-syntax
vendored
Normal file
21
assets/syntaxes/02_Extra/Resolv.sublime-syntax
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: resolv
|
||||
file_extensions:
|
||||
- resolv.conf
|
||||
scope: source.resolv
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- scope: comment.line.number-sign
|
||||
match: \#.*
|
||||
comment: comment
|
||||
|
||||
- comment: configuration
|
||||
match: "(nameserver|domain|search|sortlist|options)"
|
||||
scope: keyword.control
|
||||
|
||||
- comment: options
|
||||
match: "(debug|ndots|timeout|attempts|rotate|no-check-names|inet6|ip6-bytestring|ip6-dotint|no-ip6-dotint|edns0|single-request|single-request-reopen|no-tld-query|use-vc|no-reload)"
|
||||
scope: entity.name
|
||||
1
assets/syntaxes/02_Extra/Robot
vendored
Submodule
1
assets/syntaxes/02_Extra/Robot
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Robot added at fcd3323b56
57
assets/syntaxes/02_Extra/Robot.sublime-syntax
vendored
Normal file
57
assets/syntaxes/02_Extra/Robot.sublime-syntax
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Robot Framework syntax highlighting.
|
||||
file_extensions:
|
||||
- robot
|
||||
scope: source.robot
|
||||
contexts:
|
||||
main:
|
||||
- match: '\$\{(\d+|\d+\.\d*|0[bB][01]+|0[oO][0-7]+|0[xX][0-9a-fA-F]+)\}'
|
||||
comment: "Robot Framework numbers, like ${1} or ${12.3}"
|
||||
scope: constant.numeric.robot
|
||||
- match: '(?i)(%\{[\w|\s]+\})'
|
||||
comment: "Robot Framework environment variable, like %{USER}"
|
||||
scope: variable.parameter.robot
|
||||
- match: '((?<!\\)|(?<=\\\\))[$&]{'
|
||||
comment: Robot Framework scalar and dictionary variables
|
||||
push:
|
||||
- meta_scope: entity.name.class
|
||||
- match: '\}'
|
||||
pop: true
|
||||
- match: '((?<!\\)(@{)|(?<=\\\\)(@{))'
|
||||
comment: Robot Framework list variables
|
||||
push:
|
||||
- meta_scope: entity.name.class
|
||||
- match: '(}\[.+])|(})'
|
||||
pop: true
|
||||
- match: '(?i)^(\|\s*)?(\*{1,3} ?)(settings?|variables?|keywords?|test cases?)( ?\*{1,3})?(\s*\|)?'
|
||||
comment: Robot Framework data tables
|
||||
scope: string.robot.header
|
||||
- match: '(?i)(^\|\s*)?\[?Documentation\]?\s+'
|
||||
comment: Test case, keyword and settings table documentation
|
||||
push:
|
||||
- meta_scope: comment
|
||||
- match: ^(?!\s*+\.\.\.)
|
||||
pop: true
|
||||
- match: '(^| {2,}|\t|\\| {1,})(?<!\\\\)#'
|
||||
comment: Comment character
|
||||
push:
|
||||
- meta_scope: comment
|
||||
- match: $
|
||||
pop: true
|
||||
- match: '(?i)\s+\[(Tags|Setup|Teardown|Template|Timeout|Arguments|Return)\]'
|
||||
comment: Tests case and keyword settings
|
||||
scope: storage.type
|
||||
- match: (?i)^(\|\s*)?(Library|Resource|Test Timeout|Test Template|Test Teardown|Test Setup|Default Tags|Force Tags|Metadata|Variables|Suite Setup|Suite Teardown)(?:( )|( \| ))
|
||||
comment: Settings table settings, like Library
|
||||
scope: constant.language
|
||||
- match: '^(\|\s+)?(?!^\.{3})(?![\|$&])\S+'
|
||||
comment: Keywords and test cases
|
||||
push:
|
||||
- meta_scope: keyword.control.robot
|
||||
- match: '($|\||\s{2,})'
|
||||
pop: true
|
||||
- match: (?i)^\s+(Given|When|and|but|Then)
|
||||
comment: BDD keywords
|
||||
scope: string.robot.bdd
|
||||
1
assets/syntaxes/02_Extra/SCSS_Sass
vendored
Submodule
1
assets/syntaxes/02_Extra/SCSS_Sass
vendored
Submodule
Submodule assets/syntaxes/02_Extra/SCSS_Sass added at b98a3f3ccf
1
assets/syntaxes/02_Extra/SLS
vendored
Submodule
1
assets/syntaxes/02_Extra/SLS
vendored
Submodule
Submodule assets/syntaxes/02_Extra/SLS added at f8a8cf90b1
1
assets/syntaxes/02_Extra/Strace
vendored
Submodule
1
assets/syntaxes/02_Extra/Strace
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Strace added at 3ec51e0bca
1
assets/syntaxes/02_Extra/Swift
vendored
Submodule
1
assets/syntaxes/02_Extra/Swift
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Swift added at fef17119ce
371
assets/syntaxes/02_Extra/Swift.sublime-syntax
vendored
Normal file
371
assets/syntaxes/02_Extra/Swift.sublime-syntax
vendored
Normal file
@@ -0,0 +1,371 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Swift
|
||||
file_extensions:
|
||||
- swift
|
||||
first_line_match: ^#!/.*\bswift
|
||||
scope: source.swift
|
||||
contexts:
|
||||
main:
|
||||
- include: shebang-line
|
||||
- include: comment
|
||||
- include: attribute
|
||||
- include: literal
|
||||
- include: operator
|
||||
- include: declaration
|
||||
- include: storage-type
|
||||
- include: keyword
|
||||
- include: type
|
||||
- include: boolean
|
||||
comment:
|
||||
- include: documentation-comment
|
||||
- include: block-comment
|
||||
- include: in-line-comment
|
||||
access-level-modifier:
|
||||
- match: \b(open|public|internal|fileprivate|private)\b(?:\(set\))?
|
||||
comment: access-level-modifier
|
||||
scope: keyword.other.access-level-modifier.swift
|
||||
arithmetic-operator:
|
||||
- match: '(?<![/=\-+!*%<>&|\^~.])(\+|\-|\*|\/)(?![/=\-+!*%<>&|\^~.])'
|
||||
scope: keyword.operator.arithmetic.swift
|
||||
array-type:
|
||||
- match: \b(Array)(<)
|
||||
captures:
|
||||
1: support.type.array.swift
|
||||
2: punctuation.array.begin.swift
|
||||
push:
|
||||
- meta_scope: meta.array.swift
|
||||
- match: (>)
|
||||
captures:
|
||||
1: punctuation.array.end.swift
|
||||
pop: true
|
||||
- include: main
|
||||
assignment-operator:
|
||||
- match: '(?<![/=\-+!*%<>&|\^~.])(\+|\-|\*|\/|%|<<|>>|&|\^|\||&&|\|\|)?=(?![/=\-+!*%<>&|\^~.])'
|
||||
scope: keyword.operator.assignment.swift
|
||||
attribute:
|
||||
- match: '((@)(\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B))(\()'
|
||||
captures:
|
||||
1: storage.modifier.attribute.swift
|
||||
2: punctuation.definition.attribute.swift
|
||||
3: punctuation.definition.attribute-arguments.begin.swift
|
||||
push:
|
||||
- meta_content_scope: meta.attribute.arguments.swift
|
||||
- match: \)
|
||||
captures:
|
||||
0: punctuation.definition.attribute-arguments.end.swift
|
||||
pop: true
|
||||
- include: main
|
||||
- match: '((@)(\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B))'
|
||||
captures:
|
||||
1: storage.modifier.attribute.swift
|
||||
2: punctuation.definition.attribute.swift
|
||||
bitwise-operator:
|
||||
- match: '(?<![/=\-+!*%<>&|\^~.])(&|\||\^|<<|>>)(?![/=\-+!*%<>&|\^~.])'
|
||||
scope: keyword.operator.bitwise.swift
|
||||
block-comment:
|
||||
- match: /\*
|
||||
comment: Block comment
|
||||
captures:
|
||||
0: punctuation.definition.comment.block.begin.swift
|
||||
push:
|
||||
- meta_scope: comment.block.swift
|
||||
- match: \*/
|
||||
captures:
|
||||
0: punctuation.definition.comment.block.end.swift
|
||||
pop: true
|
||||
boolean:
|
||||
- match: \b(true|false)\b
|
||||
scope: keyword.constant.boolean.swift
|
||||
branch-statement-keyword:
|
||||
- include: if-statement-keyword
|
||||
- include: switch-statement-keyword
|
||||
catch-statement-keyword:
|
||||
- match: \b(catch|do)\b
|
||||
comment: catch-statement
|
||||
scope: kewyord.control.catch.swift
|
||||
code-block:
|
||||
- match: '(\{)'
|
||||
comment: code-block
|
||||
captures:
|
||||
1: punctuation.definition.code-block.begin.swift
|
||||
push:
|
||||
- match: '(\})'
|
||||
captures:
|
||||
1: punctuation.definition.code-block.end.swift
|
||||
pop: true
|
||||
- include: main
|
||||
collection-type:
|
||||
- include: array-type
|
||||
- include: dictionary-type
|
||||
- match: \b(Array|Dictionary)\b
|
||||
scope: support.type.swift
|
||||
comparative-operator:
|
||||
- match: '(?<![/=\-+!*%<>&|\^~.])((=|!)==?|(<|>)=?|~=)(?![/=\-+!*%<>&|\^~.])'
|
||||
scope: keyword.operator.comparative.swift
|
||||
control-transfer-statement-keyword:
|
||||
- match: \b(continue|break|fallthrough|return)\b
|
||||
comment: control-transfer-statement
|
||||
scope: keyword.control.transfer.swift
|
||||
custom-operator:
|
||||
- match: '(?<=[\s(\[{,;:])([/=\-+!*%<>&|\^~.]++)(?![\s)\]},;:])'
|
||||
scope: keyword.operator.custom.prefix.unary.swift
|
||||
- match: '(?<![\s(\[{,;:])([/=\-+!*%<>&|\^~.]++)(?![\s)\]},;:\.])'
|
||||
scope: keyword.operator.custom.postfix.unary.swift
|
||||
- match: '(?<=[\s(\[{,;:])([/=\-+!*%<>&|\^~.]++)(?=[\s)\]},;:])'
|
||||
scope: keyword.operator.custom.binary.swift
|
||||
declaration:
|
||||
- include: import-declaration
|
||||
- include: function-declaration
|
||||
declaration-modifier:
|
||||
- match: \b(class|convenience|dynamic|final|lazy|(non)?mutating|optional|override|required|static|unowned((un)?safe)?|weak)\b
|
||||
comment: declaration-modifier
|
||||
scope: keyword.other.declaration-modifier.swift
|
||||
dictionary-type:
|
||||
- match: \b(Dictionary)(<)
|
||||
captures:
|
||||
1: support.type.dictionary.swift
|
||||
2: punctuation.dictionary.begin.swift
|
||||
push:
|
||||
- meta_scope: meta.dictionary.swift
|
||||
- match: (>)
|
||||
captures:
|
||||
1: punctuation.dictionary.end.swift
|
||||
pop: true
|
||||
- include: main
|
||||
documentation-comment:
|
||||
- match: /\*\*
|
||||
comment: Documentation comment
|
||||
captures:
|
||||
0: punctuation.definition.comment.block.documentation.begin.swift
|
||||
push:
|
||||
- meta_scope: comment.block.documentation.swift
|
||||
- match: \*/
|
||||
captures:
|
||||
0: punctuation.definition.comment.block.documentation.end.swift
|
||||
pop: true
|
||||
floating-point-literal:
|
||||
- match: '\b([0-9][0-9_]*)(\.([0-9][0-9_]*))?([eE][+\-]?([0-9][0-9_]*))?\b'
|
||||
comment: floating-point-literal -> (decimal-literal)(decimal-fraction)?(decimal-exponent)?
|
||||
- match: '\b(0x\h[\h_]*)(\.(0x\h[\h_]*))?([pP][+\-]?(0x\h[\h_]*))\b'
|
||||
comment: floating-point-literal -> (hexadecimal-literal)(hexadecimal-fraction)?(hexadecimal-exponent)
|
||||
function-body:
|
||||
- include: code-block
|
||||
function-declaration:
|
||||
- match: '\b(func)\s+(\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B|[/=\-+!*%<>&|\^~.]+)\s*(?=\(|<)'
|
||||
comment: function-declaration
|
||||
captures:
|
||||
1: storage.type.function.swift
|
||||
2: entity.type.function.swift
|
||||
push:
|
||||
- meta_scope: meta.function-declaration.swift
|
||||
- match: '(?<=\})'
|
||||
pop: true
|
||||
- include: generic-parameter-clause
|
||||
- include: parameter-clause
|
||||
- include: function-result
|
||||
- include: function-body
|
||||
function-result:
|
||||
- match: '(?<![/=\-+!*%<>&|\^~.])(\->)(?![/=\-+!*%<>&|\^~.])\s*'
|
||||
comment: function-result
|
||||
captures:
|
||||
1: keyword.operator.function-result.swift
|
||||
push:
|
||||
- meta_scope: meta.function-result.swift
|
||||
- match: '\s*(?=\{)'
|
||||
pop: true
|
||||
- include: type
|
||||
generic-parameter-clause:
|
||||
- match: (<)
|
||||
comment: generic-parameter-clause
|
||||
captures:
|
||||
1: punctuation.definition.generic-parameter-clause.begin.swift
|
||||
push:
|
||||
- meta_scope: meta.generic-parameter-clause.swift
|
||||
- match: (>)
|
||||
captures:
|
||||
1: punctuation.definition.generic-parameter-clause.end.swift
|
||||
pop: true
|
||||
- include: main
|
||||
identifier:
|
||||
- match: '(\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B)'
|
||||
comment: identifier
|
||||
scope: meta.identifier.swift
|
||||
if-statement-keyword:
|
||||
- match: \b(if|else)\b
|
||||
comment: if-statement
|
||||
scope: keyword.control.if.swift
|
||||
import-declaration:
|
||||
- match: '\b(import)\s+(?:(typealias|struct|class|enum|protocol|var|func)\s+)?((?:\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B|[/=\-+!*%<>&|\^~.]+)(?:\.(?:\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B|[/=\-+!*%<>&|\^~.]+))*)'
|
||||
comment: import-declaration
|
||||
scope: meta.import.swift
|
||||
captures:
|
||||
1: keyword.other.import.swift
|
||||
2: storage.modifier.swift
|
||||
3: support.type.module.import.swift
|
||||
in-line-comment:
|
||||
- match: (//).*
|
||||
comment: In-line comment
|
||||
scope: comment.line.double-slash.swift
|
||||
captures:
|
||||
1: punctuation.definition.comment.line.double-slash.swift
|
||||
increment-decrement-operator:
|
||||
- match: '(?<![/=\-+!*%<>&|\^~.])(\+\+|\-\-)(?![/=\-+!*%<>&|\^~.])'
|
||||
scope: keyword.operator.increment-or-decrement.swift
|
||||
integer-literal:
|
||||
- match: '(\B\-|\b)(0b[01][01_]*)\b'
|
||||
comment: binary-literal
|
||||
scope: constant.numeric.integer.binary.swift
|
||||
- match: '(\B\-|\b)(0o[0-7][0-7_]*)\b'
|
||||
comment: octal-literal
|
||||
scope: constant.numeric.integer.octal.swift
|
||||
- match: '(\B\-|\b)([0-9][0-9_]*)\b'
|
||||
comment: decimal-literal
|
||||
scope: constant.numeric.integer.decimal.swift
|
||||
- match: '(\B\-|\b)(0x\h[\h_]*)\b'
|
||||
comment: hexadecimal-literal
|
||||
scope: constant.numeric.integer.hexadecimal.swift
|
||||
integer-type:
|
||||
- match: \bU?Int(8|16|32|64)?\b
|
||||
comment: Int types
|
||||
scope: support.type.swift
|
||||
keyword:
|
||||
- include: branch-statement-keyword
|
||||
- include: control-transfer-statement-keyword
|
||||
- include: loop-statement-keyword
|
||||
- include: catch-statement-keyword
|
||||
- include: operator-declaration-modifier
|
||||
- include: declaration-modifier
|
||||
- include: access-level-modifier
|
||||
- match: \b(class|deinit|enum|extension|func|import|init|let|protocol|static|struct|subscript|typealias|var|throws|rethrows)\b
|
||||
comment: declaration keyword
|
||||
scope: keyword.declaration.swift
|
||||
- match: \b(break|case|continue|default|do|else|fallthrough|if|in|for|return|switch|where|while|repeat|catch|guard|defer|try|throw)\b
|
||||
comment: statement keyword
|
||||
scope: keyword.statement.swift
|
||||
- match: \b(as|dynamicType|is|new|super|self|Self|Type)\b
|
||||
comment: expression and type keyword
|
||||
scope: keyword.other.statement.swift
|
||||
- match: \b(associativity|didSet|get|infix|inout|left|mutating|none|nonmutating|operator|override|postfix|precedence|prefix|right|set|unowned((un)?safe)?|weak|willSet)\b
|
||||
comment: other keyword
|
||||
scope: keyword.other.swift
|
||||
literal:
|
||||
- include: integer-literal
|
||||
- include: floating-point-literal
|
||||
- include: nil-literal
|
||||
- include: string-literal
|
||||
- include: special-literal
|
||||
logical-operator:
|
||||
- match: '(?<![/=\-+!*%<>&|\^~.])(!|&&|\|\|)(?![/=\-+!*%<>&|\^~.])'
|
||||
scope: keyword.operator.logical.swift
|
||||
loop-statement-keyword:
|
||||
- match: \b(while|repeat|for|in)\b
|
||||
comment: loop-statement
|
||||
scope: keyword.control.loop.swift
|
||||
nil-literal:
|
||||
- match: \bnil\b
|
||||
comment: nil-literal
|
||||
scope: constant.nil.swift
|
||||
operator:
|
||||
- include: comparative-operator
|
||||
- include: assignment-operator
|
||||
- include: logical-operator
|
||||
- include: remainder-operator
|
||||
- include: increment-decrement-operator
|
||||
- include: overflow-operator
|
||||
- include: range-operator
|
||||
- include: bitwise-operator
|
||||
- include: arithmetic-operator
|
||||
- include: ternary-operator
|
||||
- include: type-casting-operator
|
||||
- include: custom-operator
|
||||
operator-declaration-modifier:
|
||||
- match: \b(operator|prefix|infix|postfix)\b
|
||||
comment: operator-declaration
|
||||
scope: keyword.other.operator.swift
|
||||
optional-type:
|
||||
- match: \b(Optional)(<)
|
||||
scope: meta.optional.swift
|
||||
overflow-operator:
|
||||
- match: '(?<![/=\-+!*%<>&|\^~.])\&(\+|\-|\*|\/|%)(?![/=\-+!*%<>&|\^~.])'
|
||||
scope: keyword.operator.overflow.swift
|
||||
parameter-clause:
|
||||
- match: (\()
|
||||
comment: parameter-clause
|
||||
captures:
|
||||
1: punctuation.definition.function-arguments.begin.swift
|
||||
push:
|
||||
- meta_scope: meta.parameter-clause.swift
|
||||
- match: (\))
|
||||
captures:
|
||||
1: punctuation.definition.function-arguments.end.swift
|
||||
pop: true
|
||||
- include: main
|
||||
primitive-type:
|
||||
- match: \b(Int|Float|Double|String|Bool|Character|Void)\b
|
||||
comment: Primitive types
|
||||
scope: support.type.swift
|
||||
protocol-composition-type:
|
||||
- match: \b(protocol)(<)
|
||||
scope: meta.protocol.swift
|
||||
range-operator:
|
||||
- match: '(?<![/=\-+!*%<>&|\^~.])\.\.(?:\.)?(?![/=\-+!*%<>&|\^~.])'
|
||||
scope: keyword.operator.range.swift
|
||||
remainder-operator:
|
||||
- match: '(?<![/=\-+!*%<>&|\^~.])\%(?![/=\-+!*%<>&|\^~.])'
|
||||
scope: keyword.operator.remainder.swift
|
||||
shebang-line:
|
||||
- match: ^(#!).*$
|
||||
comment: Shebang line
|
||||
scope: comment.line.shebang.swift
|
||||
captures:
|
||||
1: punctuation.definition.comment.line.shebang.swift
|
||||
special-literal:
|
||||
- match: \b__(FILE|LINE|COLUMN|FUNCTION)__\b
|
||||
scope: keyword.other.literal.swift
|
||||
storage-type:
|
||||
- match: \b(var|func|let|class|enum|struct|protocol|extension|typealias)\b
|
||||
scope: storage.type.swift
|
||||
string-literal:
|
||||
- match: \"
|
||||
captures:
|
||||
0: string.quoted.double.swift
|
||||
push:
|
||||
- meta_scope: meta.literal.string.swift
|
||||
- match: \"
|
||||
captures:
|
||||
0: string.quoted.double.swift
|
||||
pop: true
|
||||
- match: '\\([0tnr\"\''\\]|x\h{2}|u\h{4}|U\h{8})'
|
||||
scope: constant.character.escape.swift
|
||||
- match: (\\\()
|
||||
captures:
|
||||
1: support.punctuation.expression.begin.swift
|
||||
push:
|
||||
- meta_content_scope: meta.expression.swift
|
||||
- match: (\))
|
||||
captures:
|
||||
1: support.punctuation.expression.end.swift
|
||||
pop: true
|
||||
- include: scope:source.swift
|
||||
- match: (\"|\\)
|
||||
scope: invalid.illegal.swift
|
||||
- match: (.)
|
||||
scope: string.quoted.double.swift
|
||||
switch-statement-keyword:
|
||||
- match: \b(switch|case|default|where)\b
|
||||
comment: switch-statement
|
||||
scope: keyword.control.switch.swift
|
||||
ternary-operator:
|
||||
- match: '(?<=[\s(\[{,;:])(\?|:)(?=[\s)\]},;:])'
|
||||
scope: keyword.operator.ternary.swift
|
||||
type:
|
||||
- include: primitive-type
|
||||
- include: integer-type
|
||||
- include: collection-type
|
||||
- include: optional-type
|
||||
- include: protocol-composition-type
|
||||
type-casting-operator:
|
||||
- match: \b(is\b|as(\?\B|\b))
|
||||
scope: keyword.operator.type-casting.swift
|
||||
1
assets/syntaxes/02_Extra/Syslog
vendored
Submodule
1
assets/syntaxes/02_Extra/Syslog
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Syslog added at 7628d4e0b8
1
assets/syntaxes/02_Extra/TOML
vendored
Submodule
1
assets/syntaxes/02_Extra/TOML
vendored
Submodule
Submodule assets/syntaxes/02_Extra/TOML added at 0f14b7caf3
1
assets/syntaxes/02_Extra/Terraform
vendored
Submodule
1
assets/syntaxes/02_Extra/Terraform
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Terraform added at 64208ea816
1
assets/syntaxes/02_Extra/TypeScript
vendored
Submodule
1
assets/syntaxes/02_Extra/TypeScript
vendored
Submodule
Submodule assets/syntaxes/02_Extra/TypeScript added at 9cd994af73
3340
assets/syntaxes/02_Extra/TypeScript.sublime-syntax
vendored
Normal file
3340
assets/syntaxes/02_Extra/TypeScript.sublime-syntax
vendored
Normal file
File diff suppressed because it is too large
Load Diff
3161
assets/syntaxes/02_Extra/TypsecriptReact.sublime-syntax
vendored
Normal file
3161
assets/syntaxes/02_Extra/TypsecriptReact.sublime-syntax
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
assets/syntaxes/02_Extra/Verilog
vendored
Submodule
1
assets/syntaxes/02_Extra/Verilog
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Verilog added at 532e87c1b4
149
assets/syntaxes/02_Extra/Verilog.sublime-syntax
vendored
Normal file
149
assets/syntaxes/02_Extra/Verilog.sublime-syntax
vendored
Normal file
@@ -0,0 +1,149 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Verilog
|
||||
file_extensions:
|
||||
- v
|
||||
- V
|
||||
scope: source.verilog
|
||||
contexts:
|
||||
main:
|
||||
- match: '^\s*(module|function|primitive)\s+\b([a-zA-Z_][a-zA-Z0-9_]*)\b'
|
||||
scope: meta.entity.module.verilog
|
||||
captures:
|
||||
1: storage.type.verilog
|
||||
2: entity.name.type.class.verilog
|
||||
- match: '^\s*(?!else)(?!begin)([a-zA-Z_][a-zA-Z0-9_]*)\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*(\()'
|
||||
scope: meta.definition.verilog
|
||||
captures:
|
||||
1: entity.name.type.class.verilog
|
||||
2: entity.name.type.instance.verilog
|
||||
3: keyword.operator.parenthesis.round.verilog
|
||||
- match: '^\s*(?!else)(?!begin)([a-zA-Z_][a-zA-Z0-9_]*)\s+([#])(\()([ ._+`,a-zA-Z0-9]+)(\))\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*(\()'
|
||||
scope: meta.definition.withparameter.verilog
|
||||
captures:
|
||||
1: entity.name.type.class.verilog
|
||||
2: keyword.other.verilog
|
||||
3: keyword.operator.parenthesis.round.verilog
|
||||
4: keyword.other.verilog
|
||||
5: keyword.operator.parenthesis.round.verilog
|
||||
6: entity.name.type.instance.verilog
|
||||
7: keyword.operator.parenthesis.round.verilog
|
||||
- match: '^\s*\b(?!else)(?!begin)([a-zA-Z_][a-zA-Z0-9_]*)\b\s+([#])'
|
||||
scope: meta.definition.withparameter.verilog
|
||||
captures:
|
||||
1: entity.name.type.class.verilog
|
||||
2: keyword.other.verilog
|
||||
- match: '^\s*(defparam)\s+([a-zA-Z_][a-zA-Z0-9_]*)(.[a-zA-Z_][a-zA-Z0-9_]*)\s*(=)'
|
||||
scope: meta.definition.defparam.verilog
|
||||
captures:
|
||||
1: keyword.other.verilog
|
||||
2: entity.name.type.instance.verilog
|
||||
3: meta.module.parameters.verilog
|
||||
4: keyword.other.verilog
|
||||
- match: \b(automatic|cell|config|deassign|defparam|design|disable|edge|endconfig|endgenerate|endspecify|endtable|endtask|event|generate|genvar|ifnone|incdir|include|instance|liblist|library|localparam|macromodule|negedge|noshowcancelled|posedge|pulsestyle_onevent|pulsestyle_ondetect|real|realtime|scalared|showcancelled|specify|specparam|table|task|time|use|vectored)\b
|
||||
scope: keyword.other.verilog
|
||||
- match: "(#[0-9]+)"
|
||||
scope: keyword.delay.verilog
|
||||
- match: \b(initial|always|wait|force|release|assign)\b
|
||||
scope: keyword.control.verilog
|
||||
- match: \b(begin|end|fork|join)\b
|
||||
scope: keyword.other.verilog
|
||||
- match: \b(forever|repeat|while|for|if|else|case|casex|casez|default|endcase)\b
|
||||
scope: keyword.control.verilog
|
||||
- match: '^\s*(`include)\s+(["<].*[">])'
|
||||
scope: meta.include.verilog
|
||||
captures:
|
||||
1: meta.preprocessor.verilog
|
||||
2: entity.name.type.include.verilog
|
||||
- match: '^\s*(`ifdef|`ifndef|`undef|`define)\s+([a-zA-Z_][a-zA-Z0-9_]*)\b'
|
||||
scope: meta.preprocessor.ifdef.verilog
|
||||
captures:
|
||||
1: meta.preprocessor.verilog
|
||||
2: constant.other.define.verilog
|
||||
- match: '`(celldefine|default_nettype|define|else|elsif|endcelldefine|endif|ifdef|ifndef|include|line|nounconnected_drive|resetall|timescale|unconnected_drive|undef)\b'
|
||||
scope: meta.preprocessor.verilog
|
||||
- match: "[.][_a-zA-Z0-9]+"
|
||||
scope: meta.module.parameters.verilog
|
||||
- match: '`\b([a-zA-Z_][a-zA-Z0-9_]*)\b'
|
||||
scope: constant.other.define.verilog
|
||||
- include: comments
|
||||
- match: \b(endmodule|endfunction|endprimitive)\b
|
||||
scope: storage.type.verilog
|
||||
- match: '^\s*\b([a-zA-Z_][a-zA-Z0-9_]*)\b\s*(:)\s*'
|
||||
scope: meta.case.verilog
|
||||
captures:
|
||||
1: entity.name.state.verilog
|
||||
2: keyword.operator.bitwise.verilog
|
||||
- include: all-types
|
||||
- match: (==|===|!=|!==|<=|>=|<|>)
|
||||
scope: keyword.operator.comparison.verilog
|
||||
- match: (\-|\+|\*|\/|%)
|
||||
scope: keyword.operator.arithmetic.verilog
|
||||
- match: (!|&&|\|\|)
|
||||
scope: keyword.operator.logical.verilog
|
||||
- match: (&|\||\^|~|<<|>>|\?|:)
|
||||
scope: keyword.operator.bitwise.verilog
|
||||
- match: "({|})"
|
||||
scope: keyword.operator.parenthesis.curly.verilog
|
||||
- match: (\(|\))
|
||||
scope: keyword.operator.parenthesis.round.verilog
|
||||
- match: '(\[|\])'
|
||||
scope: keyword.operator.parenthesis.square.verilog
|
||||
- match: "([;,])"
|
||||
scope: keyword.delimiter.verilog
|
||||
- match: (#|@|=)
|
||||
scope: keyword.other.verilog
|
||||
- match: '\b(output|input|inout|and|nand|nor|or|xor|xnor|buf|not|bufif[01]|notif[01]|r?[npc]mos|tran|r?tranif[01]|pullup|pulldown)\b'
|
||||
scope: support.type.verilog
|
||||
- match: '((\b\d+)?''s?([bB]\s*(([0-1_xXzZ?]+)|(`[A-Z]+[_0-9a-zA-Z]*))|[oO]\s*(([0-7_xXzZ?]+)|(`[A-Z]+[_0-9a-zA-Z]*))|[dD]\s*(([0-9_xXzZ?]+)|(`[A-Z]+[_0-9a-zA-Z]*))|[hH]\s*(([0-9a-fA-F_xXzZ?]+)|(`[A-Z]+[_0-9a-zA-Z]*)))((e|E)(\+|-)?[0-9]+)?\b)|(\b\d+\b)'
|
||||
scope: constant.numeric.verilog
|
||||
- include: strings
|
||||
- match: '\$\b([a-zA-Z_][a-zA-Z0-9_]*)\b'
|
||||
scope: support.function.verilog
|
||||
all-types:
|
||||
- include: storage-type-verilog
|
||||
- include: storage-modifier-verilog
|
||||
comments:
|
||||
- match: /\*
|
||||
captures:
|
||||
0: punctuation.definition.comment.verilog
|
||||
push:
|
||||
- meta_scope: comment.block.verilog
|
||||
- match: \*/
|
||||
captures:
|
||||
0: punctuation.definition.comment.verilog
|
||||
pop: true
|
||||
- match: (//).*$\n?
|
||||
scope: comment.line.double-slash.verilog
|
||||
captures:
|
||||
1: punctuation.definition.comment.verilog
|
||||
storage-modifier-verilog:
|
||||
- match: '\b(signed|unsigned|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\b'
|
||||
scope: storage.modifier.verilog
|
||||
storage-type-verilog:
|
||||
- match: '\b(wire|tri|tri[01]|supply[01]|wand|triand|wor|trior|trireg|reg|parameter|integer)\b'
|
||||
scope: storage.type.verilog
|
||||
strings:
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.verilog
|
||||
push:
|
||||
- meta_scope: string.quoted.double.verilog
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.verilog
|
||||
pop: true
|
||||
- match: \\.
|
||||
scope: constant.character.escape.verilog
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.verilog
|
||||
push:
|
||||
- meta_scope: string.quoted.single.verilog
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.verilog
|
||||
pop: true
|
||||
- match: \\.
|
||||
scope: constant.character.escape.verilog
|
||||
1
assets/syntaxes/02_Extra/VimL
vendored
Submodule
1
assets/syntaxes/02_Extra/VimL
vendored
Submodule
Submodule assets/syntaxes/02_Extra/VimL added at ed40c3bc81
91
assets/syntaxes/02_Extra/VimL.sublime-syntax
vendored
Normal file
91
assets/syntaxes/02_Extra/VimL.sublime-syntax
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: VimL
|
||||
file_extensions:
|
||||
- vim
|
||||
- .vimrc
|
||||
scope: source.viml
|
||||
contexts:
|
||||
main:
|
||||
- include: comment
|
||||
- include: string_quoted_double
|
||||
- include: string_quoted_single
|
||||
- include: string_regex
|
||||
- include: inline_comment
|
||||
- include: number_int
|
||||
- include: number_hex
|
||||
- include: keyword
|
||||
- include: support_function
|
||||
- include: support_variable
|
||||
- include: support_type
|
||||
- include: function_params
|
||||
- include: function_definition
|
||||
- include: function_call
|
||||
- include: function
|
||||
- include: variable
|
||||
- include: expr
|
||||
comment:
|
||||
- match: ^\s*".*$
|
||||
scope: comment.line.quotes.viml
|
||||
captures:
|
||||
1: punctuation.definition.comment.vim
|
||||
expr:
|
||||
- match: (\|\||&&|==(\?|#)?|(!|>|<)=(#|\?)?|(=|!)~(#|\?)?|(>|<)(#|\?)is|isnot|\.|\*|\\|%)
|
||||
scope: storage.function.viml
|
||||
function:
|
||||
- match: \b(fu(n|nction)?|end(f|fu|fun|function)?)\b
|
||||
scope: storage.function.viml
|
||||
function_call:
|
||||
- match: '(([sgbwtl]|)?:?[0-9a-zA-Z_#]+)(?=\()'
|
||||
scope: support.function.any-method
|
||||
function_definition:
|
||||
- match: '^\s*(function)\s*!?\s+(?=(s:)?[0-9a-zA-Z_#]+\s*\()'
|
||||
captures:
|
||||
1: storage.function.viml
|
||||
push:
|
||||
- meta_scope: meta.function.viml
|
||||
- match: (\()
|
||||
captures:
|
||||
1: punctuation.definition.parameters.begin.viml
|
||||
pop: true
|
||||
- match: "(s:)?[0-9a-zA-Z_#]+"
|
||||
scope: entity.name.function.viml
|
||||
function_params:
|
||||
- match: '-\w+='
|
||||
scope: support.type.viml
|
||||
inline_comment:
|
||||
- match: '(?!\$)(")(?!\{).*$\n?'
|
||||
scope: comment.line.quotes.viml
|
||||
captures:
|
||||
1: punctuation.definition.comment.vim
|
||||
keyword:
|
||||
- match: \b(if|while|for|try|return|throw|end(if|for|while|try)?|au(g|group)|else(if|)?|do|in|catch|finally|:)\b
|
||||
scope: keyword.control.viml
|
||||
number_hex:
|
||||
- match: "0x[0-9a-f]+"
|
||||
scope: constant.numeric.hex
|
||||
number_int:
|
||||
- match: '-?\d+'
|
||||
scope: constant.numeric.integer
|
||||
string_quoted_double:
|
||||
- match: '"(\\\\|\\"|\n[^\S\n]*\\|[^\n"])*"'
|
||||
scope: string.quoted.double.viml
|
||||
string_quoted_single:
|
||||
- match: '''(''''|\n[^\S\n]*\\|[^\n''])*'''
|
||||
scope: string.quoted.single.viml
|
||||
string_regex:
|
||||
- match: '/(\\\\|\\/|\n[^\S\n]*\\|[^\n/])*/'
|
||||
scope: string.regexp.viml
|
||||
support_function:
|
||||
- match: \b(set(local|global)?|let|command|filetype|colorscheme|\w*map|\w*a(b|brev)?|syn|exe(c|cute)?|ec(ho|)?|au(tocmd|)?)\b
|
||||
scope: support.function.viml
|
||||
support_type:
|
||||
- match: <.*?>
|
||||
scope: support.type.viml
|
||||
support_variable:
|
||||
- match: '\b(am(enu|)?|(hl|inc)?search|[Bb]uf([Nn]ew[Ff]ile|[Rr]ead)?|[Ff]ile[Tt]ype)\b'
|
||||
scope: support.variable.viml
|
||||
variable:
|
||||
- match: '([sSgGbBwWlLaAvV]:|@|$|&(?!&))\w*'
|
||||
scope: variable.other.viml
|
||||
1
assets/syntaxes/02_Extra/Vue
vendored
Submodule
1
assets/syntaxes/02_Extra/Vue
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Vue added at 6eb71bc6bb
1
assets/syntaxes/02_Extra/hosts
vendored
Submodule
1
assets/syntaxes/02_Extra/hosts
vendored
Submodule
Submodule assets/syntaxes/02_Extra/hosts added at 21250a7117
1
assets/syntaxes/02_Extra/requirementstxt
vendored
Submodule
1
assets/syntaxes/02_Extra/requirementstxt
vendored
Submodule
Submodule assets/syntaxes/02_Extra/requirementstxt added at 775e6dd62a
19
assets/syntaxes/02_Extra/requirementstxt.sublime-syntax
vendored
Normal file
19
assets/syntaxes/02_Extra/requirementstxt.sublime-syntax
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: requirements.txt
|
||||
file_extensions:
|
||||
- requirements.txt
|
||||
scope: source.requirementstxt
|
||||
contexts:
|
||||
main:
|
||||
- match: (#).*$\n?
|
||||
scope: comment.line.requirementstxt
|
||||
captures:
|
||||
1: punctuation.definition.comment.requirementstxt
|
||||
- match: '(?i)^[a-z0-9_\-\.]+'
|
||||
scope: string.package_name.requirementstxt
|
||||
- match: (?i)==|<|<=|>=|>
|
||||
scope: keyword.operator.logical.punctuation.requirementstxt
|
||||
- match: '(?i)\d+\.[\da-z\-_\.]*'
|
||||
scope: constant.numeric.verions.requirementstxt
|
||||
31
assets/syntaxes/02_Extra/show-nonprintable.sublime-syntax
vendored
Normal file
31
assets/syntaxes/02_Extra/show-nonprintable.sublime-syntax
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Highlight non-printables
|
||||
file_extensions:
|
||||
- show-nonprintable
|
||||
scope: whitespace
|
||||
contexts:
|
||||
main:
|
||||
- match: "•"
|
||||
scope: support.function.show-nonprintable.space
|
||||
- match: "├─*┤"
|
||||
scope: constant.character.escape.show-nonprintable.tab
|
||||
- match: "↹"
|
||||
scope: constant.character.escape.show-nonprintable.tab
|
||||
- match: "␊"
|
||||
scope: keyword.operator.show-nonprintable.line-feed
|
||||
- match: "␍"
|
||||
scope: string.show-nonprintable.carriage-return
|
||||
- match: "␀"
|
||||
scope: entity.other.attribute-name.show-nonprintable.null
|
||||
- match: "␇"
|
||||
scope: entity.other.attribute-name.show-nonprintable.bell
|
||||
- match: "␛"
|
||||
scope: entity.other.attribute-name.show-nonprintable.escape
|
||||
- match: "␈"
|
||||
scope: entity.other.attribute-name.show-nonprintable.backspace
|
||||
- match: "\\\\x[A-Z0-9][A-Z0-9]"
|
||||
scope: comment.block.show-nonprintable.backspace
|
||||
- match: "\\\\u\\{[a-z0-9]+\\}"
|
||||
scope: comment.block.show-nonprintable.backspace
|
||||
1
assets/syntaxes/02_Extra/ssh-config
vendored
Submodule
1
assets/syntaxes/02_Extra/ssh-config
vendored
Submodule
Submodule assets/syntaxes/02_Extra/ssh-config added at 16e19d5da4
1
assets/syntaxes/02_Extra/varlink
vendored
Submodule
1
assets/syntaxes/02_Extra/varlink
vendored
Submodule
Submodule assets/syntaxes/02_Extra/varlink added at 04f30d4b83
Reference in New Issue
Block a user