diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 6040620..2b9eda8 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -21,12 +21,11 @@ require('plugins') -- [ ] telescope -- [ ] zen-mode.nvim (goyo) -- [ ] status line --- [ ] chadtree keymap --- [ ] lspsaga +-- [X] lspsaga -- [ ] lightspeed.nvim or hop.nvim -- [ ] lightbulb --- [ ] glow.nvim (markdown preview) --- [ ] auto-session +-- [X] glow.nvim (markdown preview) +-- [X] auto-session -- [ ] shade.nvim -- [ ] presence.nvim (discord presence) -- [ ] trouble.nvim diff --git a/.config/nvim/lua/lsp.lua b/.config/nvim/lua/lsp.lua index ec223d7..376ceea 100644 --- a/.config/nvim/lua/lsp.lua +++ b/.config/nvim/lua/lsp.lua @@ -195,24 +195,23 @@ M.lspconfig = function() local opts = { noremap=true, silent=true } -- See `:help vim.lsp.*` for documentation on any of the below functions - buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) - buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) - buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) - buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', opts) - buf_set_keymap('n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', opts) - buf_set_keymap('n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()', opts) - buf_set_keymap('n', 'wl', 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', opts) - buf_set_keymap('n', 'D', 'lua vim.lsp.buf.type_definition()', opts) - buf_set_keymap('n', 'rn', 'lua vim.lsp.buf.rename()', opts) - buf_set_keymap('n', 'ca', 'lua vim.lsp.buf.code_action()', opts) - buf_set_keymap('n', 'gr', 'lua vim.lsp.buf.references()', opts) - buf_set_keymap('n', 'e', 'lua vim.lsp.diagnostic.show_line_diagnostics()', opts) - buf_set_keymap('n', '[d', 'lua vim.lsp.diagnostic.goto_prev()', opts) - buf_set_keymap('n', ']d', 'lua vim.lsp.diagnostic.goto_next()', opts) - buf_set_keymap('n', 'q', 'lua vim.lsp.diagnostic.set_loclist()', opts) - buf_set_keymap('n', 'f', 'lua vim.lsp.buf.formatting()', opts) - + buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) + buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) + buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) + buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', opts) + buf_set_keymap('n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', opts) + buf_set_keymap('n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()', opts) + buf_set_keymap('n', 'wl', 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', opts) + buf_set_keymap('n', 'D', 'lua vim.lsp.buf.type_definition()', opts) + buf_set_keymap('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + buf_set_keymap('n', 'ca', 'lua vim.lsp.buf.code_action()', opts) + buf_set_keymap('n', 'gr', 'lua vim.lsp.buf.references()', opts) + buf_set_keymap('n', 'e', 'lua vim.lsp.diagnostic.show_line_diagnostics()', opts) + buf_set_keymap('n', '[d', 'lua vim.lsp.diagnostic.goto_prev()', opts) + buf_set_keymap('n', ']d', 'lua vim.lsp.diagnostic.goto_next()', opts) + buf_set_keymap('n', 'q', 'lua vim.lsp.diagnostic.set_loclist()', opts) + buf_set_keymap('n', 'f', 'lua vim.lsp.buf.formatting()', opts) end -- Use a loop to conveniently call 'setup' on multiple servers and @@ -232,14 +231,14 @@ end -- <<< M.dap = function() -- default keybinds vim.cmd [[ - nnoremap b lua require'dap'.continue() - nnoremap bo lua require'dap'.step_over() - nnoremap bi lua require'dap'.step_into() - nnoremap bO lua require'dap'.step_out() - nnoremap bb lua require'dap'.toggle_breakpoint() - nnoremap bB lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition ')) - nnoremap blp lua require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message ')) - nnoremap dl lua require'dap'.run_last() + nnoremap d lua require'dap'.continue() + nnoremap dj lua require'dap'.step_over() + nnoremap dl lua require'dap'.step_into() + nnoremap dk lua require'dap'.step_out() + nnoremap dbb lua require'dap'.toggle_breakpoint() + nnoremap dbc lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition ')) + nnoremap dbl lua require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message ')) + nnoremap dp lua require'dap'.run_last() nnoremap dr lua require'dap'.repl.open() ]] local dap = require('dap') diff --git a/.config/nvim/lua/other.lua b/.config/nvim/lua/other.lua index 142f6c3..34e7939 100644 --- a/.config/nvim/lua/other.lua +++ b/.config/nvim/lua/other.lua @@ -103,19 +103,22 @@ M.gitsigns = function() ['n [c'] = { expr = true, "&diff ? '[c' : 'lua require\"gitsigns.actions\".prev_hunk()'"}, ['n hs'] = 'lua require"gitsigns".stage_hunk()', - ['v hs'] = 'lua require"gitsigns".stage_hunk({vim.fn.line("."), vim.fn.line("v")})', ['n hu'] = 'lua require"gitsigns".undo_stage_hunk()', ['n hr'] = 'lua require"gitsigns".reset_hunk()', + + ['v hs'] = 'lua require"gitsigns".stage_hunk({vim.fn.line("."), vim.fn.line("v")})', ['v hr'] = 'lua require"gitsigns".reset_hunk({vim.fn.line("."), vim.fn.line("v")})', - ['n hR'] = 'lua require"gitsigns".reset_buffer()', + ['n hp'] = 'lua require"gitsigns".preview_hunk()', ['n hb'] = 'lua require"gitsigns".blame_line(true)', + ['n hS'] = 'lua require"gitsigns".stage_buffer()', + ['n hR'] = 'lua require"gitsigns".reset_buffer()', ['n hU'] = 'lua require"gitsigns".reset_buffer_index()', -- Text objects - ['o ih'] = ':lua require"gitsigns.actions".select_hunk()', - ['x ih'] = ':lua require"gitsigns.actions".select_hunk()' + ['o ih'] = 'lua require"gitsigns.actions".select_hunk()', + ['x ih'] = 'lua require"gitsigns.actions".select_hunk()' }, watch_index = { interval = 1000, @@ -158,10 +161,15 @@ M.autosession = function() auto_session_enabled = true, auto_save_enabled = false, auto_restore_enabled = true, - auto_session_suppress_dirs = nil + auto_session_suppress_dirs = nil, } require('auto-session').setup(opts) - vim.cmd 'command! SessionSave SaveSession' + -- save some more things. notably options, resize, winpos, and terminal + vim.o.sessionoptions="blank,buffers,curdir,folds,help,options,tabpages,winsize,resize,winpos,terminal" + -- So I don't forget which one it is + vim.cmd 'command! SessionSave SaveSession' + vim.cmd 'command! SessionDelete DeleteSession' + vim.cmd 'command! SessionRestore RestoreSession' end -- <<< return M diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 8e65a67..970edd1 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -45,13 +45,13 @@ return require('packer').startup(function() -- end, 0) -- end, } - use { -- DAP: Debug Adapter Protocol >>> + use { -- DAP: Debug Adapter Protocol "mfussenegger/nvim-dap", config = function() require("lsp").dap() end } - use { + use { -- DAP adapter installer "Pocco81/DAPInstall.nvim", config = function() require("lsp").dapinstall() diff --git a/.config/nvim/lua/settings.lua b/.config/nvim/lua/settings.lua index 51743fd..ae9c57f 100644 --- a/.config/nvim/lua/settings.lua +++ b/.config/nvim/lua/settings.lua @@ -58,21 +58,24 @@ vim.cmd [[ """ Key bindings let mapleader = " " - " *sigh*... + + " *sigh*... command! Q q command! W w command! Wq wq command! WQ wq - " nnoremap ; : - " vnoremap ; : - " Press Alt h to toggle highlighting on/off, and show current value. + + " Press Alt h to toggle highlighting on/off, and show current value. noremap set hlsearch! hlsearch? noremap set spell! spell? - " Escape to enter normal mode in the terminal + + " Escape to enter normal mode in the terminal tnoremap - " Replace with alt S + + " Replace with alt S nnoremap :%s//g - " Move lines around in visual mode with J and K + + " Move lines around in visual mode with J and K vnoremap J :m '>+1gv=gv vnoremap K :m '<-2gv=gv