From ea8c3b28500e5d85fcbeeba1563e343f6be5ee54 Mon Sep 17 00:00:00 2001 From: Stephan Seitz Date: Fri, 26 Mar 2021 14:57:11 +0100 Subject: feat: Add Latex basic highlights and folds Fix #1104 --- lockfile.json | 2 +- queries/latex/folds.scm | 10 ++++ queries/latex/highlights.scm | 110 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 queries/latex/folds.scm create mode 100644 queries/latex/highlights.scm 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) -- cgit v1.2.3-70-g09d2