nvim: Plugins, formatting, comments, n-maps

This commit is contained in:
2023-01-04 12:11:45 +02:00
parent 1222b8fdb3
commit a4eb0b0186
3 changed files with 208 additions and 41 deletions

View File

@@ -1,9 +1,11 @@
return function(use)
-- 💥 Create key bindings that stick.
-- WhichKey is a lua plugin that displays a popup with
-- WhichKey is a lua plugin that displays a popup with
-- possible keybindings of the command you started typing.
use({ "folke/which-key.nvim", config = function() require("which-key").setup({}) end })
use({ "folke/which-key.nvim",
config = function() require("which-key").setup({}) end
})
-- 🍨 Soothing pastel theme for (Neo)vim
-- https://github.com/catppuccin/nvim
@@ -35,8 +37,8 @@ return function(use)
use {
"ThePrimeagen/refactoring.nvim",
requires = {
{"nvim-lua/plenary.nvim"},
{"nvim-treesitter/nvim-treesitter"}
{ "nvim-lua/plenary.nvim" },
{ "nvim-treesitter/nvim-treesitter" }
}
}
@@ -48,27 +50,136 @@ return function(use)
})
-- nvim orgmode, to get me use nvim even more.
use ({ "nvim-orgmode/orgmode",
use({ "nvim-orgmode/orgmode",
config = function() require("orgmode").setup({}) end,
})
-- Remaps for the refactoring operations currently offered by the plugin
-- Markdown support
use 'preservim/vim-markdown'
use 'godlygeek/tabular'
-- obsidian plugin for nvim
-- https://github.com/epwalsh/obsidian.nvim
use({ "epwalsh/obsidian.nvim",
config = function()
require("obsidian").setup({
dir = '~/.local/share/_nvalt',
notes_subdir = "notes",
daily_notes = {
folder = "_daily"
},
completion = {
nvim_cmp = true, -- if using nvim-cmp, otherwise set to false
}
})
end
})
-- Creates missing folders on save
-- https://github.com/jghauser/mkdir.nvim
use { 'jghauser/mkdir.nvim' }
-- Neovim plugin for dimming the highlights of unused
-- functions, variables, parameters, and more
-- https://github.com/zbirenbaum/neodim
use { "zbirenbaum/neodim",
event = "LspAttach",
config = function()
require("neodim").setup({
alpha = 0.75,
blend_color = "#000000",
update_in_insert = {
enable = true,
delay = 100,
},
hide = {
virtual_text = true,
signs = true,
underline = true,
}
})
end
}
-- EditorConfig plugin for Neovim
-- https://github.com/gpanders/editorconfig.nvim
use { 'gpanders/editorconfig.nvim' }
-- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
-- https://github.com/jose-elias-alvarez/null-ls.nvim
use ({ "jose-elias-alvarez/null-ls.nvim",
requires = { "nvim-lua/plenary.nvim" },
config = function ()
local null_ls = require("null-ls")
null_ls.setup({
sources = {
null_ls.builtins.formatting.blade_formatter,
null_ls.builtins.formatting.eslint,
null_ls.builtins.formatting.fixjson,
null_ls.builtins.formatting.lua_format,
null_ls.builtins.formatting.markdownlint,
null_ls.builtins.formatting.prettier,
null_ls.builtins.formatting.shfmt,
null_ls.builtins.formatting.stylelint,
-- null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.terraform_fmt,
null_ls.builtins.formatting.trim_whitespace,
null_ls.builtins.formatting.yamlfmt,
null_ls.builtins.diagnostics.alex,
null_ls.builtins.diagnostics.ansiblelint,
null_ls.builtins.diagnostics.actionlint,
null_ls.builtins.diagnostics.codespell,
null_ls.builtins.diagnostics.dotenv_linter,
null_ls.builtins.diagnostics.editorconfig_checker,
null_ls.builtins.diagnostics.eslint,
null_ls.builtins.diagnostics.hadolint,
null_ls.builtins.diagnostics.jsonlint,
null_ls.builtins.diagnostics.luacheck,
null_ls.builtins.diagnostics.markdownlint,
null_ls.builtins.diagnostics.php,
null_ls.builtins.diagnostics.phpcs,
null_ls.builtins.diagnostics.phpstan,
null_ls.builtins.diagnostics.psalm,
null_ls.builtins.diagnostics.shellcheck,
null_ls.builtins.diagnostics.spectral,
null_ls.builtins.diagnostics.stylelint,
null_ls.builtins.diagnostics.todo_comments,
null_ls.builtins.diagnostics.trail_space,
null_ls.builtins.diagnostics.xo,
null_ls.builtins.diagnostics.yamllint,
null_ls.builtins.completion.spell,
null_ls.builtins.completion.luasnip,
null_ls.builtins.code_actions.eslint,
null_ls.builtins.code_actions.shellcheck,
null_ls.builtins.code_actions.xo,
}
})
end
})
local map = vim.api.nvim_set_keymap
local refactoring_opts = { noremap = true, silent = true, expr = false }
map("v", "<leader>re", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]], refactoring_opts)
map("v", "<leader>rf", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]], refactoring_opts)
map("v", "<leader>rv", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]], refactoring_opts)
map("v", "<leader>ri", [[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], refactoring_opts)
map("n", "<leader>ff", ":Format", { noremap = true, silent = true })
-- Remaps for the refactoring operations currently offered by the plugin
local refact_opts = { noremap = true, silent = true, expr = false }
map("v", "<leader>re", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]], refact_opts)
map("v", "<leader>rf", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]],
refact_opts)
map("v", "<leader>rv", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]], refact_opts)
map("v", "<leader>ri", [[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], refact_opts)
-- Extract block doesn't need visual mode
map("n", "<leader>rb", [[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]], refactoring_opts)
map("n", "<leader>rbf", [[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]], refactoring_opts)
map("n", "<leader>rb", [[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]], refact_opts)
map("n", "<leader>rbf", [[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]], refact_opts)
-- Inline variable can also pick up the identifier currently under the cursor without visual mode
map("n", "<leader>ri", [[ <Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]],refactoring_opts)
map("n", "<leader>ri", [[ <Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], refact_opts)
-- prompt for a refactor to apply when the remap is triggered
map("v", "<leader>rr", ":lua require('refactoring').select_refactor()<CR>", refactoring_opts)
map("v", "<leader>rr", ":lua require('refactoring').select_refactor()<CR>", refact_opts)
end