aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nvim/.config
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-12-22 18:08:19 -0600
committerToby Vincent <tobyv13@gmail.com>2022-12-22 18:09:23 -0600
commitb99851f43c9abb7395a25590fe003de8be999d2f (patch)
treedd752a3a2e9abe102d7f109238099abdcc2b6473 /nvim/.config
parentcf52b8c2dd6a2f4935e105c4b40dfcf5df0c77ac (diff)
feat(nvim,lazy,wip): start converting plugins to lazyload
Diffstat (limited to 'nvim/.config')
-rw-r--r--nvim/.config/nvim/lazy-lock.json17
-rw-r--r--nvim/.config/nvim/lua/tobyvin.lua16
-rw-r--r--nvim/.config/nvim/lua/tobyvin/diagnostic.lua14
-rw-r--r--nvim/.config/nvim/lua/tobyvin/lazy.lua21
-rw-r--r--nvim/.config/nvim/lua/tobyvin/lsp.lua19
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins.lua50
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/alpha.lua27
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/cmp.lua7
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/dap.lua136
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/dressing.lua4
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/gruvbox.lua2
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/indent_blankline.lua9
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua4
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua1
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/neodev.lua14
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/notify.lua9
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/nvim-navic.lua7
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/refactoring.lua15
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua43
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/session_manager.lua1
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua87
-rw-r--r--nvim/.config/nvim/lua/tobyvin/utils.lua24
-rw-r--r--nvim/.config/nvim/lua/tobyvin/utils/hover.lua2
23 files changed, 288 insertions, 241 deletions
diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json
index b1afe13..7248728 100644
--- a/nvim/.config/nvim/lazy-lock.json
+++ b/nvim/.config/nvim/lazy-lock.json
@@ -23,21 +23,21 @@
"dressing.nvim": { "branch": "master", "commit": "4436d6f41e2f6b8ada57588acd1a9f8b3d21453c" },
"fidget.nvim": { "branch": "main", "commit": "44585a0c0085765195e6961c15529ba6c5a2a13b" },
"friendly-snippets": { "branch": "main", "commit": "1a6a02350568d6830bcfa167c72f9b6e75e454ae" },
- "fzf": { "branch": "master", "commit": "fd1f7665a77f3bd062586f0f3b54d4ff9863dd4b" },
+ "fzf": { "branch": "master", "commit": "73162a4bc3403e3532afa8a95008a3b4a00d554a" },
"git-conflict.nvim": { "branch": "main", "commit": "77faa75c09a6af88e7b54d8d456327e06611f7ea" },
"gitsigns.nvim": { "branch": "main", "commit": "2ab3bdf0a40bab53033048c6be75bda86316b55d" },
"gruvbox.nvim": { "branch": "main", "commit": "c64ec557672c9c8ecc71a438533525482021377f" },
"harpoon": { "branch": "master", "commit": "21d0d1bfa3000e4384740bfaefa0ebc51c773786" },
"indent-blankline.nvim": { "branch": "master", "commit": "c4c203c3e8a595bc333abaf168fcb10c13ed5fb7" },
- "lazy.nvim": { "branch": "main", "commit": "72b38999bc547a96c769d1de964a846570cfe5d1" },
+ "lazy.nvim": { "branch": "main", "commit": "e5dcc871491eadc5ed98e633afc519670e71c4a1" },
"lsp_signature.nvim": { "branch": "master", "commit": "600b2729ad8649d0745c76c55f5fd7586713d6dd" },
"lspkind-nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" },
- "lualine.nvim": { "branch": "master", "commit": "bfa0d99ba6f98d077dd91779841f1c88b7b5c165" },
+ "lualine.nvim": { "branch": "master", "commit": "fffbcb829288c3ca366f17cdb8d46aefb5c1d6f3" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "5bea0e851b8f48479d2cb927cd26733b4058b2b3" },
- "mason-null-ls.nvim": { "branch": "main", "commit": "0fcc40394b8d0f525a8be587268cbfac3e70a5bc" },
+ "mason-null-ls.nvim": { "branch": "main", "commit": "4480bc59b72866376fc2f83048a932fa598d89a8" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "d6cb770928b5cb9a6e3880d6bbb58858c1deeb18" },
"mason-update-all": { "branch": "main", "commit": "7cd70d89588ebcdec3d05a1ce820a9c8c5b667b6" },
- "mason.nvim": { "branch": "main", "commit": "ba8f01835cdcf512d5ab1abb1dcedfaf7c07b99e" },
+ "mason.nvim": { "branch": "main", "commit": "e6f6f901959d39d112b096d26b909c65723981d3" },
"neodev.nvim": { "branch": "main", "commit": "c5f0a814abf89b5b1e3cfed95322813939bdc0c5" },
"neogit": { "branch": "master", "commit": "0d6002c6af432343937283fb70791fc76fa7227c" },
"neovim-session-manager": { "branch": "master", "commit": "f8c85da390c5d1ad3bfd229ac2ed805c5742263d" },
@@ -50,17 +50,18 @@
"nvim-dap-go": { "branch": "main", "commit": "bd9823da22165ea4aa7ec232e8c3a9b3158e017a" },
"nvim-dap-python": { "branch": "master", "commit": "d4400d075c21ed8fb8e8ac6a5ff56f58f6e93531" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "2971ce3e89b1711cc26e27f73d3f854b559a77d4" },
- "nvim-lspconfig": { "branch": "master", "commit": "5292d60976b3084a987bf5634150f6201830ac18" },
+ "nvim-lspconfig": { "branch": "master", "commit": "25f0c65bd8fddadbafd0048a68560bf160ceb98c" },
"nvim-navic": { "branch": "master", "commit": "7a2b823152fe4de65ee7925b0e32d26ed73bc57c" },
"nvim-notify": { "branch": "master", "commit": "b005821516f1f37801a73067afd1cef2dbc4dfe8" },
- "nvim-treesitter": { "branch": "master", "commit": "9efc2dffc3367e0c724b628675ca7cac13357dc6" },
+ "nvim-treesitter": { "branch": "master", "commit": "895d4a1202f36df561ba032c93b9deb72e1edee8" },
"nvim-treesitter-context": { "branch": "master", "commit": "d28654b012d4c56beafec630ef7143275dff76f8" },
- "nvim-treesitter-textobjects": { "branch": "master", "commit": "e2ee8fd7259389deaa898d1216fdc6846a26c627" },
+ "nvim-treesitter-textobjects": { "branch": "master", "commit": "a2e436d88d1880da6678049316e4c45135901866" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "32d9627123321db65a4f158b72b757bcaef1a3f4" },
"nvim-ts-hint-textobject": { "branch": "master", "commit": "ad03c877903835a2ca9635accab47bff8be21b18" },
"nvim-web-devicons": { "branch": "master", "commit": "05e1072f63f6c194ac6e867b567e6b437d3d4622" },
"playground": { "branch": "master", "commit": "3421bbbfec25a7c54ee041ffb9cb226b69b2b995" },
"plenary.nvim": { "branch": "master", "commit": "4b7e52044bbb84242158d977a50c4cbcd85070c7" },
+ "refactoring.nvim": { "branch": "master", "commit": "7be4a45187cce4fa03e161fb70429d771a241617" },
"ripgrep": { "branch": "master", "commit": "61101289fabc032fd8e90009c41d0b78e6dfc9a2" },
"rust-tools.nvim": { "branch": "master", "commit": "99fd1238c6068d0637df30b6cee9a264334015e9" },
"scope.nvim": { "branch": "main", "commit": "2db6d31de8e3a98d2b41c0f0d1f5dc299ee76875" },
diff --git a/nvim/.config/nvim/lua/tobyvin.lua b/nvim/.config/nvim/lua/tobyvin.lua
index 78f0fa7..6a3e2e0 100644
--- a/nvim/.config/nvim/lua/tobyvin.lua
+++ b/nvim/.config/nvim/lua/tobyvin.lua
@@ -1,8 +1,14 @@
require("tobyvin.options")
-require("tobyvin.autocmds")
-
require("tobyvin.lazy")
-require("tobyvin.keymaps")
-require("tobyvin.diagnostic")
-require("tobyvin.lsp")
+vim.cmd([[colorscheme gruvbox]])
+
+vim.api.nvim_create_autocmd("User", {
+ pattern = "VeryLazy",
+ callback = function()
+ require("tobyvin.autocmds")
+ require("tobyvin.keymaps")
+ require("tobyvin.diagnostic")
+ require("tobyvin.lsp")
+ end,
+})
diff --git a/nvim/.config/nvim/lua/tobyvin/diagnostic.lua b/nvim/.config/nvim/lua/tobyvin/diagnostic.lua
index c3ffa85..1d22f5e 100644
--- a/nvim/.config/nvim/lua/tobyvin/diagnostic.lua
+++ b/nvim/.config/nvim/lua/tobyvin/diagnostic.lua
@@ -19,15 +19,13 @@ vim.fn.sign_define("DiagnosticSignWarn", utils.diagnostic.signs.warn)
vim.fn.sign_define("DiagnosticSignInfo", utils.diagnostic.signs.info)
vim.fn.sign_define("DiagnosticSignHint", utils.diagnostic.signs.hint)
-vim.api.nvim_create_autocmd("CursorHold", {
- callback = function()
- vim.diagnostic.open_float(nil, {
- focus = false,
- })
- end,
-})
-
vim.keymap.set("n", "]d", utils.diagnostic.goto_next, { desc = "next diagnostic" })
vim.keymap.set("n", "[d", utils.diagnostic.goto_prev, { desc = "prev diagnostic" })
vim.keymap.set("n", "gl", vim.diagnostic.open_float, { desc = "open diagnostic float" })
vim.keymap.set("n", "gL", vim.diagnostic.setqflist, { desc = "qf diagnostic" })
+
+vim.api.nvim_create_autocmd("CursorHold", {
+ callback = function()
+ vim.diagnostic.open_float()
+ end,
+})
diff --git a/nvim/.config/nvim/lua/tobyvin/lazy.lua b/nvim/.config/nvim/lua/tobyvin/lazy.lua
index 33eab4b..89a8c24 100644
--- a/nvim/.config/nvim/lua/tobyvin/lazy.lua
+++ b/nvim/.config/nvim/lua/tobyvin/lazy.lua
@@ -12,9 +12,24 @@ end
vim.opt.runtimepath:prepend(lazypath)
require("lazy").setup("tobyvin.plugins", {
- dev = { path = "~/src" },
- install = { colorscheme = { "gruvbox" } },
- checker = { enabled = true },
+ defaults = {
+ lazy = false,
+ },
+ dev = {
+ path = "~/src",
+ },
+ install = {
+ colorscheme = {
+ "gruvbox",
+ "tokyonight",
+ },
+ },
+ checker = {
+ enabled = true,
+ },
+ ui = {
+ border = "single",
+ },
})
vim.keymap.set("n", "<leader>p", "<cmd>:Lazy<cr>")
diff --git a/nvim/.config/nvim/lua/tobyvin/lsp.lua b/nvim/.config/nvim/lua/tobyvin/lsp.lua
index 733c589..d5b398e 100644
--- a/nvim/.config/nvim/lua/tobyvin/lsp.lua
+++ b/nvim/.config/nvim/lua/tobyvin/lsp.lua
@@ -1,3 +1,5 @@
+local M = {}
+
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("tobyvin_lsp", { clear = true }),
desc = "lsp",
@@ -11,7 +13,16 @@ require("tobyvin.lsp.handlers")
require("tobyvin.lsp.highlighting")
require("tobyvin.lsp.formatting")
-return {
- default_config = {},
- configs = require("tobyvin.lsp.configs"),
-}
+setmetatable(M, {
+ __index = function(t, k)
+ local ok, val = pcall(require, string.format("tobyvin.lsp.%s", k))
+
+ if ok then
+ rawset(t, k, val)
+ end
+
+ return val
+ end,
+})
+
+return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins.lua b/nvim/.config/nvim/lua/tobyvin/plugins.lua
index 687b31b..815ba25 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins.lua
@@ -1,75 +1,43 @@
return {
- "lewis6991/impatient.nvim",
"nvim-lua/plenary.nvim",
"ThePrimeagen/harpoon",
"norcalli/nvim-colorizer.lua",
"b0o/SchemaStore.nvim",
{
"nacro90/numb.nvim",
- config = function()
- require("numb").setup()
- end,
+ config = true,
},
{
"tiagovla/scope.nvim",
- config = function()
- require("scope").setup()
- end,
+ config = true,
},
{
"lukas-reineke/virt-column.nvim",
- config = function()
- require("virt-column").setup()
- end,
+ config = true,
},
{
"petertriho/cmp-git",
dependencies = { "nvim-lua/plenary.nvim" },
- config = function()
- require("cmp_git").setup()
- end,
+ config = true,
},
{
"David-Kunz/cmp-npm",
event = "BufRead package.json",
dependencies = { "nvim-lua/plenary.nvim" },
- config = function()
- require("cmp-npm").setup()
- end,
- },
- {
- "onsails/lspkind-nvim",
- config = function()
- require("lspkind").init()
- end,
+ config = true,
},
{
"nvim-treesitter/nvim-treesitter-context",
event = "BufReadPre",
- config = function()
- require("treesitter-context").setup()
- end,
- },
- {
- "theHamsta/nvim-dap-virtual-text",
- dependencies = {
- "mfussenegger/nvim-dap",
- "nvim-treesitter/nvim-treesitter",
- },
- config = function()
- require("nvim-dap-virtual-text").setup({})
- end,
+ config = true,
},
{
"ur4ltz/surround.nvim",
- config = function()
- require("surround").setup({})
- end,
+ config = true,
},
{
"numToStr/Comment.nvim",
- config = function()
- require("Comment").setup()
- end,
+ event = "VeryLazy",
+ config = true,
},
}
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/alpha.lua b/nvim/.config/nvim/lua/tobyvin/plugins/alpha.lua
index 02adc45..4385fb0 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/alpha.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/alpha.lua
@@ -1,8 +1,23 @@
local M = {
"goolord/alpha-nvim",
+ lazy = false,
dependencies = { "kyazdani42/nvim-web-devicons" },
}
+function M.init()
+ vim.api.nvim_create_autocmd("User", {
+ group = vim.api.nvim_create_augroup("alpha_user", { clear = true }),
+ pattern = "BDeleteLast",
+ callback = function(args)
+ local bufnr = vim.F.if_nil(args.data.buf, args.buf)
+ if vim.api.nvim_buf_get_option(bufnr, "filetype") ~= "alpha" then
+ require("alpha").start(false)
+ end
+ end,
+ desc = "Run Alpha when last buffer closed",
+ })
+end
+
function M.config()
local alpha = require("alpha")
local Icons = require("nvim-web-devicons")
@@ -145,18 +160,6 @@ function M.config()
}
alpha.setup(config)
-
- vim.api.nvim_create_autocmd("User", {
- group = vim.api.nvim_create_augroup("alpha_user", { clear = true }),
- pattern = "BDeleteLast",
- callback = function(args)
- local bufnr = vim.F.if_nil(args.data.buf, args.buf)
- if vim.api.nvim_buf_get_option(bufnr, "filetype") ~= "alpha" then
- alpha.start(false)
- end
- end,
- desc = "Run Alpha when last buffer closed",
- })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/cmp.lua b/nvim/.config/nvim/lua/tobyvin/plugins/cmp.lua
index 6d1acad..1138013 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/cmp.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/cmp.lua
@@ -1,5 +1,6 @@
local M = {
"hrsh7th/nvim-cmp",
+ event = { "InsertEnter", "CmdlineEnter" },
dependencies = {
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
@@ -23,11 +24,9 @@ local M = {
function M.config()
local cmp = require("cmp")
- local lsp = require("tobyvin.lsp")
local default = require("cmp.config.default")()
local context = require("cmp.config.context")
local cmp_dap = require("cmp_dap")
- local cmp_nvim_lsp = require("cmp_nvim_lsp")
local in_comment = function()
return vim.api.nvim_get_mode().mode ~= "c"
@@ -138,10 +137,6 @@ function M.config()
{ name = "crates" },
},
})
-
- lsp.default_config = vim.tbl_extend("force", lsp.default_config, {
- capabilities = cmp_nvim_lsp.default_capabilities(),
- })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua b/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua
index eb131c2..ad6cd04 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/dap.lua
@@ -1,27 +1,85 @@
+local telescope_dap = {
+ "nvim-telescope/telescope-dap.nvim",
+ dependencies = {
+ "nvim-telescope/telescope.nvim",
+ },
+ init = function()
+ vim.keymap.set("n", "<leader>dC", function()
+ require("telescope").extensions.dap.commands()
+ end, { desc = "commands" })
+
+ vim.keymap.set("n", "<leader>dd", function()
+ require("telescope").extensions.dap.configurations()
+ end, { desc = "configurations" })
+
+ vim.keymap.set("n", "<leader>dl", function()
+ require("telescope").extensions.dap.list_breakpoints()
+ end, { desc = "breakpoints" })
+
+ vim.keymap.set("n", "<leader>df", function()
+ require("telescope").extensions.dap.frames()
+ end, { desc = "frames" })
+
+ vim.keymap.set("n", "<leader>dv", function()
+ require("telescope").extensions.dap.variables()
+ end, { desc = "variables" })
+ end,
+}
+
local M = {
"mfussenegger/nvim-dap",
dependencies = {
- "mfussenegger/nvim-dap-python",
- "leoluz/nvim-dap-go",
- "nvim-telescope/telescope.nvim",
- "nvim-telescope/telescope-dap.nvim",
+ telescope_dap,
+ {
+ "mfussenegger/nvim-dap-python",
+ config = "",
+ },
+ {
+ "leoluz/nvim-dap-go",
+ config = true,
+ },
+ {
+ "theHamsta/nvim-dap-virtual-text",
+ dependencies = { "nvim-treesitter/nvim-treesitter" },
+ config = true,
+ },
},
}
-function M.config()
- local dap = require("dap")
+function M.init()
+ local dap = setmetatable({}, {
+ __index = function(_, k)
+ return function()
+ require("dap")[k]()
+ end
+ end,
+ })
- local utils = require("tobyvin.utils")
+ vim.keymap.set("n", "<F5>", dap.continue, { desc = "continue" })
+ vim.keymap.set("n", "<F10>", dap.step_over, { desc = "step over" })
+ vim.keymap.set("n", "<F11>", dap.step_into, { desc = "step into" })
+ vim.keymap.set("n", "<F12>", dap.step_out, { desc = "step out" })
+ vim.keymap.set("n", "<leader>dc", dap.continue, { desc = "continue" })
+ vim.keymap.set("n", "<leader>da", dap.step_over, { desc = "step over" })
+ vim.keymap.set("n", "<leader>di", dap.step_into, { desc = "step into" })
+ vim.keymap.set("n", "<leader>do", dap.step_out, { desc = "step out" })
+ vim.keymap.set("n", "<leader>dq", dap.terminate, { desc = "terminate" })
+ vim.keymap.set("n", "<leader>db", dap.toggle_breakpoint, { desc = "toggle breakpoint" })
- local set_custom_breakpoint = function()
- vim.ui.input({ prompt = "Condition: " }, function(condition)
- vim.ui.input({ prompt = "Hit condition: " }, function(hit_condition)
- vim.ui.input({ prompt = "Log point message: " }, function(log_message)
- dap.set_breakpoint(condition, hit_condition, log_message)
+ vim.keymap.set("n", "<leader>dB", function()
+ vim.ui.input({ prompt = "Condition: " }, function(cond)
+ vim.ui.input({ prompt = "Hit condition: " }, function(hit)
+ vim.ui.input({ prompt = "Log point message: " }, function(msg)
+ require("dap").set_breakpoint(cond, hit, msg)
end)
end)
end)
- end
+ end, { desc = "custom breakpoint" })
+end
+
+function M.config()
+ local dap = require("dap")
+ local utils = require("tobyvin.utils")
dap.defaults.fallback.focus_terminal = true
dap.defaults.fallback.terminal_win_cmd = "15split new"
@@ -36,58 +94,6 @@ function M.config()
end
end
- require("dap-python").setup()
- require("dap-go").setup()
-
- require("nvim-dap-virtual-text").setup({
- -- only_first_definition = false,
- -- all_references = true,
- virt_text_pos = "right_align",
- })
-
- require("telescope").load_extension("dap")
- local telescope = require("telescope").extensions.dap
-
- vim.keymap.set("n", "<leader>db", dap.toggle_breakpoint, { desc = "toggle breakpoint" })
- vim.keymap.set("n", "<leader>dB", set_custom_breakpoint, { desc = "custom breakpoint" })
- vim.keymap.set("n", "<leader>dC", telescope.commands, { desc = "commands" })
- vim.keymap.set("n", "<leader>dd", telescope.configurations, { desc = "configurations" })
- vim.keymap.set("n", "<leader>dl", telescope.list_breakpoints, { desc = "list breakpoints" })
-
- vim.api.nvim_create_autocmd("User", {
- pattern = "DapAttach",
- callback = function()
- vim.keymap.set("n", "<F5>", dap.continue, { desc = "continue" })
- vim.keymap.set("n", "<F10>", dap.step_over, { desc = "step over" })
- vim.keymap.set("n", "<F11>", dap.step_into, { desc = "step into" })
- vim.keymap.set("n", "<F12>", dap.step_out, { desc = "step out" })
- vim.keymap.set("n", "<leader>dc", dap.continue, { desc = "continue" })
- vim.keymap.set("n", "<leader>da", dap.step_over, { desc = "step over" })
- vim.keymap.set("n", "<leader>di", dap.step_into, { desc = "step into" })
- vim.keymap.set("n", "<leader>do", dap.step_out, { desc = "step out" })
- vim.keymap.set("n", "<leader>dq", dap.terminate, { desc = "terminate" })
- vim.keymap.set("n", "<leader>dv", telescope.variables, { desc = "variables" })
- vim.keymap.set("n", "<leader>df", telescope.frames, { desc = "frames" })
- end,
- })
-
- vim.api.nvim_create_autocmd("User", {
- pattern = "DapDetach",
- callback = function()
- vim.keymap.del("n", "<leader>dv")
- vim.keymap.del("n", "<leader>df")
- vim.keymap.del("n", "<leader>dc")
- vim.keymap.del("n", "<leader>da")
- vim.keymap.del("n", "<leader>di")
- vim.keymap.del("n", "<leader>do")
- vim.keymap.del("n", "<leader>dq")
- vim.keymap.del("n", "<F5>")
- vim.keymap.del("n", "<F10>")
- vim.keymap.del("n", "<F11>")
- vim.keymap.del("n", "<F12>")
- end,
- })
-
vim.fn.sign_define("DapBreakpoint", utils.debug.signs.breakpoint)
vim.fn.sign_define("DapBreakpointCondition", utils.debug.signs.condition)
vim.fn.sign_define("DapBreakpointRejected", utils.debug.signs.rejected)
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/dressing.lua b/nvim/.config/nvim/lua/tobyvin/plugins/dressing.lua
index d0748c8..bf05a5e 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/dressing.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/dressing.lua
@@ -1,5 +1,6 @@
local M = {
"stevearc/dressing.nvim",
+ lazy = true,
dependencies = {
"nvim-telescope/telescope.nvim",
},
@@ -7,7 +8,6 @@ local M = {
function M.config()
local dressing = require("dressing")
- local themes = require("telescope.themes")
local format_item_override = {
["rust-tools/debuggables"] = function(item)
@@ -24,7 +24,7 @@ function M.config()
local config_overrides = {
select = {
["Ring history"] = {
- telescope = themes.get_dropdown({ preview = true }),
+ telescope = require("telescope.themes").get_dropdown({ preview = true }),
},
},
input = {
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox.lua b/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox.lua
index fad7ad4..bef1a33 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox.lua
@@ -38,8 +38,6 @@ function M.config()
markdownError = { link = "Normal" },
},
})
-
- vim.cmd([[colorscheme gruvbox]])
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/indent_blankline.lua b/nvim/.config/nvim/lua/tobyvin/plugins/indent_blankline.lua
index fb299b3..afc5178 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/indent_blankline.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/indent_blankline.lua
@@ -1,16 +1,19 @@
local M = {
"lukas-reineke/indent-blankline.nvim",
+ event = "BufReadPre",
}
-function M.config()
- local indent_blankline = require("indent_blankline")
-
+function M.init()
vim.api.nvim_set_hl(0, "IndentBlanklineIndent1", { fg = "#E06C75", nocombine = true })
vim.api.nvim_set_hl(0, "IndentBlanklineIndent2", { fg = "#E5C07B", nocombine = true })
vim.api.nvim_set_hl(0, "IndentBlanklineIndent3", { fg = "#98C379", nocombine = true })
vim.api.nvim_set_hl(0, "IndentBlanklineIndent4", { fg = "#56B6C2", nocombine = true })
vim.api.nvim_set_hl(0, "IndentBlanklineIndent5", { fg = "#61AFEF", nocombine = true })
vim.api.nvim_set_hl(0, "IndentBlanklineIndent6", { fg = "#C678DD", nocombine = true })
+end
+
+function M.config()
+ local indent_blankline = require("indent_blankline")
indent_blankline.setup({
context_highlight_list = {
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua b/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
index 3edd973..8df2f6b 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
@@ -12,7 +12,9 @@ function M.config()
require("lspconfig.ui.windows").default_options.border = "single"
- lspconfig.util.default_config = vim.tbl_extend("force", lspconfig.util.default_config, lsp.default_config)
+ lspconfig.util.default_config = vim.tbl_extend("force", lspconfig.util.default_config, {
+ capabilities = require("cmp_nvim_lsp").default_capabilities(),
+ })
local available = lspconfig.util.available_servers()
for name, config in pairs(lsp.configs) do
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua b/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua
index 44adc0a..ef23f03 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua
@@ -1,5 +1,6 @@
local M = {
"nvim-lualine/lualine.nvim",
+ event = "VeryLazy",
dependencies = {
"kyazdani42/nvim-web-devicons",
"SmiteshP/nvim-navic",
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/neodev.lua b/nvim/.config/nvim/lua/tobyvin/plugins/neodev.lua
index d70f005..874a5b8 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/neodev.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/neodev.lua
@@ -3,22 +3,14 @@ local M = {
}
function M.config()
- local neodev = require("neodev")
-
- neodev.setup({
- library = {
- enabled = true,
- runtime = true,
- types = true,
- plugins = { "nvim-treesitter", "plenary.nvim", "telescope.nvim" },
+ require("neodev").setup({
+ experimental = {
+ pathStrict = true,
},
override = function(root_dir, library)
local lua_dev_utils = require("lua-dev.util")
if lua_dev_utils.has_file(root_dir, lua_dev_utils.fqn("~/.dotfiles/nvim/.config/nvim")) then
library.enabled = true
- library.runtime = true
- library.types = true
- library.plugins = { "nvim-treesitter", "plenary.nvim", "telescope.nvim" }
end
end,
})
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/notify.lua b/nvim/.config/nvim/lua/tobyvin/plugins/notify.lua
index 56506f4..4bfdd77 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/notify.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/notify.lua
@@ -1,7 +1,8 @@
local M = {
"rcarriga/nvim-notify",
+ event = "VeryLazy",
dependencies = {
- "nvim-telescope/telescope.nvim",
+ { "nvim-telescope/telescope.nvim" },
},
}
@@ -26,9 +27,9 @@ function M.config()
vim.api.nvim_set_hl(0, "NotifyBackground", { link = "WinBar" })
- local telescope = require("telescope")
- telescope.load_extension("notify")
- vim.keymap.set("n", "<leader>fn", telescope.extensions.notify.notify, { desc = "notifications" })
+ vim.keymap.set("n", "<leader>fn", function()
+ require("telescope").extensions.notify.notify()
+ end, { desc = "notifications" })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/nvim-navic.lua b/nvim/.config/nvim/lua/tobyvin/plugins/nvim-navic.lua
index c5ff794..137a129 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/nvim-navic.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/nvim-navic.lua
@@ -11,6 +11,8 @@ function M.config()
icons[i] = icons[i] .. " "
end
+ vim.g.navic_silence = true
+
nvim_navic.setup({
icons = icons,
})
@@ -21,10 +23,7 @@ function M.config()
callback = function(args)
local bufnr = args.buf
local client = vim.lsp.get_client_by_id(args.data.client_id)
-
- if client.name ~= "cssls" and client.server_capabilities.documentSymbolProvider then
- require("nvim-navic").attach(client, bufnr)
- end
+ require("nvim-navic").attach(client, bufnr)
end,
})
end
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/refactoring.lua b/nvim/.config/nvim/lua/tobyvin/plugins/refactoring.lua
new file mode 100644
index 0000000..f68e6d0
--- /dev/null
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/refactoring.lua
@@ -0,0 +1,15 @@
+local M = {
+ "ThePrimeagen/refactoring.nvim",
+}
+
+function M.init()
+ vim.keymap.set("v", "<leader>r", function()
+ require("refactoring").select_refactor()
+ end, { desc = "refactor" })
+end
+
+function M.config()
+ require("refactoring").setup({})
+end
+
+return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua b/nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua
index 2e32d6e..998901b 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/rust-tools.lua
@@ -1,5 +1,6 @@
local M = {
"simrat39/rust-tools.nvim",
+ ft = "rust",
dependencies = {
"neovim/nvim-lspconfig",
"nvim-lua/plenary.nvim",
@@ -7,22 +8,7 @@ local M = {
},
}
-function M.config()
- local rust_tools = require("rust-tools")
- local utils = require("tobyvin.utils")
- local lsp = require("tobyvin.lsp")
- local adapters = require("tobyvin.plugins.dap.adapters")
-
- rust_tools.setup({
- tools = {
- hover_actions = {
- border = "single",
- },
- },
- server = lsp.configs.rust_analyzer,
- dap = { adapter = adapters.codelldb },
- })
-
+function M.init()
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("tobyvin_rust-tools", { clear = true }),
desc = "setup rust-tools",
@@ -33,22 +19,35 @@ function M.config()
return
end
- local runnables = rust_tools.runnables.runnables
- local debuggables = rust_tools.debuggables.debuggables
- local open_cargo_toml = rust_tools.open_cargo_toml.open_cargo_toml
- local external_docs = rust_tools.external_docs.open_external_docs
- local expand_macro = rust_tools.expand_macro.expand_macro
- local hover_actions = rust_tools.hover_actions.hover_actions
+ local runnables = require("rust-tools").runnables.runnables
+ local debuggables = require("rust-tools").debuggables.debuggables
+ local open_cargo_toml = require("rust-tools").open_cargo_toml.open_cargo_toml
+ local external_docs = require("rust-tools").external_docs.open_external_docs
+ local expand_macro = require("rust-tools").expand_macro.expand_macro
+ local hover_actions = require("rust-tools").hover_actions.hover_actions
vim.keymap.set("n", "<leader>dd", debuggables, { desc = "debug", buffer = bufnr })
vim.keymap.set("n", "<leader>tt", runnables, { desc = "test", buffer = bufnr })
vim.keymap.set("n", "<leader>lo", open_cargo_toml, { desc = "open Cargo.toml", buffer = bufnr })
vim.keymap.set("n", "<leader>le", expand_macro, { desc = "expand macro", buffer = bufnr })
+ local utils = require("tobyvin.utils")
utils.documentation.register("rust", external_docs)
utils.hover.register(hover_actions, { desc = "rust-tools hover actions", buffer = bufnr, priority = 10 })
end,
})
end
+function M.config()
+ require("rust-tools").setup({
+ tools = {
+ hover_actions = {
+ border = "single",
+ },
+ },
+ server = require("tobyvin.lsp.configs").rust_analyzer,
+ dap = { adapter = require("tobyvin.plugins.dap.adapters").codelldb },
+ })
+end
+
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/session_manager.lua b/nvim/.config/nvim/lua/tobyvin/plugins/session_manager.lua
index 7d63342..1421781 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/session_manager.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/session_manager.lua
@@ -1,5 +1,6 @@
local M = {
"Shatur/neovim-session-manager",
+ lazy = false,
}
function M.config()
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua b/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua
index fec3bad..9fa9737 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua
@@ -10,6 +10,55 @@ local M = {
},
}
+function M.init()
+ local builtin = setmetatable({}, {
+ __index = function(_, k)
+ return function()
+ require("telescope.builtin")[k]()
+ end
+ end,
+ })
+
+ vim.keymap.set("n", "<leader>fa", builtin.autocommands, { desc = "autocommands" })
+ vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "buffers" })
+ vim.keymap.set("n", "<leader>fc", builtin.commands, { desc = "commands" })
+ vim.keymap.set("n", "<leader>fC", builtin.command_history, { desc = "command history" })
+ vim.keymap.set("n", "<leader>fe", builtin.diagnostics, { desc = "diagnostics" })
+ vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "find files" })
+ vim.keymap.set("n", "<leader>fF", builtin.filetypes, { desc = "filetypes" })
+ vim.keymap.set("n", "<leader>fh", builtin.help_tags, { desc = "help" })
+ vim.keymap.set("n", "<leader>fH", builtin.highlights, { desc = "highlights" })
+ vim.keymap.set("n", "<leader>fj", builtin.jumplist, { desc = "jumplist" })
+ vim.keymap.set("n", "<leader>fk", builtin.keymaps, { desc = "keymaps" })
+ vim.keymap.set("n", "<leader>fl", builtin.loclist, { desc = "loclist" })
+ vim.keymap.set("n", "<leader>fm", builtin.marks, { desc = "marks" })
+ vim.keymap.set("n", "<leader>fM", builtin.man_pages, { desc = "man pages" })
+ vim.keymap.set("n", "<leader>fo", builtin.oldfiles, { desc = "old files" })
+ vim.keymap.set("n", "<leader>fp", builtin.pickers, { desc = "pickers" })
+ vim.keymap.set("n", "<leader>fr", builtin.resume, { desc = "resume" })
+ vim.keymap.set("n", "<leader>fR", builtin.reloader, { desc = "reloader" })
+ vim.keymap.set("n", "<leader>fs", builtin.spell_suggest, { desc = "spell suggest" })
+ vim.keymap.set("n", "<leader>fS", builtin.search_history, { desc = "search history" })
+ vim.keymap.set("n", "<leader>ft", builtin.tags, { desc = "tags" })
+ vim.keymap.set("n", "<leader>ft", builtin.colorscheme, { desc = "colorscheme" })
+ vim.keymap.set("n", "<leader>fv", builtin.vim_options, { desc = "vim options" })
+ vim.keymap.set("n", "<leader>f'", builtin.registers, { desc = "registers" })
+ vim.keymap.set("n", "<leader>gb", builtin.git_branches, { desc = "branches" })
+ vim.keymap.set("n", "<leader>gc", builtin.git_bcommits, { desc = "bcommits" })
+ vim.keymap.set("n", "<leader>gC", builtin.git_commits, { desc = "commits" })
+ vim.keymap.set("n", "<leader>gf", builtin.git_files, { desc = "files" })
+ vim.keymap.set("n", "<leader>gt", builtin.git_status, { desc = "status" })
+ vim.keymap.set("n", "<leader>gT", builtin.git_stash, { desc = "stash" })
+
+ vim.keymap.set("n", "<leader>fd", function()
+ require("telescope").extensions.file_browser.file_browser()
+ end, { desc = "file browser" })
+
+ vim.keymap.set("n", "<leader>fg", function()
+ require("telescope").extensions.live_grep_args.live_grep_args()
+ end, { desc = "live grep" })
+end
+
function M.config()
local telescope = require("telescope")
@@ -63,44 +112,6 @@ function M.config()
-- Extensions
telescope.load_extension("fzf")
- telescope.load_extension("file_browser")
- telescope.load_extension("live_grep_args")
-
- local builtins = require("telescope.builtin")
- local extensions = telescope.extensions
-
- vim.keymap.set("n", "<leader>fa", builtins.autocommands, { desc = "autocommands" })
- vim.keymap.set("n", "<leader>fb", builtins.buffers, { desc = "buffers" })
- vim.keymap.set("n", "<leader>fc", builtins.commands, { desc = "commands" })
- vim.keymap.set("n", "<leader>fC", builtins.command_history, { desc = "command history" })
- vim.keymap.set("n", "<leader>fd", extensions.file_browser.file_browser, { desc = "file browser" })
- vim.keymap.set("n", "<leader>fe", builtins.diagnostics, { desc = "diagnostics" })
- vim.keymap.set("n", "<leader>ff", builtins.find_files, { desc = "find files" })
- vim.keymap.set("n", "<leader>fF", builtins.filetypes, { desc = "filetypes" })
- vim.keymap.set("n", "<leader>fg", extensions.live_grep_args.live_grep_args, { desc = "live grep" })
- vim.keymap.set("n", "<leader>fh", builtins.help_tags, { desc = "help" })
- vim.keymap.set("n", "<leader>fH", builtins.highlights, { desc = "highlights" })
- vim.keymap.set("n", "<leader>fj", builtins.jumplist, { desc = "jumplist" })
- vim.keymap.set("n", "<leader>fk", builtins.keymaps, { desc = "keymaps" })
- vim.keymap.set("n", "<leader>fl", builtins.loclist, { desc = "loclist" })
- vim.keymap.set("n", "<leader>fm", builtins.marks, { desc = "marks" })
- vim.keymap.set("n", "<leader>fM", builtins.man_pages, { desc = "man pages" })
- vim.keymap.set("n", "<leader>fo", builtins.oldfiles, { desc = "old files" })
- vim.keymap.set("n", "<leader>fp", builtins.pickers, { desc = "pickers" })
- vim.keymap.set("n", "<leader>fr", builtins.resume, { desc = "resume" })
- vim.keymap.set("n", "<leader>fR", builtins.reloader, { desc = "reloader" })
- vim.keymap.set("n", "<leader>fs", builtins.spell_suggest, { desc = "spell suggest" })
- vim.keymap.set("n", "<leader>fS", builtins.search_history, { desc = "search history" })
- vim.keymap.set("n", "<leader>ft", builtins.tags, { desc = "tags" })
- vim.keymap.set("n", "<leader>ft", builtins.colorscheme, { desc = "colorscheme" })
- vim.keymap.set("n", "<leader>fv", builtins.vim_options, { desc = "vim options" })
- vim.keymap.set("n", "<leader>f'", builtins.registers, { desc = "registers" })
- vim.keymap.set("n", "<leader>gb", builtins.git_branches, { desc = "branches" })
- vim.keymap.set("n", "<leader>gc", builtins.git_bcommits, { desc = "bcommits" })
- vim.keymap.set("n", "<leader>gC", builtins.git_commits, { desc = "commits" })
- vim.keymap.set("n", "<leader>gf", builtins.git_files, { desc = "files" })
- vim.keymap.set("n", "<leader>gt", builtins.git_status, { desc = "status" })
- vim.keymap.set("n", "<leader>gT", builtins.git_stash, { desc = "stash" })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/utils.lua b/nvim/.config/nvim/lua/tobyvin/utils.lua
index 45772fb..5f02f9e 100644
--- a/nvim/.config/nvim/lua/tobyvin/utils.lua
+++ b/nvim/.config/nvim/lua/tobyvin/utils.lua
@@ -1,5 +1,27 @@
-- Lazy load
-local M = setmetatable({}, {
+local M = {}
+
+function M.require(mod)
+ local ok, ret = M.try(require, mod)
+ return ok and ret
+end
+
+function M.try(fn, ...)
+ local args = { ... }
+
+ return xpcall(function()
+ return fn(unpack(args))
+ end, function(err)
+ local lines = {}
+ table.insert(lines, err)
+ table.insert(lines, debug.traceback("", 3))
+
+ M.error(table.concat(lines, "\n"))
+ return err
+ end)
+end
+
+setmetatable(M, {
__index = function(t, k)
local ok, val = pcall(require, string.format("tobyvin.utils.%s", k))
diff --git a/nvim/.config/nvim/lua/tobyvin/utils/hover.lua b/nvim/.config/nvim/lua/tobyvin/utils/hover.lua
index e6de71c..3b967eb 100644
--- a/nvim/.config/nvim/lua/tobyvin/utils/hover.lua
+++ b/nvim/.config/nvim/lua/tobyvin/utils/hover.lua
@@ -109,7 +109,7 @@ end
---@param buffer number?
M.open = function(buffer)
- buffer = vim.F.if_nil(buffer, vim.api.nvim_get_current_buf())
+ buffer = buffer or vim.api.nvim_get_current_buf()
local providers = M.buf_providers(buffer)
for _, provider in ipairs(providers) do
if provider.opts.enabled and provider.opts.enabled() and not provider.handler() then