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" },
|
||||
["<leader>a"] = { "ggVG", desc = "Select all" },
|
||||
["<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>tn"] = { "<cmd>tabnew<cr>", desc = "Create new 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" },
|
||||
["<leader>y"] = { '"*y', desc = "Copy to 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" },
|
||||
["J"] = { "mzJ`z", desc = "Move line below onto this line" },
|
||||
["<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 })
|
||||
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>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("gI", vim.lsp.buf.implementation, "[G]oto [I]mplementation")
|
||||
nmap("<leader>D", vim.lsp.buf.type_definition, "Type [D]efinition")
|
||||
nmap("gI", function()
|
||||
require("telescope.builtin").lsp_implementations(cursor_layout)
|
||||
end, "[G]oto [I]mplementation")
|
||||
|
||||
-- See `:help K` for why this keymap
|
||||
nmap("K", vim.lsp.buf.hover, "Hover Documentation")
|
||||
|
@ -136,7 +146,7 @@ return {
|
|||
history = true,
|
||||
region_check_events = "InsertEnter",
|
||||
delete_check_events = "TextChanged,InsertLeave",
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
-- Autocompletion
|
||||
|
@ -278,28 +288,23 @@ return {
|
|||
},
|
||||
})
|
||||
|
||||
|
||||
-- Window borders for visibility
|
||||
local _border = "single"
|
||||
|
||||
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(
|
||||
vim.lsp.handlers.hover, {
|
||||
border = _border
|
||||
}
|
||||
)
|
||||
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
|
||||
border = _border,
|
||||
})
|
||||
|
||||
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(
|
||||
vim.lsp.handlers.signature_help, {
|
||||
border = _border
|
||||
}
|
||||
)
|
||||
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
|
||||
border = _border,
|
||||
})
|
||||
|
||||
vim.diagnostic.config {
|
||||
float = { border = _border }
|
||||
}
|
||||
vim.diagnostic.config({
|
||||
float = { border = _border },
|
||||
})
|
||||
|
||||
require('lspconfig.ui.windows').default_options = {
|
||||
border = _border
|
||||
require("lspconfig.ui.windows").default_options = {
|
||||
border = _border,
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
|
|
@ -43,7 +43,9 @@ return {
|
|||
{
|
||||
"<leader>fg",
|
||||
function()
|
||||
require("telescope.builtin").git_files()
|
||||
require("telescope.builtin").git_files({
|
||||
hidden = true,
|
||||
})
|
||||
end,
|
||||
desc = "Find Git only Files",
|
||||
},
|
||||
|
@ -54,7 +56,7 @@ return {
|
|||
vim.notify("rg not installed, live grep will not function.", 3)
|
||||
end
|
||||
require("telescope.builtin").live_grep({
|
||||
grep_open_files = true,
|
||||
hidden = true,
|
||||
})
|
||||
end,
|
||||
desc = "Find Words",
|
||||
|
@ -85,7 +87,8 @@ return {
|
|||
function()
|
||||
require("telescope.builtin").lsp_references()
|
||||
end,
|
||||
desc = "Find References", mode ={"n", "v", "x"}
|
||||
desc = "Find References",
|
||||
mode = { "n", "v", "x" },
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue