Skip to content

Commit 1fecadc

Browse files
[BREAKING CHANGE] Update tree-sitter grammar to latest version. Run :TSUpdate org
1 parent aa37eee commit 1fecadc

File tree

3 files changed

+15
-23
lines changed

3 files changed

+15
-23
lines changed

lua/orgmode/init.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
_G.orgmode = _G.orgmode or {}
2-
local ts_revision = 'f78edf1ab65c854ef25356c2a96222e87d15c5c5'
2+
local ts_revision = 'a2c1946d78fa8529bb4cfedd598fd6dbce5c79a7'
33
local setup_ts_grammar_used = false
44
local instance = nil
55

lua/orgmode/treesitter/listitem.lua

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,12 @@ function Listitem:get_new_checkbox_value(action, current_value, total_child_chec
3030
end
3131

3232
function Listitem:checkbox()
33-
local contents = self.listitem:field('contents')
34-
for _, content in ipairs(contents) do
35-
if content:type() == 'paragraph' then
36-
for child in content:iter_children() do
37-
local text = query.get_node_text(child, 0)
38-
if text:match('%[[Xx-]%]') then
39-
return { text = text, range = { child:range() } }
40-
end
41-
42-
-- empty checkboxes are split into two nodes, so we need to hack this together
43-
local next_sibling = child:next_sibling()
44-
if next_sibling and text == '[' and query.get_node_text(next_sibling, 0) == ']' then
45-
local sr, sc, er, ec = child:range()
46-
return { text = '[ ]', range = { sr, sc, er, ec + 2 } }
47-
end
48-
end
49-
end
33+
local checkbox = self.listitem:field('checkbox')[1]
34+
if not checkbox then
35+
return nil
5036
end
37+
local text = query.get_node_text(checkbox, 0)
38+
return { text = text, range = { checkbox:range() } }
5139
end
5240

5341
function Listitem:update_checkbox(action)

queries/org/highlights.scm

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,17 @@
88
(headline (stars) @stars (#eq? @stars "******")) @OrgTSHeadlineLevel6
99
(headline (stars) @stars (#eq? @stars "*******")) @OrgTSHeadlineLevel7
1010
(headline (stars) @stars (#eq? @stars "********")) @OrgTSHeadlineLevel8
11-
(bullet) @OrgTSBullet
12-
(listitem . (bullet) . (paragraph . (expr "[" "str" @OrgCheckDone "]") @OrgTSCheckboxChecked (#match? @OrgTSCheckboxChecked "\[[xX]\]")))
13-
(listitem . (bullet) . (paragraph . (expr "[" "-" @OrgCheckInProgress "]") @OrgTSCheckboxHalfChecked (#eq? @OrgTSCheckboxHalfChecked "[-]")))
14-
(listitem . (bullet) . (paragraph . ((expr "[") @OrgTSCheckbox.left (#eq? @OrgTSCheckbox.left "[") . (expr "]") @OrgTSCheckbox.right (#eq? @OrgTSCheckbox.right "]"))))
15-
(block "#+begin_" @OrgTSBlock "#+end_" @OrgTSBlock "str" @OrgTSBlock)
11+
(bullet) @OrgTSBullet
12+
(checkbox) @OrgTSCheckbox
13+
(checkbox status: (expr "-") @OrgTSCheckboxHalfChecked)
14+
(checkbox status: (expr "str") @OrgTSCheckboxChecked (#any-of? @OrgTSCheckboxChecked "x" "X"))
15+
(block "#+begin_" @OrgTSBlock "#+end_" @OrgTSBlock)
1616
(block name: (expr) @OrgTSBlock)
17+
(block end_name: (expr) @OrgTSBlock)
1718
(block parameter: (expr) @OrgTSBlock)
19+
(dynamic_block name: (expr) @OrgTSBlock)
20+
(dynamic_block end_name: (expr) @OrgTSBlock)
21+
(dynamic_block parameter: (expr) @OrgTSBlock)
1822
(property_drawer) @OrgTSPropertyDrawer
1923
(latex_env) @OrgTSLatex
2024
(drawer) @OrgTSDrawer

0 commit comments

Comments
 (0)