updates
This commit is contained in:
parent
552ecb6608
commit
5c547d92cc
3 changed files with 502 additions and 477 deletions
|
@ -20,7 +20,24 @@ require("util").keymaps({
|
||||||
["<return>"] = { ":noh<CR><return>", desc = "Clear search on return" },
|
["<return>"] = { ":noh<CR><return>", desc = "Clear search on return" },
|
||||||
["<leader>a"] = { "ggVG", desc = "Select all" },
|
["<leader>a"] = { "ggVG", desc = "Select all" },
|
||||||
["<leader>w"] = { "<cmd>w<cr>", desc = "Save" },
|
["<leader>w"] = { "<cmd>w<cr>", desc = "Save" },
|
||||||
["<leader>qq"] = { "<cmd>confirm q<cr>", desc = "Quit" },
|
["<leader>qq"] = {
|
||||||
|
function()
|
||||||
|
-- Use to have this which always closed and quit ont he last screen: "<cmd>confirm q<cr>"
|
||||||
|
-- Instead I want this behavior:
|
||||||
|
-- if only 1 screen is open then close all buffers, resulting in a blank unamed buffer window similar to fresh session
|
||||||
|
-- else if more than 1 screen, confirm q to close that screen
|
||||||
|
-- Check the number of screens
|
||||||
|
if vim.fn.winnr("$") == 1 then
|
||||||
|
-- If only 1 screen is open then close all buffers, resulting in a blank unnamed buffer window similar to fresh session
|
||||||
|
vim.cmd("bufdo bd")
|
||||||
|
vim.cmd("SessionDelete")
|
||||||
|
else
|
||||||
|
-- If more than 1 screen, confirm q to close that screen
|
||||||
|
vim.cmd("confirm q")
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
desc = "Quit ",
|
||||||
|
},
|
||||||
["<leader>bq"] = { "<cmd>bp|bd #<cr>", desc = "Close current buffer only" },
|
["<leader>bq"] = { "<cmd>bp|bd #<cr>", desc = "Close current buffer only" },
|
||||||
["<leader>tn"] = { "<cmd>tabnew<cr>", desc = "Create new tab" },
|
["<leader>tn"] = { "<cmd>tabnew<cr>", desc = "Create new tab" },
|
||||||
["<leader>tq"] = { "<cmd>tabclose<cr>", desc = "Close current tab" },
|
["<leader>tq"] = { "<cmd>tabclose<cr>", desc = "Close current tab" },
|
||||||
|
@ -30,7 +47,7 @@ require("util").keymaps({
|
||||||
["<C-u>"] = { "<C-u>zz", desc = "Vertical half page up and center cursor" },
|
["<C-u>"] = { "<C-u>zz", desc = "Vertical half page up and center cursor" },
|
||||||
["<leader>y"] = { '"*y', desc = "Copy to system clipboard" },
|
["<leader>y"] = { '"*y', desc = "Copy to system clipboard" },
|
||||||
["<leader>p"] = { '"*p', desc = "Paste from system clipboard" },
|
["<leader>p"] = { '"*p', desc = "Paste from system clipboard" },
|
||||||
["<leader>Q"] = { "<cmd>Neotree close<cr><cmd>qa<CR>", desc = "Quit all" },
|
-- ["<leader>Q"] = { "<cmd>Neotree close<cr><cmd>qa<CR>", desc = "Quit all" },
|
||||||
["<leader>q<leader>"] = { "<cmd>Neotree close<cr><cmd>qa<CR>", desc = "Quit all" },
|
["<leader>q<leader>"] = { "<cmd>Neotree close<cr><cmd>qa<CR>", desc = "Quit all" },
|
||||||
["J"] = { "mzJ`z", desc = "Move line below onto this line" },
|
["J"] = { "mzJ`z", desc = "Move line below onto this line" },
|
||||||
["<S-Tab>"] = { "<C-o>", desc = "Go back <C-o>" },
|
["<S-Tab>"] = { "<C-o>", desc = "Go back <C-o>" },
|
||||||
|
|
|
@ -98,13 +98,23 @@ local on_attach = function(client, bufnr)
|
||||||
vim.keymap.set("n", keys, func, { buffer = bufnr, desc = desc })
|
vim.keymap.set("n", keys, func, { buffer = bufnr, desc = desc })
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local cursor_layout = {
|
||||||
|
layout_strategy = "cursor",
|
||||||
|
layout_config = { width = 0.25, height = 0.35 },
|
||||||
|
}
|
||||||
|
|
||||||
nmap("<leader>lr", vim.lsp.buf.rename, "[R]ename")
|
nmap("<leader>lr", vim.lsp.buf.rename, "[R]ename")
|
||||||
nmap("<leader>la", vim.lsp.buf.code_action, "Code [A]ction")
|
nmap("<leader>la", vim.lsp.buf.code_action, "Code [A]ction")
|
||||||
|
|
||||||
nmap("gd", vim.lsp.buf.definition, "[G]oto [D]efinition")
|
-- I dont like the default vim quickfix buffer opening for goto defintiion so use telescope
|
||||||
|
-- nmap("gd", vim.lsp.buf.definition, "[G]oto [D]efinition")
|
||||||
|
nmap("gd", function()
|
||||||
|
require("telescope.builtin").lsp_definitions(cursor_layout)
|
||||||
|
end, "[G]oto [D]efinition")
|
||||||
nmap("gr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
|
nmap("gr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
|
||||||
nmap("gI", vim.lsp.buf.implementation, "[G]oto [I]mplementation")
|
nmap("gI", function()
|
||||||
nmap("<leader>D", vim.lsp.buf.type_definition, "Type [D]efinition")
|
require("telescope.builtin").lsp_implementations(cursor_layout)
|
||||||
|
end, "[G]oto [I]mplementation")
|
||||||
|
|
||||||
-- See `:help K` for why this keymap
|
-- See `:help K` for why this keymap
|
||||||
nmap("K", vim.lsp.buf.hover, "Hover Documentation")
|
nmap("K", vim.lsp.buf.hover, "Hover Documentation")
|
||||||
|
@ -136,7 +146,7 @@ return {
|
||||||
history = true,
|
history = true,
|
||||||
region_check_events = "InsertEnter",
|
region_check_events = "InsertEnter",
|
||||||
delete_check_events = "TextChanged,InsertLeave",
|
delete_check_events = "TextChanged,InsertLeave",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
-- Autocompletion
|
-- Autocompletion
|
||||||
|
@ -278,28 +288,23 @@ return {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
-- Window borders for visibility
|
-- Window borders for visibility
|
||||||
local _border = "single"
|
local _border = "single"
|
||||||
|
|
||||||
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(
|
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
|
||||||
vim.lsp.handlers.hover, {
|
border = _border,
|
||||||
border = _border
|
})
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(
|
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
|
||||||
vim.lsp.handlers.signature_help, {
|
border = _border,
|
||||||
border = _border
|
})
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
vim.diagnostic.config {
|
vim.diagnostic.config({
|
||||||
float = { border = _border }
|
float = { border = _border },
|
||||||
}
|
})
|
||||||
|
|
||||||
require('lspconfig.ui.windows').default_options = {
|
require("lspconfig.ui.windows").default_options = {
|
||||||
border = _border
|
border = _border,
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
|
@ -43,7 +43,9 @@ return {
|
||||||
{
|
{
|
||||||
"<leader>fg",
|
"<leader>fg",
|
||||||
function()
|
function()
|
||||||
require("telescope.builtin").git_files()
|
require("telescope.builtin").git_files({
|
||||||
|
hidden = true,
|
||||||
|
})
|
||||||
end,
|
end,
|
||||||
desc = "Find Git only Files",
|
desc = "Find Git only Files",
|
||||||
},
|
},
|
||||||
|
@ -54,7 +56,7 @@ return {
|
||||||
vim.notify("rg not installed, live grep will not function.", 3)
|
vim.notify("rg not installed, live grep will not function.", 3)
|
||||||
end
|
end
|
||||||
require("telescope.builtin").live_grep({
|
require("telescope.builtin").live_grep({
|
||||||
grep_open_files = true,
|
hidden = true,
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
desc = "Find Words",
|
desc = "Find Words",
|
||||||
|
@ -85,7 +87,8 @@ return {
|
||||||
function()
|
function()
|
||||||
require("telescope.builtin").lsp_references()
|
require("telescope.builtin").lsp_references()
|
||||||
end,
|
end,
|
||||||
desc = "Find References", mode ={"n", "v", "x"}
|
desc = "Find References",
|
||||||
|
mode = { "n", "v", "x" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue