From 5e7054dffeb98f6974d82ef6dc81f2199fd1df57 Mon Sep 17 00:00:00 2001 From: Kristijan Husak Date: Wed, 26 Nov 2025 19:39:47 +0100 Subject: [PATCH 1/2] feat(latex): Add support for inline math Related: #1056 --- lua/orgmode/utils/treesitter/install.lua | 2 +- queries/org/highlights.scm | 2 ++ queries/org/images.scm | 9 +++++++++ tests/plenary/colors/highlighter_spec.lua | 6 ++---- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lua/orgmode/utils/treesitter/install.lua b/lua/orgmode/utils/treesitter/install.lua index e108fcc4b..293dc7444 100644 --- a/lua/orgmode/utils/treesitter/install.lua +++ b/lua/orgmode/utils/treesitter/install.lua @@ -5,7 +5,7 @@ local M = { compilers = { 'tree-sitter', vim.fn.getenv('CC'), 'cc', 'gcc', 'clang', 'cl', 'zig' }, } -local required_version = '2.0.0' +local required_version = '2.0.2' function M.install() local version_info = M.get_version_info() diff --git a/queries/org/highlights.scm b/queries/org/highlights.scm index 64bca7290..377bac96b 100644 --- a/queries/org/highlights.scm +++ b/queries/org/highlights.scm @@ -32,6 +32,8 @@ (dynamic_block parameter: (expr) @org.block) (property_drawer (property name: (expr) @org.properties.name)) @org.properties (latex_env) @org.latex_env +(inline_math_block) @org.latex +(display_math_block) @org.latex (drawer) @org.drawer (tag_list) @org.tag (directive name: (expr) @_directive_name value: (value) @org.tag (#match? @_directive_name "\\c^filetags$")) diff --git a/queries/org/images.scm b/queries/org/images.scm index c00501531..5da99e747 100644 --- a/queries/org/images.scm +++ b/queries/org/images.scm @@ -25,3 +25,12 @@ (#set! injection.language "latex") (#set! image.ext "math.tex")) +(inline_math_block + (contents) @image.content + (#set! injection.language "latex") + (#set! image.ext "math.tex")) + +(display_math_block + (contents) @image.content + (#set! injection.language "latex") + (#set! image.ext "math.tex")) diff --git a/tests/plenary/colors/highlighter_spec.lua b/tests/plenary/colors/highlighter_spec.lua index b82046b15..92417efe6 100644 --- a/tests/plenary/colors/highlighter_spec.lua +++ b/tests/plenary/colors/highlighter_spec.lua @@ -260,10 +260,8 @@ describe('highlighter', function() [[this is \[1 + 1\] math]], [[this is \{1 + 1\} math]], }) - assert.are.same(3, #extmarks) - assert_extmark(extmarks[1], { line = 0, start_col = 8, end_col = 17, hl_group = '@org.latex' }) - assert_extmark(extmarks[2], { line = 1, start_col = 8, end_col = 17, hl_group = '@org.latex' }) - assert_extmark(extmarks[3], { line = 2, start_col = 8, end_col = 17, hl_group = '@org.latex' }) + assert.are.same(1, #extmarks) + assert_extmark(extmarks[1], { line = 2, start_col = 8, end_col = 17, hl_group = '@org.latex' }) end) end) end) From 843933f4cb6f309315789c52ad72e3a636ef463b Mon Sep 17 00:00:00 2001 From: Kristijan Husak Date: Tue, 2 Dec 2025 17:52:07 +0100 Subject: [PATCH 2/2] feat(latex): capture whole tex block for Snacks image --- queries/org/images.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/queries/org/images.scm b/queries/org/images.scm index 5da99e747..86ece5819 100644 --- a/queries/org/images.scm +++ b/queries/org/images.scm @@ -21,16 +21,13 @@ (#set! image.ext "math.tex")) (latex_env - (contents) @image.content (#set! injection.language "latex") - (#set! image.ext "math.tex")) + (#set! image.ext "math.tex")) @image.content @image (inline_math_block - (contents) @image.content (#set! injection.language "latex") - (#set! image.ext "math.tex")) + (#set! image.ext "math.tex")) @image.content @image (display_math_block - (contents) @image.content (#set! injection.language "latex") - (#set! image.ext "math.tex")) + (#set! image.ext "math.tex")) @image.content @image