mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 09:30:04 +08:00
256 lines
5.7 KiB
Scheme
256 lines
5.7 KiB
Scheme
;; General syntax
|
|
(ERROR) @error
|
|
|
|
(generic_command) @function
|
|
(caption
|
|
command: _ @function)
|
|
|
|
(key_value_pair
|
|
key: (_) @parameter
|
|
value: (_))
|
|
|
|
[
|
|
(line_comment)
|
|
(block_comment)
|
|
(comment_environment)
|
|
] @comment
|
|
|
|
[
|
|
(brack_group)
|
|
(brack_group_argc)
|
|
] @parameter
|
|
|
|
[(operator) "="] @operator
|
|
|
|
"\\item" @punctuation.special
|
|
|
|
((word) @punctuation.delimiter
|
|
(#eq? @punctuation.delimiter "&"))
|
|
|
|
["[" "]" "{" "}"] @punctuation.bracket ; "(" ")" has no syntactical meaning in LaTeX
|
|
|
|
;; General environments
|
|
(begin
|
|
command: _ @text.environment
|
|
name: (curly_group_text
|
|
(text) @text.environment.name)
|
|
(#not-any-of? @text.environment.name
|
|
"displaymath" "displaymath*"
|
|
"equation" "equation*"
|
|
"multline" "multline*"
|
|
"eqnarray" "eqnarray*"
|
|
"align" "align*"
|
|
"array" "array*"
|
|
"split" "split*"
|
|
"alignat" "alignat*"
|
|
"gather" "gather*"
|
|
"flalign" "flalign*"))
|
|
|
|
(end
|
|
command: _ @text.environment
|
|
name: (curly_group_text
|
|
(text) @text.environment.name)
|
|
(#not-any-of? @text.environment.name
|
|
"displaymath" "displaymath*"
|
|
"equation" "equation*"
|
|
"multline" "multline*"
|
|
"eqnarray" "eqnarray*"
|
|
"align" "align*"
|
|
"array" "array*"
|
|
"split" "split*"
|
|
"alignat" "alignat*"
|
|
"gather" "gather*"
|
|
"flalign" "flalign*"))
|
|
|
|
;; Definitions and references
|
|
(new_command_definition
|
|
command: _ @function.macro
|
|
declaration: (curly_group_command_name (_) @function))
|
|
(old_command_definition
|
|
command: _ @function.macro
|
|
declaration: (_) @function)
|
|
(let_command_definition
|
|
command: _ @function.macro
|
|
declaration: (_) @function)
|
|
|
|
(theorem_definition
|
|
command: _ @function.macro
|
|
name: (curly_group_text (_) @text.environment.name))
|
|
|
|
(label_definition
|
|
command: _ @function.macro
|
|
name: (curly_group_text (_) @text.reference))
|
|
(label_reference_range
|
|
command: _ @function.macro
|
|
from: (curly_group_text (_) @text.reference)
|
|
to: (curly_group_text (_) @text.reference))
|
|
(label_reference
|
|
command: _ @function.macro
|
|
names: (curly_group_text_list (_) @text.reference))
|
|
(label_number
|
|
command: _ @function.macro
|
|
name: (curly_group_text (_) @text.reference)
|
|
number: (_) @text.reference)
|
|
|
|
(citation
|
|
command: _ @function.macro
|
|
keys: (curly_group_text_list) @text.reference)
|
|
|
|
(glossary_entry_definition
|
|
command: _ @function.macro
|
|
name: (curly_group_text (_) @text.reference))
|
|
(glossary_entry_reference
|
|
command: _ @function.macro
|
|
name: (curly_group_text (_) @text.reference))
|
|
|
|
(acronym_definition
|
|
command: _ @function.macro
|
|
name: (curly_group_text (_) @text.reference))
|
|
(acronym_reference
|
|
command: _ @function.macro
|
|
name: (curly_group_text (_) @text.reference))
|
|
|
|
(color_definition
|
|
command: _ @function.macro
|
|
name: (curly_group_text (_) @text.reference))
|
|
(color_reference
|
|
command: _ @function.macro
|
|
name: (curly_group_text (_) @text.reference))
|
|
|
|
;; Math
|
|
[
|
|
(displayed_equation)
|
|
(inline_formula)
|
|
] @text.math
|
|
|
|
((generic_environment
|
|
(begin
|
|
command: _ @text.math
|
|
name: (curly_group_text
|
|
(text) @_env))) @text.math
|
|
(#any-of? @_env
|
|
"displaymath" "displaymath*"
|
|
"equation" "equation*"
|
|
"multline" "multline*"
|
|
"eqnarray" "eqnarray*"
|
|
"align" "align*"
|
|
"array" "array*"
|
|
"split" "split*"
|
|
"alignat" "alignat*"
|
|
"gather" "gather*"
|
|
"flalign" "flalign*"))
|
|
((generic_environment
|
|
(end
|
|
command: _ @text.math
|
|
name: (curly_group_text
|
|
(text) @_env))) @text.math
|
|
(#any-of? @_env
|
|
"displaymath" "displaymath*"
|
|
"equation" "equation*"
|
|
"multline" "multline*"
|
|
"eqnarray" "eqnarray*"
|
|
"align" "align*"
|
|
"array" "array*"
|
|
"split" "split*"
|
|
"alignat" "alignat*"
|
|
"gather" "gather*"
|
|
"flalign" "flalign*"))
|
|
|
|
;; Sectioning
|
|
(chapter
|
|
command: _ @namespace
|
|
text: (curly_group) @text.title)
|
|
|
|
(part
|
|
command: _ @namespace
|
|
text: (curly_group) @text.title)
|
|
|
|
(section
|
|
command: _ @namespace
|
|
text: (curly_group) @text.title)
|
|
|
|
(subsection
|
|
command: _ @namespace
|
|
text: (curly_group) @text.title)
|
|
|
|
(subsubsection
|
|
command: _ @namespace
|
|
text: (curly_group) @text.title)
|
|
|
|
(paragraph
|
|
command: _ @namespace
|
|
text: (curly_group) @text.title)
|
|
|
|
(subparagraph
|
|
command: _ @namespace
|
|
text: (curly_group) @text.title)
|
|
|
|
;; Beamer frames
|
|
(generic_environment
|
|
(begin
|
|
name: (curly_group_text
|
|
(text) @text.environment.name)
|
|
(#any-of? @text.environment.name "frame"))
|
|
.
|
|
(curly_group (_) @text.title))
|
|
|
|
((generic_command
|
|
command: (command_name) @_name
|
|
arg: (curly_group
|
|
(text) @text.title))
|
|
(#eq? @_name "\\frametitle"))
|
|
|
|
;; Formatting
|
|
((generic_command
|
|
command: (command_name) @_name
|
|
arg: (curly_group (_) @text.emphasis))
|
|
(#eq? @_name "\\emph"))
|
|
|
|
((generic_command
|
|
command: (command_name) @_name
|
|
arg: (curly_group (_) @text.emphasis))
|
|
(#match? @_name "^(\\\\textit|\\\\mathit)$"))
|
|
|
|
((generic_command
|
|
command: (command_name) @_name
|
|
arg: (curly_group (_) @text.strong))
|
|
(#match? @_name "^(\\\\textbf|\\\\mathbf)$"))
|
|
|
|
((generic_command
|
|
command: (command_name) @_name
|
|
.
|
|
arg: (curly_group (_) @text.uri))
|
|
(#match? @_name "^(\\\\url|\\\\href)$"))
|
|
|
|
;; File inclusion commands
|
|
(class_include
|
|
command: _ @include
|
|
path: (curly_group_path) @string)
|
|
|
|
(package_include
|
|
command: _ @include
|
|
paths: (curly_group_path_list) @string)
|
|
|
|
(latex_include
|
|
command: _ @include
|
|
path: (curly_group_path) @string)
|
|
(import_include
|
|
command: _ @include
|
|
directory: (curly_group_path) @string
|
|
file: (curly_group_path) @string)
|
|
|
|
(bibtex_include
|
|
command: _ @include
|
|
path: (curly_group_path) @string)
|
|
(biblatex_include
|
|
"\\addbibresource" @include
|
|
glob: (curly_group_glob_pattern) @string.regex)
|
|
|
|
(graphics_include
|
|
command: _ @include
|
|
path: (curly_group_path) @string)
|
|
(tikz_library_import
|
|
command: _ @include
|
|
paths: (curly_group_path_list) @string)
|
|
|