working lsp and documentation

This commit is contained in:
2026-07-31 20:12:38 +02:00
parent 3aeb831826
commit 85dfb90e83
10 changed files with 168 additions and 128 deletions
+15 -1
View File
@@ -61,7 +61,7 @@ vim.api.nvim_create_autocmd('FileType', {
pattern = 'qf',
callback = function()
-- Do not show quickfix in buffer lists.
vim.api.nvim_buf_set_option(0, 'buflisted', false)
-- vim.api.nvim_set_opt('buflisted', false)
-- Escape closes quickfix window.
vim.keymap.set(
@@ -77,3 +77,17 @@ vim.api.nvim_create_autocmd('FileType', {
end,
desc = 'Quickfix tweaks',
})
-- @source https://github.com/benlubas/.dotfiles/blob/main/nvim%2Fafter%2Fftplugin%2Fqf.lua
local del_qf_item = function()
local items = vim.fn.getqflist()
local line = vim.fn.line('.')
table.remove(items, line)
vim.fn.setqflist(items, "r")
vim.api.nvim_win_set_cursor(0, { line, 0 })
end
-- this is super basic. I might improve it at some point, but it's good enough for how little I use
-- the QF list
vim.keymap.set("n", "dd", del_qf_item, { silent = true, buffer = true, desc = "Remove entry from QF" })
vim.keymap.set("v", "D", del_qf_item, { silent = true, buffer = true, desc = "Remove entry from QF" })
+25 -2
View File
@@ -14,13 +14,15 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
end
vim.opt.rtp:prepend(lazypath)
-- Due to Telescope loading too fast this must be configured here
vim.g.mapleader = " "
local plugins = {
{
"nvim-telescope/telescope.nvim",
version = "0.2.1",
dependencies = { { "nvim-lua/plenary.nvim" },
dependencies = {
{ "nvim-lua/plenary.nvim" },
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
},
},
@@ -43,6 +45,7 @@ local plugins = {
lazy = true
},
{
-- Use Neovim to input into Browser Textfields
"subnut/nvim-ghost.nvim",
lazy = true
},
@@ -67,6 +70,26 @@ local plugins = {
{ "williamboman/mason.nvim" },
{ "hrsh7th/cmp-nvim-lsp" },
{ "hrsh7th/nvim-cmp" },
{
"L3MON4D3/LuaSnip",
version = "v2.*", -- Replace <CurrentMajor> by the latest released major (first number of latest release)
},
{
"neovim/nvim-lspconfig",
lazy = false,
},
{
"folke/lazydev.nvim",
ft = "lua",
opts = {
library = {
{
path = "${3rd}/luv/library",
words = { "vim%.uv" },
},
},
},
},
{
"goolord/alpha-nvim",
lazy = true,
@@ -75,4 +98,4 @@ local plugins = {
},
}
require("lazy").setup(plugins, {})
require("lazy").setup(plugins, { debug = true })
+54 -71
View File
@@ -1,65 +1,44 @@
vim.g.mapleader = " "
-- vim.g.mapleader = " "
-- This has to be configured inside lazy.lua due to telescope loading before this takes effect
vim.cmd("command! W w")
vim.api.nvim_create_user_command("Mdtf", function(opts)
vim.cmd(string.format("%d,%d!column -t -s '|' -o '|'", opts.line1, opts.line2))
end, {
range = true,
})
vim.keymap.set("v", "<leader>mt", ":!column -t -s '|' -o '|'<CR>", { desc = "Format markdown table" })
-- Navigation
vim.keymap.set("n", "Q", "<nop>", { desc = "Do not quit" }) -- Do not quit :D
vim.keymap.set("i", "<C-c>", "<Esc>") -- Exit insert mode with C-c
vim.keymap.set("n", "<C-f>", "<cmd>silent !tmux display-popup -E \"tmuxss -i\"<CR>") -- open tmuxss switcher
vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" }) -- open file viewer
vim.keymap.set("n", "<C-q>", "<cmd>copen<CR>"); -- Open Quickfixlist
-- Macros
vim.keymap.set("t", "<Esc>", "<C-\\><C-n>") -- use Esc to escape terminal
vim.keymap.set("t", "<Esc>", "<C-\\><C-n>")
-- tnoremap <Esc> <C-\><C-n>
vim.keymap.set("n", "<C-u>", "<C-u>zz") -- Move up a page while keeping the cursor centered
vim.keymap.set("n", "<C-d>", "<C-d>zz") -- Move down a page while keeping the cursor centered
vim.keymap.set("n", "<leader>c", ":w<CR>:!cargo<Space>run<CR>")
vim.keymap.set("n", "n", "nzzzv") -- Jump to next occurance and center cursor
vim.keymap.set("n", "N", "Nzzzv") -- Jump to previous occurance and center cursor
-- vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
vim.keymap.set("n", "<leader>pv", "<CMD>Oil<CR>", { desc = "Open parent directory" })
vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" })
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
vim.keymap.set("n", "<C-A-k>", "<cmd>cprev<CR>zz") -- Previous Quickfixlist entry
vim.keymap.set("n", "<C-A-j>", "<cmd>cnext<CR>zz") -- Next Quickfixlist entry
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
vim.keymap.set("n", "<C-M>", "<cmd>tabnext +<CR>") -- Next tab
vim.keymap.set("n", "<C-N>", "<cmd>tabnext -<CR>") -- Previous Tab
vim.keymap.set("n", "<C-t>", "<cmd>tabnew<CR>") -- Create new Tab
vim.keymap.set("n", "<C-w><C-t>", "<cmd>tabclose<CR>") -- Close the current Tab
vim.keymap.set("n", "J", "mzJ`z")
vim.keymap.set("n", "<C-d>", "<C-d>zz")
vim.keymap.set("n", "<C-u>", "<C-u>zz")
vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv")
-- Text editing
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv") -- Move selected text up one line
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv") -- Move selected text down one line
-- greatest remap ever
vim.keymap.set("x", "<leader>P", "\"_dP")
vim.keymap.set("x", "<leader>p", "\"_dp")
vim.keymap.set("n", "J", "mzJ`z") -- Remove newline characte on current line
-- next greatest remap ever : asbjornHaland
-- to void register (system)
vim.keymap.set("n", "<leader>y", "\"+y")
vim.keymap.set("v", "<leader>y", "\"+y")
vim.keymap.set("n", "<leader>Y", "\"+Y")
vim.keymap.set("v", "<leader>d", "\"_d")
vim.keymap.set("v", "<leader>dd", "\"_d")
vim.keymap.set("n", "<leader>c", ":w<CR>:!cargo<Space>run<CR>") -- Quick Cargo run
vim.keymap.set("n", "<C-\">", "\"\"<Esc>i");
-- This is going to get me cancelled
vim.keymap.set("i", "<C-c>", "<Esc>")
vim.keymap.set("n", "Q", "<nop>")
vim.keymap.set("n", "<C-f>", "<cmd>silent !tmux display-popup -E \"tmuxss -i\"<CR>")
vim.keymap.set("n", "<leader>f", function()
vim.lsp.buf.format()
end)
vim.keymap.set("n", "<C-A-k>", "<cmd>cprev<CR>zz")
vim.keymap.set("n", "<C-A-j>", "<cmd>cnext<CR>zz")
-- vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
-- vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
vim.keymap.set("n", "<leader>s", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>")
-- fuck this thing
for _, mode in ipairs({ "n", "v", "i" }) do
vim.keymap.set(mode, "<RightMouse>", function() end)
vim.keymap.set(mode, "<2-RightMouse>", function() end)
@@ -67,16 +46,36 @@ for _, mode in ipairs({ "n", "v", "i" }) do
vim.keymap.set(mode, "<4-RightMouse>", function() end)
end
vim.keymap.set("n", "<C-M>", "<cmd>tabnext +<CR>")
vim.keymap.set("n", "<C-N>", "<cmd>tabnext -<CR>")
vim.keymap.set("n", "<C-t>", "<cmd>tabnew<CR>")
-- vim.keymap.del("n", "<C-w>d")
-- vim.keymap.del("n", "<C-w><C-d>")
vim.keymap.set("n", "<C-w><C-t>", "<cmd>tabclose<CR>")
-- Goated: Edit the word under the cursor using a substitute
vim.keymap.set("n", "<leader>s", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>")
vim.keymap.set("n", "<space><space>l", "<cmd>source %<CR>")
vim.keymap.set("n", "<space>l", ":.lua<CR>")
vim.keymap.set("v", "<space>l", ":lua<CR>")
-- Yanking and Pasting
-- Yank to + register (system clipboard)
vim.keymap.set("n", "<leader>y", "\"+y")
vim.keymap.set("v", "<leader>y", "\"+y")
vim.keymap.set("n", "<leader>Y", "\"+Y")
-- Delete to void register (no clipboard)
vim.keymap.set("v", "<leader>d", "\"_d")
vim.keymap.set("v", "<leader>dd", "\"_d")
-- currently conflict with searches
-- vim.keymap.set("x", "<leader>P", "\"_dP") -- Paste before without moving selection into the yank register
-- vim.keymap.set("x", "<leader>p", "\"_dp") -- Paste after without moving selection into the yank register
-- Macros
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
-- format a markdown table inside visual selection
vim.api.nvim_create_user_command("Mdtf", function(opts)
vim.cmd(string.format("%d,%d!column -t -s '|' -o '|'", opts.line1, opts.line2))
end, {
range = true,
})
vim.keymap.set("v", "<leader>mt", ":!column -t -s '|' -o '|'<CR>", { desc = "Format markdown table" })
-- Lua editing
vim.keymap.set("n", "<space><space>l", "<cmd>source %<CR>") -- source the current buffer
vim.keymap.set("n", "<space>l", ":.lua<CR>") -- source the current line
vim.keymap.set("v", "<space>l", ":lua<CR>") -- source the visual selection
local function swap_words()
local start = vim.fn.getpos("'<")[2]
@@ -103,19 +102,3 @@ end
vim.keymap.set("v", "<leader>ws", swap_words, { desc = "Swap two words in selection" })
vim.keymap.set("n", "<leader>ws", swap_words, { desc = "Swap two words in selection" })
-- @source https://github.com/benlubas/.dotfiles/blob/main/nvim%2Fafter%2Fftplugin%2Fqf.lua
local del_qf_item = function()
local items = vim.fn.getqflist()
local line = vim.fn.line('.')
table.remove(items, line)
vim.fn.setqflist(items, "r")
vim.api.nvim_win_set_cursor(0, { line, 0 })
end
-- this is super basic. I might improve it at some point, but it's good enough for how little I use
-- the QF list
vim.keymap.set("n", "dd", del_qf_item, { silent = true, buffer = true, desc = "Remove entry from QF" })
vim.keymap.set("v", "D", del_qf_item, { silent = true, buffer = true, desc = "Remove entry from QF" })
vim.keymap.set("n", "<C-q>", "<cmd>copen<CR>");
+2 -5
View File
@@ -1,11 +1,8 @@
-- no more warnings
vim.deprecate = function() end
-- vim.deprecate = function() end
-- vim.opt.guicursor = ""
-- disable netrw header
vim.g.netrw_banner = 0
vim.opt.nu = true
vim.opt.relativenumber = true
@@ -18,7 +15,7 @@ vim.opt.expandtab = true
vim.opt.smartindent = true
vim.opt.wrap = true--false
vim.opt.wrap = true
-- vim.opt.linebreak = true
vim.opt.swapfile = false