aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Seitz <stephan.seitz@fau.de>2021-03-26 14:57:11 +0100
committerStephan Seitz <stephan.lauf@yahoo.de>2021-03-30 19:26:37 +0200
commitea8c3b28500e5d85fcbeeba1563e343f6be5ee54 (patch)
tree3958bae4aa72d84ebd5a1b1a0898835f7fc0288f
parentrefactor(all): language tree adaption (#1105) (diff)
downloadnvim-treesitter-ea8c3b28500e5d85fcbeeba1563e343f6be5ee54.tar
nvim-treesitter-ea8c3b28500e5d85fcbeeba1563e343f6be5ee54.tar.gz
nvim-treesitter-ea8c3b28500e5d85fcbeeba1563e343f6be5ee54.tar.bz2
nvim-treesitter-ea8c3b28500e5d85fcbeeba1563e343f6be5ee54.tar.lz
nvim-treesitter-ea8c3b28500e5d85fcbeeba1563e343f6be5ee54.tar.xz
nvim-treesitter-ea8c3b28500e5d85fcbeeba1563e343f6be5ee54.tar.zst
nvim-treesitter-ea8c3b28500e5d85fcbeeba1563e343f6be5ee54.zip
feat: Add Latex basic highlights and folds
Fix #1104
-rw-r--r--lockfile.json2
-rw-r--r--queries/latex/folds.scm10
-rw-r--r--queries/latex/highlights.scm110
3 files changed, 121 insertions, 1 deletions
diff --git a/lockfile.json b/lockfile.json
index ef8b3fe8b..ce9eb667f 100644
--- a/lockfile.json
+++ b/lockfile.json
@@ -81,7 +81,7 @@
"revision": "48bfb38abd93f8d617877d7bb7f92a6bb1166285"
},
"latex": {
- "revision": "e87bc36487bba70f492cf5810f44a5484f883c32"
+ "revision": "ea43db6830632fd3531b9cbc34a93502b0d4339a"
},
"ledger": {
"revision": "609d5e5ab5955823b3faeaec8d2afc91860c639a"
diff --git a/queries/latex/folds.scm b/queries/latex/folds.scm
new file mode 100644
index 000000000..f0f9207b8
--- /dev/null
+++ b/queries/latex/folds.scm
@@ -0,0 +1,10 @@
+[
+ (chapter)
+ (section)
+ (subsection)
+ (subsubsection)
+ (paragraph)
+ (subparagraph)
+
+ (environment)
+] @fold
diff --git a/queries/latex/highlights.scm b/queries/latex/highlights.scm
new file mode 100644
index 000000000..cea10cb31
--- /dev/null
+++ b/queries/latex/highlights.scm
@@ -0,0 +1,110 @@
+[
+ (generic_command_name)
+ "\\begin"
+ "\\end"
+ "\\newcommand"
+ "\\renewcommand"
+ "\\DeclareRobustCommand"
+] @function.macro
+
+(comment) @comment
+
+(bracket_group) @parameter
+
+[(math_operator) "="] @operator
+
+[
+ "\\usepackage"
+ "\\documentclass"
+ "\\input"
+ "\\subfile"
+ "\\subfileinclude"
+ "\\subfileinclude"
+ "\\includegraphics"
+ "\\addbibresource"
+ "\\bibliography"
+ "\\includesvg"
+ "\\includeinkscape"
+ "\\usepgflibrary"
+ "\\usetikzlibrary"
+] @include
+
+[
+ "\\chapter"
+ "\\section"
+ "\\subsection"
+ "\\subsubsection"
+ "\\paragraph"
+ "\\subparagraph"
+] @type
+
+[
+ (label_definition)
+ (label_reference)
+ (equation_label_reference)
+ (label_number)
+] @label
+
+(key_val_pair
+ key: (_) @parameter
+ value: (_))
+
+["(" ")" "[" "]" "{" "}"] @punctuation.bracket
+
+(chapter
+ text: (brace_group) @text.title)
+
+(section
+ text: (brace_group) @text.title)
+
+(subsection
+ text: (brace_group) @text.title)
+
+(subsubsection
+ text: (brace_group) @text.title)
+
+(paragraph
+ text: (brace_group) @text.title)
+
+(subparagraph
+ text: (brace_group) @text.title)
+
+((environment
+ (begin
+ name: (word) @_frame)
+ (brace_group
+ child: (text) @text.title))
+ (#eq? @_frame "frame"))
+
+((generic_command
+ name:(generic_command_name) @_name
+ arg: (brace_group
+ (text) @text.title))
+ (#eq? @_name "\\frametitle"))
+
+;; Formatting
+
+((generic_command
+ name:(generic_command_name) @_name
+ arg: (_) @text.emphasis)
+ (#eq? @_name "\\emph"))
+
+((generic_command
+ name:(generic_command_name) @_name
+ arg: (_) @text.emphasis)
+ (#match? @_name "^(\\textit|\\mathit)$"))
+
+((generic_command
+ name:(generic_command_name) @_name
+ arg: (_) @text.strong)
+ (#match? @_name "^(\\textbf|\\mathbf)$"))
+
+(ERROR) @error
+
+;; Controversial
+; Add @text.bullet?
+"\\item" @punctuation.special
+
+;; Math (TODO)
+;(displayed_equation)
+;(inline_formula)