Skip to content

Commit af313c9

Browse files
refactor: add helper for setting lines for a node
1 parent a08bd94 commit af313c9

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

lua/orgmode/treesitter/headline.lua

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,7 @@ function Headline:_handle_promote_demote(recursive, modifier)
9696
local whole_subtree = function()
9797
local text = query.get_node_text(self.headline:parent(), 0)
9898
local lines = modifier(vim.split(text, '\n', true))
99-
local start_line, _, end_line, _ = self.headline:parent():range()
100-
vim.api.nvim_buf_set_lines(0, start_line, end_line, false, lines)
99+
tree_utils.set_node_lines(self.headline:parent(), lines)
101100
return self:refresh()
102101
end
103102

@@ -319,7 +318,7 @@ function Headline:set_property(name, value)
319318
tree_utils.set_node_text(existing_property.node, property)
320319
return self:refresh()
321320
end
322-
local property_end = properties:end_()
321+
local property_end = properties and properties:end_()
323322
vim.api.nvim_buf_set_lines(0, property_end - 1, property_end - 1, false, { self:_apply_indent(property) })
324323
return self:refresh()
325324
end

lua/orgmode/utils/treesitter.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,4 +110,11 @@ function M.set_node_text(node, text, front_trim)
110110
pcall(vim.api.nvim_buf_set_text, 0, sr, sc, er, ec, lines)
111111
end
112112

113+
---@param node userdata
114+
---@param lines string[]
115+
function M.set_node_lines(node, lines)
116+
local start_row, _, end_row, _ = node:range()
117+
vim.api.nvim_buf_set_lines(0, start_row, end_row, false, lines)
118+
end
119+
113120
return M

0 commit comments

Comments
 (0)