diff options
Diffstat (limited to '.config/nvim/lua/user')
| -rw-r--r-- | .config/nvim/lua/user/keys.lua | 15 | ||||
| -rw-r--r-- | .config/nvim/lua/user/mods.lua | 23 | ||||
| -rw-r--r-- | .config/nvim/lua/user/pack.lua | 15 |
3 files changed, 48 insertions, 5 deletions
diff --git a/.config/nvim/lua/user/keys.lua b/.config/nvim/lua/user/keys.lua index fe9e3af..4b6e9ef 100644 --- a/.config/nvim/lua/user/keys.lua +++ b/.config/nvim/lua/user/keys.lua @@ -177,6 +177,17 @@ map("n", "<leader>cd", ":cd %:p:h<CR>:pwd<CR>") -- Open the current file in the default program (on Mac this should just be just `open`) map('n', '<leader>o', ':!xdg-open %<cr><cr>') +-- URL handling +if vim.fn.has("mac") == 1 then + map("", "gx", '<Cmd>call jobstart(["open", expand("<cfile>")], {"detach": v:true})<CR>', {}) +elseif vim.fn.has("unix") == 1 then + map("", "gx", '<Cmd>call jobstart(["xdg-open", expand("<cfile>")], {"detach": v:true})<CR>', {}) +elseif vim.fn.has("wsl") == 1 then + map("", "gx", '<Cmd>call jobstart(["wslview", expand("<cfile>")], {"detach": v:true})<CR>', {}) +else + map[''].gx = {'<Cmd>lua print("Error: gx is not supported on this OS!")<CR>'} +end + -- Toggle completion map("n", "<Leader>tc", ":lua require('user.mods').toggle_completion()<CR>") @@ -372,8 +383,8 @@ map("n", "<leader>de", function() end) -- Dashboard -map("n", "<leader>db", "<CMD>Dashboard<CR>") +map("n", "<leader><Space>", "<CMD>Dashboard<CR>") --- +-- Lsp Lines toggle map("", "<Leader>l", require("lsp_lines").toggle, { desc = "Toggle lsp_lines" }) diff --git a/.config/nvim/lua/user/mods.lua b/.config/nvim/lua/user/mods.lua index 0be0783..8a1f3f3 100644 --- a/.config/nvim/lua/user/mods.lua +++ b/.config/nvim/lua/user/mods.lua @@ -27,6 +27,29 @@ end -------------------------------------------------- + +-- Format on save +local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) +require("null-ls").setup({ + -- you can reuse a shared lspconfig on_attach callback here + on_attach = function(client, bufnr) + if client.supports_method("textDocument/formatting") then + vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) + vim.api.nvim_create_autocmd("BufWritePre", { + group = augroup, + buffer = bufnr, + callback = function() + -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead + vim.lsp.buf.formatting_seq_sync() + end, + }) + end + end, +}) + + +-------------------------------------------------- + ---Determine if a value of any type is empty ---@param item any ---@return boolean? diff --git a/.config/nvim/lua/user/pack.lua b/.config/nvim/lua/user/pack.lua index 249796b..50ed41e 100644 --- a/.config/nvim/lua/user/pack.lua +++ b/.config/nvim/lua/user/pack.lua @@ -77,6 +77,15 @@ return packer.startup(function(use) use("mfussenegger/nvim-dap") -- Debug Adapter Protocol client implementation for Neovim use("rcarriga/nvim-dap-ui") -- UI for nvim-dap use("gabrielpoca/replacer.nvim") + use({ + "jayp0521/mason-nvim-dap.nvim", + config = function() + require("mason-nvim-dap").setup({ + automatic_installation = true, + ensure_installed = { "python", "cppdbg", "codelldb" }, + }) + end, + }) -- Linters/Formatters use("jay-babu/mason-null-ls.nvim") @@ -197,9 +206,9 @@ return packer.startup(function(use) -- end --}) use({ - 'glepnir/dashboard-nvim', - event = 'VimEnter', - requires = {'nvim-tree/nvim-web-devicons'} + 'glepnir/dashboard-nvim', + event = 'VimEnter', + requires = {'nvim-tree/nvim-web-devicons'} }) use("rcarriga/nvim-notify") -- Notification plugin use("karb94/neoscroll.nvim") -- Faster/smooth scrolling |
