Skip to content

Commit 2fb1177

Browse files
authored
fix: cursor behavior on link insertion (#48)
- use `feedkeys` with mode "n" instead of "t" -> more robust against user remaps - only go into insert mode when executed from insert mode - make `put` behave like `p` and not `P`
1 parent 418f8fd commit 2fb1177

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

lua/telescope/_extensions/neorg/insert_file_link.lua

+5-2
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ end
7272

7373
return function(opts)
7474
opts = opts or {}
75+
local mode = vim.api.nvim_get_mode().mode
7576

7677
pickers
7778
.new(opts, {
@@ -110,8 +111,10 @@ return function(opts)
110111

111112
vim.api.nvim_put({
112113
"{" .. ":$" .. entry.relative .. ":" .. "}" .. "[" .. (entry.title or file_name) .. "]",
113-
}, "c", false, true)
114-
vim.api.nvim_feedkeys("hf]a", "t", false)
114+
}, "c", true, true)
115+
if mode == "i" then
116+
vim.api.nvim_feedkeys("a", "n", false)
117+
end
115118
end)
116119
return true
117120
end,

lua/telescope/_extensions/neorg/insert_link.lua

+6-3
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ end
9595
return function(opts)
9696
opts = opts or {}
9797
local links = generate_links()
98+
local mode = vim.api.nvim_get_mode().mode
9899

99100
pickers
100101
.new(opts, {
@@ -158,16 +159,18 @@ return function(opts)
158159
"[%*#%|_]",
159160
"\\%1"
160161
) .. "}" .. "[" .. entry.linkable:gsub(":$", "") .. "]",
161-
}, "c", false, true)
162+
}, "c", true, true)
162163
else
163164
vim.api.nvim_put({
164165
"{" .. inserted_file .. entry.ordinal:gsub("^(%W+)%s+.+", "%1 ") .. entry.linkable:gsub(
165166
"[%*#%|_]",
166167
"\\%1"
167168
) .. "}",
168-
}, "c", false, true)
169+
}, "c", true, true)
170+
end
171+
if mode == "i" then
172+
vim.api.nvim_feedkeys("a", "n", false)
169173
end
170-
vim.api.nvim_feedkeys("hf]a", "t", false)
171174
end)
172175
return true
173176
end,

0 commit comments

Comments
 (0)