summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--nvim/.config/nvim/lua/tobyvin/keymaps.lua9
-rw-r--r--nvim/.config/nvim/lua/tobyvin/lsp/formatting.lua4
-rw-r--r--nvim/.config/nvim/lua/tobyvin/lsp/highlighting.lua6
-rw-r--r--nvim/.config/nvim/lua/tobyvin/lsp/init.lua4
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins.lua59
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/formatter.lua37
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/lint.lua22
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua3
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/mason-lspconfig.lua13
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/mason.lua24
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/renamer.lua46
11 files changed, 152 insertions, 75 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/keymaps.lua b/nvim/.config/nvim/lua/tobyvin/keymaps.lua
index 56cdfc6..3f2f95b 100644
--- a/nvim/.config/nvim/lua/tobyvin/keymaps.lua
+++ b/nvim/.config/nvim/lua/tobyvin/keymaps.lua
@@ -5,7 +5,12 @@ M.write = function()
vim.cmd("write")
end
+M.training_wheels = function()
+ vim.notify("You did the thing. Stop doing the thing. Use <C-[>", "warn", { title = "STOP DOING THAT" })
+end
+
M.setup = function()
+ vim.keymap.set("i", "<C-c>", M.training_wheels, { desc = "Helper to quit using <C-c>" })
vim.keymap.set("n", "<C-u>", "<C-u>zz", { desc = "Up half page and center" })
vim.keymap.set("n", "<C-d>", "<C-d>zz", { desc = "Down half page and center" })
vim.keymap.set("n", "<leader>q", utils.quit, { desc = "Quit" })
@@ -15,8 +20,8 @@ M.setup = function()
vim.keymap.set("n", "<leader>H", utils.docs, { desc = "Docs" })
vim.keymap.set("n", "<leader>w", M.write, { desc = "Write" })
- vim.keymap.set("v", "<a-k>", ":m '<-2<CR>gv=gv", { desc = "Move selection up" })
- vim.keymap.set("v", "<a-j>", ":m '>+1<CR>gv=gv", { desc = "Move selection down" })
+ vim.keymap.set("v", "<a-k>", ":m '<-2<CR>gv=gv", { desc = "Move selection up" })
+ vim.keymap.set("v", "<a-j>", ":m '>+1<CR>gv=gv", { desc = "Move selection down" })
local nmap_run = utils.create_map_group("n", "<leader>r", { desc = "Run" })
diff --git a/nvim/.config/nvim/lua/tobyvin/lsp/formatting.lua b/nvim/.config/nvim/lua/tobyvin/lsp/formatting.lua
index 47d2328..5486640 100644
--- a/nvim/.config/nvim/lua/tobyvin/lsp/formatting.lua
+++ b/nvim/.config/nvim/lua/tobyvin/lsp/formatting.lua
@@ -1,6 +1,10 @@
local M = {}
M.on_attach = function(client, bufnr)
+ if client.name == "sumneko_lua" then
+ return
+ end
+
if client.server_capabilities.documentFormattingProvider then
vim.api.nvim_buf_set_option(bufnr, "formatexpr", "v:lua.vim.lsp.formatexpr()")
vim.api.nvim_buf_create_user_command(bufnr, "Format", vim.lsp.buf.format, { nargs = "*" })
diff --git a/nvim/.config/nvim/lua/tobyvin/lsp/highlighting.lua b/nvim/.config/nvim/lua/tobyvin/lsp/highlighting.lua
index 055e735..f4ecf59 100644
--- a/nvim/.config/nvim/lua/tobyvin/lsp/highlighting.lua
+++ b/nvim/.config/nvim/lua/tobyvin/lsp/highlighting.lua
@@ -1,10 +1,8 @@
-local M = {
- augroup_highlight = vim.api.nvim_create_augroup("Highlight", { clear = true }),
-}
+local M = {}
M.on_attach = function(client, bufnr)
if client.server_capabilities.documentHighlightProvider then
- vim.api.nvim_clear_autocmds({ group = M.augroup_highlight, buffer = bufnr })
+ M.augroup_highlight = vim.api.nvim_create_augroup("ReferenceHighlight", { clear = true })
vim.api.nvim_create_autocmd("CursorHold", {
group = M.augroup_highlight,
diff --git a/nvim/.config/nvim/lua/tobyvin/lsp/init.lua b/nvim/.config/nvim/lua/tobyvin/lsp/init.lua
index 0b2623a..a07a6c1 100644
--- a/nvim/.config/nvim/lua/tobyvin/lsp/init.lua
+++ b/nvim/.config/nvim/lua/tobyvin/lsp/init.lua
@@ -2,8 +2,8 @@ local utils = require("tobyvin.utils")
local M = {}
M.on_attach = function(client, bufnr)
- vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
- vim.api.nvim_buf_set_option(bufnr, "tagfunc", "v:lua.vim.lsp.tagfunc")
+ -- vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
+ -- vim.api.nvim_buf_set_option(bufnr, "tagfunc", "v:lua.vim.lsp.tagfunc")
vim.keymap.set("n", "gd", vim.lsp.buf.definition, { desc = "Definition", buffer = bufnr })
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { desc = "Declaration", buffer = bufnr })
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins.lua b/nvim/.config/nvim/lua/tobyvin/plugins.lua
index e30da5c..e79164c 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins.lua
@@ -73,30 +73,54 @@ M.plugins = function(use)
})
use({
- "neovim/nvim-lspconfig",
+ "mfussenegger/nvim-lint",
+ config = function()
+ require("tobyvin.plugins.lint").setup()
+ end,
+ })
+
+ use({
+ "mhartington/formatter.nvim",
+ config = function()
+ require("tobyvin.plugins.formatter").setup()
+ end,
+ })
+
+ use({
+ "williamboman/mason.nvim",
+ requires = {},
+ config = function()
+ require("tobyvin.plugins.mason").setup()
+ end,
+ })
+
+ use({
+ "williamboman/mason-lspconfig.nvim",
+ after = "mason.nvim",
requires = {
- "williamboman/nvim-lsp-installer",
- "ray-x/lsp_signature.nvim",
- "SmiteshP/nvim-navic",
- "barreiroleo/ltex-extra.nvim",
+ "williamboman/mason.nvim",
},
config = function()
- require("tobyvin.plugins.lspconfig").setup()
+ require("tobyvin.plugins.mason-lspconfig").setup()
end,
})
use({
- "jose-elias-alvarez/null-ls.nvim",
+ "neovim/nvim-lspconfig",
+ after = "mason-lspconfig.nvim",
requires = {
- "nvim-lua/plenary.nvim",
+ "ray-x/lsp_signature.nvim",
+ "SmiteshP/nvim-navic",
+ "barreiroleo/ltex-extra.nvim",
},
config = function()
- require("tobyvin.plugins.null-ls").setup()
+ require("tobyvin.plugins.lspconfig").setup()
end,
})
use({
"folke/lua-dev.nvim",
+ after = "nvim-lspconfig",
requires = {
"neovim/nvim-lspconfig",
},
@@ -117,17 +141,10 @@ M.plugins = function(use)
})
use({
- "mickael-menu/zk-nvim",
- config = function()
- require("tobyvin.plugins.zk").setup()
- end,
- })
-
- use({
"brymer-meneses/grammar-guard.nvim",
+ after = "nvim-lspconfig",
requires = {
"neovim/nvim-lspconfig",
- "williamboman/nvim-lsp-installer",
},
config = function()
require("grammar-guard").init()
@@ -135,6 +152,13 @@ M.plugins = function(use)
})
use({
+ "mickael-menu/zk-nvim",
+ config = function()
+ require("tobyvin.plugins.zk").setup()
+ end,
+ })
+
+ use({
"hrsh7th/nvim-cmp",
requires = {
"hrsh7th/cmp-nvim-lsp",
@@ -183,7 +207,6 @@ M.plugins = function(use)
event = { "BufRead Cargo.toml" },
requires = {
"nvim-lua/plenary.nvim",
- "jose-elias-alvarez/null-ls.nvim",
},
config = function()
require("tobyvin.plugins.crates").setup()
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/formatter.lua b/nvim/.config/nvim/lua/tobyvin/plugins/formatter.lua
new file mode 100644
index 0000000..3a993cc
--- /dev/null
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/formatter.lua
@@ -0,0 +1,37 @@
+local M = {}
+
+M.setup = function()
+ local status_ok, formatter = pcall(require, "formatter")
+ if not status_ok then
+ vim.notify("Failed to load module 'formatter'", "error")
+ return
+ end
+
+ formatter.setup({
+ filetype = {
+ lua = {
+ require("formatter.filetypes.lua").stylua,
+ },
+ sh = {
+ require("formatter.filetypes.sh").shfmt,
+ },
+ javascript = {
+ require("formatter.filetypes.javascript").prettier,
+ },
+ markdown = {
+ require("formatter.filetypes.markdown").prettier,
+ },
+ python = {
+ require("formatter.filetypes.python").black,
+ },
+ ["*"] = {
+ require("formatter.filetypes.any").remove_trailing_whitespace,
+ },
+ },
+ })
+
+ vim.keymap.set("n", "<leader>lf", ":Format<CR>", { desc = "Format" })
+ vim.keymap.set("n", "<leader>lF", ":FormatWrite<CR>", { desc = "Format Write" })
+end
+
+return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/lint.lua b/nvim/.config/nvim/lua/tobyvin/plugins/lint.lua
new file mode 100644
index 0000000..3689c5f
--- /dev/null
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/lint.lua
@@ -0,0 +1,22 @@
+local M = {}
+
+M.setup = function()
+ local status_ok, lint = pcall(require, "lint")
+ if not status_ok then
+ vim.notify("Failed to load module 'lint'", "error")
+ return
+ end
+
+ lint.linters_by_ft = {
+ markdown = { "vale" },
+ python = { "pylint" },
+ }
+
+ vim.api.nvim_create_autocmd({ "BufWritePost" }, {
+ callback = function()
+ lint.try_lint()
+ end,
+ })
+end
+
+return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua b/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
index 13c7be5..1884627 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
@@ -3,8 +3,6 @@ local utils = require("tobyvin.utils")
local M = {}
M.setup = function()
- require("nvim-lsp-installer").setup({})
-
local status_ok, lspconfig = pcall(require, "lspconfig")
if not status_ok then
vim.notify("Failed to load module 'lspconfig'", "error")
@@ -99,7 +97,6 @@ M.setup = function()
local nmap = utils.create_map_group("n", "<leader>l", { desc = "LSP" })
nmap("i", "<cmd>LspInfo<cr>", { desc = "LSP info" })
- nmap("I", "<cmd>LspInstallInfo<cr>", { desc = "LSP installer info" })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/mason-lspconfig.lua b/nvim/.config/nvim/lua/tobyvin/plugins/mason-lspconfig.lua
new file mode 100644
index 0000000..3ceb6df
--- /dev/null
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/mason-lspconfig.lua
@@ -0,0 +1,13 @@
+local M = {}
+
+M.setup = function()
+ local status_ok, mason_lspconfig = pcall(require, "mason-lspconfig")
+ if not status_ok then
+ vim.notify("Failed to load module 'mason-lspconfig'", "error")
+ return
+ end
+
+ mason_lspconfig.setup()
+end
+
+return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/mason.lua b/nvim/.config/nvim/lua/tobyvin/plugins/mason.lua
new file mode 100644
index 0000000..f622855
--- /dev/null
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/mason.lua
@@ -0,0 +1,24 @@
+local M = {}
+
+M.setup = function()
+ local status_ok, mason = pcall(require, "mason")
+ if not status_ok then
+ vim.notify("Failed to load module 'mason'", "error")
+ return
+ end
+
+ mason.setup({
+ ui = {
+ icons = {
+ package_installed = "✓",
+ package_pending = "➜",
+ package_uninstalled = "✗",
+ },
+ },
+ })
+
+ vim.keymap.set("n", "<leader>i", ":Mason<CR>", { desc = "Mason" })
+ vim.keymap.set("n", "<leader>I", ":MasonLog<CR>", { desc = "Mason Log" })
+end
+
+return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/renamer.lua b/nvim/.config/nvim/lua/tobyvin/plugins/renamer.lua
deleted file mode 100644
index 89d67d7..0000000
--- a/nvim/.config/nvim/lua/tobyvin/plugins/renamer.lua
+++ /dev/null
@@ -1,46 +0,0 @@
-local status_ok, renamer = pcall(require, "renamer")
-if not status_ok then
- return
-end
-
-vim.api.nvim_set_keymap(
- "i",
- "<F2>",
- '<cmd>lua require("renamer").rename({empty = true})<cr>',
- { noremap = true, silent = true }
-)
-vim.api.nvim_set_keymap(
- "n",
- "<F2>",
- '<cmd>lua require("renamer").rename({empty = true})<cr>',
- { noremap = true, silent = true }
-)
-local mappings_utils = require("renamer.mappings.utils")
-renamer.setup({
- -- The popup title, shown if `border` is true
- title = "Rename",
- -- The padding around the popup content
- padding = {
- top = 0,
- left = 0,
- bottom = 0,
- right = 0,
- },
- -- Whether or not to shown a border around the popup
- border = true,
- -- The characters which make up the border
- border_chars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
- -- Whether or not to highlight the current word references through LSP
- show_refs = true,
- -- The keymaps available while in the `renamer` buffer. The example below
- -- overrides the default values, but you can add others as well.
- mappings = {
- ["<c-i>"] = mappings_utils.set_cursor_to_start,
- ["<c-a>"] = mappings_utils.set_cursor_to_end,
- ["<c-e>"] = mappings_utils.set_cursor_to_word_end,
- ["<c-b>"] = mappings_utils.set_cursor_to_word_start,
- ["<c-c>"] = mappings_utils.clear_line,
- ["<c-u>"] = mappings_utils.undo,
- ["<c-r>"] = mappings_utils.redo,
- },
-})