mirror of
https://github.com/L3MON4D3/LuaSnip
synced 2024-09-16 21:54:03 +02:00
add new setting for copying the selection (instead of cutting).
This commit is contained in:
parent
b84eeb3641
commit
d48c8ed8e1
4 changed files with 26 additions and 4 deletions
|
@ -65,6 +65,12 @@ c = {
|
|||
conf.history = nil
|
||||
end
|
||||
|
||||
if user_config.store_selection_keys ~= nil then
|
||||
conf.cut_selection_keys = user_config.store_selection_keys
|
||||
|
||||
user_config.store_selection_keys = nil
|
||||
end
|
||||
|
||||
for k, v in pairs(user_config) do
|
||||
conf[k] = v
|
||||
end
|
||||
|
@ -125,15 +131,24 @@ c = {
|
|||
end)
|
||||
end
|
||||
|
||||
if session.config.store_selection_keys then
|
||||
if session.config.cut_selection_keys then
|
||||
vim.cmd(
|
||||
string.format(
|
||||
[[xnoremap <silent> %s %s]],
|
||||
session.config.store_selection_keys,
|
||||
session.config.cut_selection_keys,
|
||||
require("luasnip.util.select").select_keys
|
||||
)
|
||||
)
|
||||
end
|
||||
if session.config.copy_selection_keys then
|
||||
vim.cmd(
|
||||
string.format(
|
||||
[[xnoremap <silent> %s %s]],
|
||||
session.config.copy_selection_keys,
|
||||
require("luasnip.util.select").copy_keys
|
||||
)
|
||||
)
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
|
|
|
@ -110,7 +110,11 @@ return {
|
|||
-- see :h User, event should never be triggered(except if it is `doautocmd`'d)
|
||||
region_check_events = nil,
|
||||
delete_check_events = nil,
|
||||
store_selection_keys = nil, -- Supossed to be the same as the expand shortcut
|
||||
|
||||
-- preserve default of store_selection_keys.
|
||||
copy_selection_keys = nil,
|
||||
cut_selection_keys = nil,
|
||||
|
||||
ext_opts = {
|
||||
[types.textNode] = {
|
||||
active = { hl_group = "LuasnipTextNodeActive" },
|
||||
|
|
|
@ -844,7 +844,8 @@ local ls_lazy = {
|
|||
config = function() return require("luasnip.config") end,
|
||||
multi_snippet = function() return require("luasnip.nodes.multiSnippet").new_multisnippet end,
|
||||
snippet_source = function() return require("luasnip.session.snippet_collection.source") end,
|
||||
select_keys = function() return require("luasnip.util.select").select_keys end
|
||||
select_keys = function() return require("luasnip.util.select").select_keys end,
|
||||
copy_keys = function() return require("luasnip.util.select").copy_keys end
|
||||
}
|
||||
|
||||
ls = lazy_table({
|
||||
|
|
|
@ -61,6 +61,8 @@ end
|
|||
-- Afterwards, we can just use <cmd>lua, which does not change the mode.
|
||||
M.select_keys =
|
||||
[[:lua require("luasnip.util.select").pre_cut()<Cr>gv"zs<cmd>lua require('luasnip.util.select').post_cut("z")<Cr>]]
|
||||
M.copy_keys =
|
||||
[[:lua require("luasnip.util.select").pre_cut()<Cr>gv"zy<cmd>lua require('luasnip.util.select').post_cut("z")<Cr>]]
|
||||
|
||||
local saved_registers
|
||||
local lines
|
||||
|
|
Loading…
Reference in a new issue