340 lines
6.2 KiB
Scheme
340 lines
6.2 KiB
Scheme
; General syntax
|
|
(command_name) @function
|
|
|
|
(text_mode
|
|
[
|
|
"\\text"
|
|
"\\intertext"
|
|
"\\shortintertext"
|
|
] @function)
|
|
|
|
(caption
|
|
command: _ @function)
|
|
|
|
(key_value_pair
|
|
key: (_) @variable.parameter
|
|
value: (_))
|
|
|
|
[
|
|
(brack_group)
|
|
(brack_group_argc)
|
|
] @variable.parameter
|
|
|
|
[
|
|
(operator)
|
|
"="
|
|
"_"
|
|
"^"
|
|
] @operator
|
|
|
|
"\\item" @punctuation.special
|
|
|
|
((word) @punctuation.delimiter
|
|
(#eq? @punctuation.delimiter "&"))
|
|
|
|
[
|
|
"["
|
|
"]"
|
|
"{"
|
|
"}"
|
|
] @punctuation.bracket ; "(" ")" has no syntactical meaning in LaTeX
|
|
|
|
; General environments
|
|
(begin
|
|
command: _ @module
|
|
name: (curly_group_text
|
|
(text) @label))
|
|
|
|
(end
|
|
command: _ @module
|
|
name: (curly_group_text
|
|
(text) @label))
|
|
|
|
; 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)
|
|
|
|
(environment_definition
|
|
command: _ @function.macro
|
|
name: (curly_group_text
|
|
(_) @markup.link))
|
|
|
|
(theorem_definition
|
|
command: _ @function.macro
|
|
name: (curly_group_text_list
|
|
(_) @label))
|
|
|
|
(paired_delimiter_definition
|
|
command: _ @function.macro
|
|
declaration: (curly_group_command_name
|
|
(_) @function))
|
|
|
|
(label_definition
|
|
command: _ @function.macro
|
|
name: (curly_group_text
|
|
(_) @markup.link))
|
|
|
|
(label_reference_range
|
|
command: _ @function.macro
|
|
from: (curly_group_text
|
|
(_) @markup.link)
|
|
to: (curly_group_text
|
|
(_) @markup.link))
|
|
|
|
(label_reference
|
|
command: _ @function.macro
|
|
names: (curly_group_text_list
|
|
(_) @markup.link))
|
|
|
|
(label_number
|
|
command: _ @function.macro
|
|
name: (curly_group_text
|
|
(_) @markup.link)
|
|
number: (_) @markup.link)
|
|
|
|
(citation
|
|
command: _ @function.macro
|
|
keys: (curly_group_text_list) @markup.link)
|
|
|
|
(glossary_entry_definition
|
|
command: _ @function.macro
|
|
name: (curly_group_text
|
|
(_) @markup.link))
|
|
|
|
(glossary_entry_reference
|
|
command: _ @function.macro
|
|
name: (curly_group_text
|
|
(_) @markup.link))
|
|
|
|
(acronym_definition
|
|
command: _ @function.macro
|
|
name: (curly_group_text
|
|
(_) @markup.link))
|
|
|
|
(acronym_reference
|
|
command: _ @function.macro
|
|
name: (curly_group_text
|
|
(_) @markup.link))
|
|
|
|
(color_definition
|
|
command: _ @function.macro
|
|
name: (curly_group_text
|
|
(_) @markup.link))
|
|
|
|
(color_reference
|
|
command: _ @function.macro
|
|
name: (curly_group_text
|
|
(_) @markup.link))
|
|
|
|
; Formatting
|
|
(text_mode
|
|
content: (curly_group
|
|
(_) @none @spell))
|
|
|
|
(math_environment
|
|
(begin
|
|
command: _ @markup.math
|
|
name: (curly_group_text
|
|
(_) @markup.math)))
|
|
|
|
(math_environment
|
|
(_) @markup.math)
|
|
|
|
(math_environment
|
|
(end
|
|
command: _ @markup.math
|
|
name: (curly_group_text
|
|
(_) @markup.math)))
|
|
|
|
; Sectioning
|
|
(title_declaration
|
|
command: _ @module
|
|
options: (brack_group
|
|
(_) @markup.heading.1)?
|
|
text: (curly_group
|
|
(_) @markup.heading.1))
|
|
|
|
(author_declaration
|
|
command: _ @module
|
|
authors: (curly_group_author_list
|
|
(author)+ @markup.heading.1))
|
|
|
|
(chapter
|
|
command: _ @module
|
|
toc: (brack_group
|
|
(_) @markup.heading.2)?
|
|
text: (curly_group
|
|
(_) @markup.heading.2))
|
|
|
|
(part
|
|
command: _ @module
|
|
toc: (brack_group
|
|
(_) @markup.heading.2)?
|
|
text: (curly_group
|
|
(_) @markup.heading.2))
|
|
|
|
(section
|
|
command: _ @module
|
|
toc: (brack_group
|
|
(_) @markup.heading.3)?
|
|
text: (curly_group
|
|
(_) @markup.heading.3))
|
|
|
|
(subsection
|
|
command: _ @module
|
|
toc: (brack_group
|
|
(_) @markup.heading.4)?
|
|
text: (curly_group
|
|
(_) @markup.heading.4))
|
|
|
|
(subsubsection
|
|
command: _ @module
|
|
toc: (brack_group
|
|
(_) @markup.heading.5)?
|
|
text: (curly_group
|
|
(_) @markup.heading.5))
|
|
|
|
(paragraph
|
|
command: _ @module
|
|
toc: (brack_group
|
|
(_) @markup.heading.6)?
|
|
text: (curly_group
|
|
(_) @markup.heading.6))
|
|
|
|
(subparagraph
|
|
command: _ @module
|
|
toc: (brack_group
|
|
(_) @markup.heading.6)?
|
|
text: (curly_group
|
|
(_) @markup.heading.6))
|
|
|
|
; Beamer frames
|
|
(generic_environment
|
|
(begin
|
|
name: (curly_group_text
|
|
(text) @label)
|
|
(#any-of? @label "frame"))
|
|
.
|
|
(curly_group
|
|
(_) @markup.heading))
|
|
|
|
((generic_command
|
|
command: (command_name) @_name
|
|
arg: (curly_group
|
|
(text) @markup.heading))
|
|
(#eq? @_name "\\frametitle"))
|
|
|
|
((generic_command
|
|
command: (command_name) @_name
|
|
arg: (curly_group
|
|
(_) @markup.italic))
|
|
(#eq? @_name "\\emph"))
|
|
|
|
((generic_command
|
|
command: (command_name) @_name
|
|
arg: (curly_group
|
|
(_) @markup.italic))
|
|
(#any-of? @_name "\\textit" "\\mathit"))
|
|
|
|
((generic_command
|
|
command: (command_name) @_name
|
|
arg: (curly_group
|
|
(_) @markup.strong))
|
|
(#any-of? @_name "\\textbf" "\\mathbf"))
|
|
|
|
((generic_command
|
|
command: (command_name) @_name
|
|
.
|
|
arg: (curly_group
|
|
(_) @markup.link.url))
|
|
(#any-of? @_name "\\url" "\\href"))
|
|
|
|
; File inclusion commands
|
|
(class_include
|
|
command: _ @keyword.import
|
|
path: (curly_group_path) @string)
|
|
|
|
(package_include
|
|
command: _ @keyword.import
|
|
paths: (curly_group_path_list) @string)
|
|
|
|
(latex_include
|
|
command: _ @keyword.import
|
|
path: (curly_group_path) @string)
|
|
|
|
(import_include
|
|
command: _ @keyword.import
|
|
directory: (curly_group_path) @string
|
|
file: (curly_group_path) @string)
|
|
|
|
(bibstyle_include
|
|
command: _ @keyword.import
|
|
path: (curly_group_path) @string)
|
|
|
|
(bibtex_include
|
|
command: _ @keyword.import
|
|
paths: (curly_group_path_list) @string)
|
|
|
|
(biblatex_include
|
|
"\\addbibresource" @keyword.import
|
|
glob: (curly_group_glob_pattern) @string.regexp)
|
|
|
|
(graphics_include
|
|
command: _ @keyword.import
|
|
path: (curly_group_path) @string)
|
|
|
|
(tikz_library_import
|
|
command: _ @keyword.import
|
|
paths: (curly_group_path_list) @string)
|
|
|
|
(text) @spell
|
|
|
|
(inline_formula) @nospell
|
|
|
|
(displayed_equation) @nospell
|
|
|
|
(key_value_pair) @nospell
|
|
|
|
(generic_environment
|
|
begin: _ @nospell
|
|
end: _ @nospell)
|
|
|
|
(citation
|
|
keys: _ @nospell)
|
|
|
|
(command_name) @nospell
|
|
|
|
(label_definition) @nospell
|
|
|
|
(label_reference) @nospell
|
|
|
|
(label_reference_range) @nospell
|
|
|
|
; Math
|
|
[
|
|
(displayed_equation)
|
|
(inline_formula)
|
|
] @markup.math
|
|
|
|
[
|
|
(line_comment)
|
|
(block_comment)
|
|
(comment_environment)
|
|
] @comment @spell
|
|
|
|
((line_comment) @keyword.directive @nospell
|
|
(#lua-match? @keyword.directive "^%% !TeX"))
|
|
|
|
((line_comment) @keyword.directive @nospell
|
|
(#lua-match? @keyword.directive "^%%&"))
|