Skip to content

Commit ec151bc

Browse files
Increment numbered list on meta return. Fixes #78.
1 parent decd054 commit ec151bc

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

lua/orgmode/org/mappings.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,12 @@ function OrgMappings:handle_return(suffix)
233233
vim.fn.cursor(vim.fn.line('.') + 1, 0)
234234
return vim.cmd([[startinsert!]])
235235
end
236+
local indent, number_in_list, closer = item:is_numbered_list()
237+
if number_in_list then
238+
vim.fn.append(vim.fn.line('.'), string.format('%s%d%s ', indent, tonumber(number_in_list) + 1, closer))
239+
vim.fn.cursor(vim.fn.line('.') + 1, 0)
240+
return vim.cmd([[startinsert!]])
241+
end
236242
end
237243

238244
function OrgMappings:insert_heading_respect_content(suffix)

lua/orgmode/parser/content.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ function Content:is_checkbox()
5959
return self.line:match('^(%s*[%+%-])%s*%[[%sXx%-]?%]')
6060
end
6161

62+
function Content:is_numbered_list()
63+
return self.line:match('^(%s*)(%d+)([%)%.])%s+')
64+
end
65+
6266
---@return boolean
6367
function Content:is_drawer()
6468
return self.type == Types.DRAWER

0 commit comments

Comments
 (0)