aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lua/user
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua/user')
-rw-r--r--.config/nvim/lua/user/keys.lua15
-rw-r--r--.config/nvim/lua/user/mods.lua23
-rw-r--r--.config/nvim/lua/user/pack.lua15
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