Neovim Config Cleanup
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
|
require('functions/api_extensions') -- Needs to be first thing in case any other part of the config needs the extensions
|
||||||
|
|
||||||
require('settings/keymaps')
|
require('settings/keymaps')
|
||||||
require('settings/options')
|
require('settings/options')
|
||||||
|
|
||||||
vim.pack.add(require('plugins'), { load = require('helpers/plugins').load_fn })
|
require('functions/setup_plugins')
|
||||||
|
|
||||||
require('lsps')
|
require('lsps')
|
||||||
|
|
||||||
|
|||||||
42
nvim/.config/nvim/lua/functions/api_extensions.lua
Normal file
42
nvim/.config/nvim/lua/functions/api_extensions.lua
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
-- This file is made to add helper functions to the neovim lua API
|
||||||
|
|
||||||
|
vim.lsp.inlay_hint.toggle = function()
|
||||||
|
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.keymap.get = function(mode, lhs)
|
||||||
|
for _, map in ipairs(vim.api.nvim_get_keymap(mode)) do
|
||||||
|
if map.lhs == lhs then
|
||||||
|
return map
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local keymap_stack = {}
|
||||||
|
|
||||||
|
vim.keymap.push = function(mode, lhs, new_rhs, opts)
|
||||||
|
local key = mode..'::'..lhs
|
||||||
|
keymap_stack[key] = keymap_stack[key] or {}
|
||||||
|
table.insert(keymap_stack[key], vim.keymap.get(mode, lhs))
|
||||||
|
vim.keymap.set(mode, lhs, new_rhs, opts or {})
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.keymap.pop = function(mode, lhs)
|
||||||
|
local key = mode..'::'..lhs
|
||||||
|
local stack = keymap_stack[key]
|
||||||
|
if not stack or #stack == 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
vim.keymap.del(mode, lhs)
|
||||||
|
local old_map = table.remove(stack)
|
||||||
|
if old_map then
|
||||||
|
vim.keymap.set(old_map.mode, old_map.lhs, old_map.rhs, {
|
||||||
|
remap = old_map.remap == 1,
|
||||||
|
silent = old_map.silent == 1,
|
||||||
|
expr = old_map.expr == 1,
|
||||||
|
nowait = old_map.nowait == 1,
|
||||||
|
desc = old_map.desc,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
26
nvim/.config/nvim/lua/functions/setup_plugins.lua
Normal file
26
nvim/.config/nvim/lua/functions/setup_plugins.lua
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
local load_fn = function(plug_data)
|
||||||
|
vim.cmd.packadd(plug_data.spec.name)
|
||||||
|
|
||||||
|
if plug_data.spec.data and plug_data.spec.data.simple_init then
|
||||||
|
require(plug_data.spec.name).setup()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local status, config = pcall(require,'plugins/configs/'..plug_data.spec.name)
|
||||||
|
if status then
|
||||||
|
-- Call the configuration function (if exists)
|
||||||
|
if config.on_load ~= nil then
|
||||||
|
config.on_load()
|
||||||
|
end
|
||||||
|
|
||||||
|
if config.keymaps ~= nil then
|
||||||
|
for _,keymap in pairs(config.keymaps) do
|
||||||
|
vim.keymap.set(keymap.modes or 'n', keymap.keys, keymap.cmd, { desc = keymap.desc })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local plugins = require('plugins')
|
||||||
|
|
||||||
|
vim.pack.add(plugins, { load = load_fn })
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
local saved_maps = {}
|
|
||||||
|
|
||||||
local function get_map(mode, lhs)
|
|
||||||
for _, map in ipairs(vim.api.nvim_get_keymap(mode)) do
|
|
||||||
if map.lhs == lhs then
|
|
||||||
return map
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function push_map(mode, lhs, new_rhs, opts)
|
|
||||||
local old = get_map(mode, lhs)
|
|
||||||
saved_maps[mode .. lhs] = old
|
|
||||||
|
|
||||||
vim.keymap.set(mode, lhs, new_rhs, opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
local function pop_map(mode, lhs)
|
|
||||||
local old = saved_maps[mode .. lhs]
|
|
||||||
|
|
||||||
if old then
|
|
||||||
vim.keymap.set(old.mode, old.lhs, old.rhs or old.callback, {
|
|
||||||
noremap = old.noremap == 1,
|
|
||||||
silent = old.silent == 1,
|
|
||||||
expr = old.expr == 1,
|
|
||||||
nowait = old.nowait == 1,
|
|
||||||
})
|
|
||||||
else
|
|
||||||
vim.keymap.del(mode, lhs)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return {
|
|
||||||
push = push_map,
|
|
||||||
pop = pop_map,
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
return {
|
|
||||||
load_fn = function(plug_data)
|
|
||||||
vim.cmd.packadd(plug_data.spec.name)
|
|
||||||
local status, config = pcall(require,'plugins/configs/'..plug_data.spec.name)
|
|
||||||
if status then
|
|
||||||
-- Call the configuration function (if exists)
|
|
||||||
if config.on_load ~= nil then
|
|
||||||
config.on_load()
|
|
||||||
end
|
|
||||||
|
|
||||||
if config.keymaps ~= nil then
|
|
||||||
for _,keymap in pairs(config.keymaps) do
|
|
||||||
vim.keymap.set(keymap.modes or 'n', keymap.keys, keymap.cmd, { desc = keymap.desc })
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
}
|
|
||||||
@@ -48,7 +48,7 @@ for _, lsp_name in ipairs(enabled_lsps_custom) do
|
|||||||
require("lsps/"..lsp_name)
|
require("lsps/"..lsp_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.pack.add({ 'https://github.com/neovim/nvim-lspconfig' })
|
vim.pack.add({ 'https://github.com/neovim/nvim-lspconfig' }, { confirm = false })
|
||||||
for _, lsp_name in ipairs(enabled_lsps_lspconf) do
|
for _, lsp_name in ipairs(enabled_lsps_lspconf) do
|
||||||
vim.lsp.config[lsp_name] = require('lspconfig.configs.'..lsp_name)
|
vim.lsp.config[lsp_name] = require('lspconfig.configs.'..lsp_name)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
return
|
|
||||||
{
|
|
||||||
-- Configuration function to be run after the plugin is loaded
|
|
||||||
on_load = function()
|
|
||||||
require('lazydev').setup()
|
|
||||||
end,
|
|
||||||
|
|
||||||
-- Keymaps to be set after the plugin is loaded
|
|
||||||
keymaps = {
|
|
||||||
-- { [modes='n'], keys, cmd, desc }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -3,10 +3,6 @@ local leap_backward = function() require('leap').leap { opts = require('leap.use
|
|||||||
|
|
||||||
return
|
return
|
||||||
{
|
{
|
||||||
-- Configuration function to be run after the plugin is loaded
|
|
||||||
on_load = function() end,
|
|
||||||
|
|
||||||
-- Keymaps to be set after the plugin is loaded
|
|
||||||
keymaps = {
|
keymaps = {
|
||||||
{ modes = {'n', 'x', 'o'}, keys = 's', cmd = leap_forward , desc = 'Forward' },
|
{ modes = {'n', 'x', 'o'}, keys = 's', cmd = leap_forward , desc = 'Forward' },
|
||||||
{ modes = {'n', 'x', 'o'}, keys = 'S', cmd = leap_backward, desc = 'Backward' },
|
{ modes = {'n', 'x', 'o'}, keys = 'S', cmd = leap_backward, desc = 'Backward' },
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
return
|
|
||||||
{
|
|
||||||
on_load = function()
|
|
||||||
require('mason').setup()
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -7,5 +7,11 @@ return
|
|||||||
if(vim.o.showtabline ~= 0) then
|
if(vim.o.showtabline ~= 0) then
|
||||||
require('mini.tabline').setup()
|
require('mini.tabline').setup()
|
||||||
end
|
end
|
||||||
|
require('mini.align').setup {
|
||||||
|
mappings = {
|
||||||
|
start = 'gl',
|
||||||
|
start_with_preview = 'gL',
|
||||||
|
},
|
||||||
|
}
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
return
|
|
||||||
{
|
|
||||||
on_load = function()
|
|
||||||
require('nvim-dap-virtual-text').setup()
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -21,18 +21,18 @@ return
|
|||||||
}
|
}
|
||||||
|
|
||||||
dap.listeners.before.attach.key_config = function()
|
dap.listeners.before.attach.key_config = function()
|
||||||
require('helpers/kmstack').push('n', '<Down>', dap.step_over, {})
|
vim.keymap.push('n', '<Down>' , dap.step_over)
|
||||||
require('helpers/kmstack').push('n', '<Up>', dap.restart_frame, {})
|
vim.keymap.push('n', '<Up>' , dap.restart_frame)
|
||||||
require('helpers/kmstack').push('n', '<Right>', dap.step_into, {})
|
vim.keymap.push('n', '<Right>', dap.step_into)
|
||||||
require('helpers/kmstack').push('n', '<Left>', dap.step_out, {})
|
vim.keymap.push('n', '<Left>' , dap.step_out)
|
||||||
end
|
end
|
||||||
dap.listeners.before.launch.key_config = dap.listeners.before.attach.key_config
|
dap.listeners.before.launch.key_config = dap.listeners.before.attach.key_config
|
||||||
|
|
||||||
dap.listeners.after.event_terminated.key_config = function()
|
dap.listeners.after.event_terminated.key_config = function()
|
||||||
require('helpers/kmstack').pop('n', '<Down>')
|
vim.keymap.pop('n', '<Down>')
|
||||||
require('helpers/kmstack').pop('n', '<Up>')
|
vim.keymap.pop('n', '<Up>')
|
||||||
require('helpers/kmstack').pop('n', '<Right>')
|
vim.keymap.pop('n', '<Right>')
|
||||||
require('helpers/kmstack').pop('n', '<Left>')
|
vim.keymap.pop('n', '<Left>')
|
||||||
end
|
end
|
||||||
dap.listeners.after.event_exited.key_config = dap.listeners.after.event_terminated.key_config
|
dap.listeners.after.event_exited.key_config = dap.listeners.after.event_terminated.key_config
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
return
|
|
||||||
{
|
|
||||||
-- Configuration function to be run after the plugin is loaded
|
|
||||||
on_load = function()
|
|
||||||
require('overseer').setup()
|
|
||||||
end,
|
|
||||||
|
|
||||||
-- Keymaps to be set after the plugin is loaded
|
|
||||||
keymaps = {
|
|
||||||
-- { [modes='n'], keys, cmd, desc }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
local function tc(cmd,theme)
|
local function tc(cmd,theme)
|
||||||
return "<cmd>Telescope "..cmd.." theme="..theme.."<CR>"
|
return "<cmd>Telescope "..cmd.." theme="..theme.."<CR>"
|
||||||
end
|
end
|
||||||
|
-- local builtin = require('telescope.builtin')
|
||||||
|
|
||||||
return
|
return
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,30 +1,32 @@
|
|||||||
|
-- If only a simple require(...).setup{} is needed, pass `simple_init = true` in spec.data
|
||||||
return
|
return
|
||||||
{
|
{
|
||||||
|
-- Dependencies
|
||||||
|
'https://github.com/nvim-lua/plenary.nvim', -- For Telescope
|
||||||
|
'https://github.com/nvim-neotest/nvim-nio', -- For nvim-dap-ui
|
||||||
|
|
||||||
-- Colorschemes
|
-- Colorschemes
|
||||||
'https://github.com/shatur/neovim-ayu',
|
'https://github.com/shatur/neovim-ayu',
|
||||||
|
|
||||||
'https://github.com/OXY2DEV/helpview.nvim',
|
'https://github.com/OXY2DEV/helpview.nvim',
|
||||||
|
|
||||||
-- Dependencies
|
|
||||||
'https://github.com/nvim-lua/plenary.nvim', -- For Telescope
|
|
||||||
'https://github.com/nvim-neotest/nvim-nio', -- For nvim-dap-ui
|
|
||||||
|
|
||||||
{ src = 'https://github.com/nvim-mini/mini.nvim', name = 'mini' },
|
{ src = 'https://github.com/nvim-mini/mini.nvim', name = 'mini' },
|
||||||
{ src = 'https://github.com/stevearc/oil.nvim', name = 'oil' },
|
{ src = 'https://github.com/stevearc/oil.nvim', name = 'oil' },
|
||||||
{ src = 'https://github.com/nvim-telescope/telescope.nvim', name = 'telescope' },
|
{ src = 'https://github.com/nvim-telescope/telescope.nvim', name = 'telescope' },
|
||||||
{ src = 'https://github.com/stevearc/overseer.nvim', name = 'overseer' },
|
{ src = 'https://github.com/stevearc/overseer.nvim', name = 'overseer', data = { simple_init = true } },
|
||||||
|
|
||||||
{ src = 'https://codeberg.org/andyg/leap.nvim', name = 'leap' },
|
{ src = 'https://codeberg.org/andyg/leap.nvim', name = 'leap' },
|
||||||
|
|
||||||
-- Debugging Support
|
-- Debugging Support
|
||||||
'https://github.com/mfussenegger/nvim-dap',
|
'https://github.com/mfussenegger/nvim-dap',
|
||||||
'https://github.com/rcarriga/nvim-dap-ui',
|
'https://github.com/rcarriga/nvim-dap-ui',
|
||||||
'https://github.com/theHamsta/nvim-dap-virtual-text',
|
{ src = 'https://github.com/theHamsta/nvim-dap-virtual-text', data = { simple_init = true } },
|
||||||
|
|
||||||
-- Easy Installers
|
-- Easy Installers
|
||||||
'https://github.com/nvim-treesitter/nvim-treesitter',
|
'https://github.com/nvim-treesitter/nvim-treesitter',
|
||||||
{ src = 'https://github.com/mason-org/mason.nvim', name = 'mason' },
|
{ src = 'https://github.com/mason-org/mason.nvim', name = 'mason', data = { simple_init = true } },
|
||||||
|
|
||||||
-- Misc.
|
-- Misc.
|
||||||
{ src = 'https://github.com/folke/lazydev.nvim', name = 'lazydev' },
|
{ src = 'https://github.com/folke/lazydev.nvim', name = 'lazydev', data = { simple_init = true } },
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
local keymap = vim.keymap.set
|
local keymap = vim.keymap.set
|
||||||
|
|
||||||
keymap("", "<Space>", "<Nop>", opts)
|
keymap("", "<Space>", "<Nop>")
|
||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
vim.g.maplocalleader = " "
|
vim.g.maplocalleader = " "
|
||||||
|
|
||||||
@@ -15,90 +15,79 @@ vim.g.maplocalleader = " "
|
|||||||
|
|
||||||
-- Normal --
|
-- Normal --
|
||||||
-- Window Navigation --
|
-- Window Navigation --
|
||||||
keymap("n", "<C-h>", "<C-w>h", {})
|
keymap("n", "<C-h>", "<C-w>h")
|
||||||
keymap("n", "<C-j>", "<C-w>j", {})
|
keymap("n", "<C-j>", "<C-w>j")
|
||||||
keymap("n", "<C-k>", "<C-w>k", {})
|
keymap("n", "<C-k>", "<C-w>k")
|
||||||
keymap("n", "<C-l>", "<C-w>l", {})
|
keymap("n", "<C-l>", "<C-w>l")
|
||||||
|
|
||||||
-- Splits --
|
-- Splits --
|
||||||
keymap("n", "<M-v>", ":vsplit<cr>", {})
|
keymap("n", "<M-v>", ":vsplit<cr>", {silent=true})
|
||||||
keymap("n", "<M-s>", ":split<cr>", {})
|
keymap("n", "<M-s>", ":split<cr>", {silent=true})
|
||||||
|
|
||||||
-- Resize splits --
|
-- Resize splits --
|
||||||
keymap("n", "<M-k>", ":resize +2<cr>", {})
|
keymap("n", "<M-k>", ":resize +2<cr>", {silent=true})
|
||||||
keymap("n", "<M-j>", ":resize -2<cr>", {})
|
keymap("n", "<M-j>", ":resize -2<cr>", {silent=true})
|
||||||
keymap("n", "<M-h>", ":vertical resize -2<cr>", {})
|
keymap("n", "<M-h>", ":vertical resize -2<cr>", {silent=true})
|
||||||
keymap("n", "<M-l>", ":vertical resize +2<cr>", {})
|
keymap("n", "<M-l>", ":vertical resize +2<cr>", {silent=true})
|
||||||
|
|
||||||
-- Navigate buffers --
|
-- Navigate buffers --
|
||||||
keymap("n", "<leader>j", ":bnext<cr>", {})
|
keymap("n", "<leader>j", ":bnext<cr>", {silent=true})
|
||||||
keymap("n", "<leader>k", ":bprevious<cr>", {})
|
keymap("n", "<leader>k", ":bprevious<cr>", {silent=true})
|
||||||
keymap("n", "<leader>d", ":bdelete<cr>", {})
|
keymap("n", "<leader>d", ":bdelete<cr>", {silent=true})
|
||||||
|
|
||||||
-- Faster command --
|
-- Faster command --
|
||||||
keymap("n", ";", ":", {})
|
keymap("n", ";", ":")
|
||||||
|
|
||||||
-- LSP Commands --
|
-- LSP Commands --
|
||||||
keymap("n", "<leader>l?", vim.lsp.buf.hover, {})
|
keymap("n", "<leader>l?", vim.lsp.buf.hover)
|
||||||
keymap("n", "<leader>li", vim.lsp.buf.implementation, {})
|
keymap("n", "<leader>li", vim.lsp.buf.implementation)
|
||||||
keymap("n", "<leader>ld", vim.lsp.buf.definition, {})
|
keymap("n", "<leader>ld", vim.lsp.buf.definition)
|
||||||
keymap("n", "<leader>lD", vim.lsp.buf.declaration, {})
|
keymap("n", "<leader>lD", vim.lsp.buf.declaration)
|
||||||
keymap("n", "<leader>lR", vim.lsp.buf.rename, {})
|
keymap("n", "<leader>lR", vim.lsp.buf.rename)
|
||||||
keymap("n", "<leader>lca", vim.lsp.buf.code_action, {})
|
keymap("n", "<leader>lca", vim.lsp.buf.code_action)
|
||||||
keymap("n", "<leader>lr", vim.lsp.buf.references, {})
|
keymap("n", "<leader>lr", vim.lsp.buf.references)
|
||||||
keymap("n", "<leader>lf", vim.diagnostic.open_float, {})
|
keymap("n", "<leader>lf", vim.diagnostic.open_float)
|
||||||
keymap("n", "<leader>lF", vim.lsp.buf.format, {})
|
keymap("n", "<leader>lF", vim.lsp.buf.format)
|
||||||
keymap("i", "<C-k>", vim.lsp.buf.signature_help, {})
|
keymap("n", "<leader>li", vim.lsp.inlay_hint.toggle)
|
||||||
keymap("i", "<C-space>", vim.lsp.completion.get, {})
|
keymap("i", "<C-k>", vim.lsp.buf.signature_help)
|
||||||
|
keymap("i", "<C-space>", vim.lsp.completion.get)
|
||||||
|
|
||||||
-- Insert --
|
-- Insert --
|
||||||
-- Quicker escape --
|
-- Quicker escape --
|
||||||
keymap("i", "jk", "<ESC>", {})
|
keymap("i", "jk", "<ESC>")
|
||||||
|
|
||||||
-- Move lines --
|
-- Move lines --
|
||||||
keymap("n", "<Left>", "<<", {})
|
keymap("n", "<Left>", "<<")
|
||||||
keymap("n", "<Right>", ">>", {})
|
keymap("n", "<Right>", ">>")
|
||||||
keymap("n", "<Up>", "dd2kp", {})
|
keymap("n", "<Up>", "dd2kp")
|
||||||
keymap("n", "<Down>", "ddp", {})
|
keymap("n", "<Down>", "ddp")
|
||||||
-- Visual --
|
-- Visual --
|
||||||
-- Stay in indent mode --
|
-- Stay in indent mode --
|
||||||
keymap("v", "<Left>", "<gv", {})
|
keymap("v", "<Left>", "<gv")
|
||||||
keymap("v", "<Right>", ">gv", {})
|
keymap("v", "<Right>", ">gv")
|
||||||
-- Move text up and down
|
-- Move text up and down
|
||||||
keymap("v", "<Up>", ":move '<-2<CR>gv-gv", {})
|
keymap("v", "<Up>", ":move '<-2<CR>gv-gv", {silent=true})
|
||||||
keymap("v", "<Down>", ":move '>+1<CR>gv-gv", {})
|
keymap("v", "<Down>", ":move '>+1<CR>gv-gv", {silent=true})
|
||||||
|
|
||||||
-- Paste overwrite selection
|
-- Paste overwrite selection
|
||||||
keymap("v", "p", '"_dP', {})
|
keymap("v", "p", '"_dP', {})
|
||||||
|
|
||||||
-- Terminal --
|
-- Terminal --
|
||||||
-- Better terminal navigation --
|
-- Better terminal navigation --
|
||||||
keymap("t", "<C-h>", "<C-\\><C-N><C-w>h", {})
|
keymap("t", "<C-h>", "<C-\\><C-N><C-w>h")
|
||||||
keymap("t", "<C-j>", "<C-\\><C-N><C-w>j", {})
|
keymap("t", "<C-j>", "<C-\\><C-N><C-w>j")
|
||||||
keymap("t", "<C-k>", "<C-\\><C-N><C-w>k", {})
|
keymap("t", "<C-k>", "<C-\\><C-N><C-w>k")
|
||||||
keymap("t", "<C-l>", "<C-\\><C-N><C-w>l", {})
|
keymap("t", "<C-l>", "<C-\\><C-N><C-w>l")
|
||||||
|
|
||||||
-- -------------------------------------------------------------------------------------
|
-- -------------------------------------------------------------------------------------
|
||||||
-- -------------------------------------------------------------------------------------
|
-- -------------------------------------------------------------------------------------
|
||||||
|
|
||||||
-- Tab Overloads
|
-- Tab Overloads
|
||||||
keymap("i", "<Tab>",
|
keymap("i", "<Tab>", function()
|
||||||
function()
|
return vim.fn.pumvisible() == 0 and '<Tab>' or '<C-n>'
|
||||||
if vim.fn.pumvisible() == 1 then
|
end, { expr = true }
|
||||||
return '<C-n>'
|
|
||||||
else
|
|
||||||
return '<Tab>'
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
{ expr = true, noremap = true, silent = true }
|
|
||||||
)
|
)
|
||||||
keymap("i", "<S-Tab>",
|
keymap("i", "<S-Tab>", function()
|
||||||
function()
|
return vim.fn.pumvisible() == 0 and '<S-Tab>' or '<C-p>'
|
||||||
if vim.fn.pumvisible() == 1 then
|
end, { expr = true }
|
||||||
return '<C-p>'
|
|
||||||
else
|
|
||||||
return '<S-Tab>'
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
{ expr = true, noremap = true, silent = true }
|
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user