diff options
Diffstat (limited to 'neovim/.config/nvim/lua/plugins')
| -rw-r--r-- | neovim/.config/nvim/lua/plugins/ale.lua | 9 | ||||
| -rw-r--r-- | neovim/.config/nvim/lua/plugins/claude-code.lua | 8 | ||||
| -rw-r--r-- | neovim/.config/nvim/lua/plugins/colorscheme.lua | 11 | ||||
| -rw-r--r-- | neovim/.config/nvim/lua/plugins/completion.lua | 11 | ||||
| -rw-r--r-- | neovim/.config/nvim/lua/plugins/editing.lua | 13 | ||||
| -rw-r--r-- | neovim/.config/nvim/lua/plugins/filetree.lua | 33 | ||||
| -rw-r--r-- | neovim/.config/nvim/lua/plugins/fuzzyfinder.lua | 10 | ||||
| -rw-r--r-- | neovim/.config/nvim/lua/plugins/git.lua | 4 | ||||
| -rw-r--r-- | neovim/.config/nvim/lua/plugins/langs.lua | 14 | ||||
| -rw-r--r-- | neovim/.config/nvim/lua/plugins/lsp.lua | 36 | ||||
| -rw-r--r-- | neovim/.config/nvim/lua/plugins/statusline.lua | 23 |
11 files changed, 172 insertions, 0 deletions
diff --git a/neovim/.config/nvim/lua/plugins/ale.lua b/neovim/.config/nvim/lua/plugins/ale.lua new file mode 100644 index 0000000..10a680c --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/ale.lua | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | return { | ||
| 2 | "dense-analysis/ale", | ||
| 3 | event = { "BufReadPre", "BufNewFile" }, | ||
| 4 | init = function() | ||
| 5 | -- nvim-lspconfig owns LSP-protocol features (diagnostics, hover, | ||
| 6 | -- go-to-definition) here; keep ALE to its own linters/fixers only. | ||
| 7 | vim.g.ale_disable_lsp = 1 | ||
| 8 | end, | ||
| 9 | } | ||
diff --git a/neovim/.config/nvim/lua/plugins/claude-code.lua b/neovim/.config/nvim/lua/plugins/claude-code.lua new file mode 100644 index 0000000..0390852 --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/claude-code.lua | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | return { | ||
| 2 | "greggh/claude-code.nvim", | ||
| 3 | dependencies = { "nvim-lua/plenary.nvim" }, | ||
| 4 | cmd = { "ClaudeCode", "ClaudeCodeContinue", "ClaudeCodeResume", "ClaudeCodeVerbose" }, | ||
| 5 | config = function() | ||
| 6 | require("claude-code").setup({ window = { position = "vertical botright" } }) | ||
| 7 | end, | ||
| 8 | } | ||
diff --git a/neovim/.config/nvim/lua/plugins/colorscheme.lua b/neovim/.config/nvim/lua/plugins/colorscheme.lua new file mode 100644 index 0000000..457dc71 --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/colorscheme.lua | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | return { | ||
| 2 | "mhinz/vim-janah", | ||
| 3 | lazy = false, | ||
| 4 | priority = 1000, | ||
| 5 | config = function() | ||
| 6 | local ok = pcall(vim.cmd.colorscheme, "janah") | ||
| 7 | if not ok then | ||
| 8 | vim.cmd.colorscheme("desert") | ||
| 9 | end | ||
| 10 | end, | ||
| 11 | } | ||
diff --git a/neovim/.config/nvim/lua/plugins/completion.lua b/neovim/.config/nvim/lua/plugins/completion.lua new file mode 100644 index 0000000..9eed355 --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/completion.lua | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | return { | ||
| 2 | "saghen/blink.cmp", | ||
| 3 | version = "*", -- use a release with a prebuilt fuzzy-matcher binary | ||
| 4 | dependencies = { "rafamadriz/friendly-snippets" }, | ||
| 5 | opts = { | ||
| 6 | keymap = { preset = "super-tab" }, | ||
| 7 | sources = { | ||
| 8 | default = { "lsp", "path", "snippets", "buffer" }, | ||
| 9 | }, | ||
| 10 | }, | ||
| 11 | } | ||
diff --git a/neovim/.config/nvim/lua/plugins/editing.lua b/neovim/.config/nvim/lua/plugins/editing.lua new file mode 100644 index 0000000..c1d5567 --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/editing.lua | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | return { | ||
| 2 | { | ||
| 3 | "preservim/nerdcommenter", | ||
| 4 | init = function() | ||
| 5 | vim.g.NERDSpaceDelims = 1 | ||
| 6 | vim.g.NERDCompactSexyComs = 1 | ||
| 7 | vim.g.NERDDefaultAlign = "left" | ||
| 8 | vim.g.NERDCommentEmptyLines = 1 | ||
| 9 | vim.g.NERDTrimTrailingWhitespace = 1 | ||
| 10 | end, | ||
| 11 | }, | ||
| 12 | "unblevable/quick-scope", | ||
| 13 | } | ||
diff --git a/neovim/.config/nvim/lua/plugins/filetree.lua b/neovim/.config/nvim/lua/plugins/filetree.lua new file mode 100644 index 0000000..cdee9f7 --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/filetree.lua | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | return { | ||
| 2 | "preservim/nerdtree", | ||
| 3 | lazy = false, | ||
| 4 | config = function() | ||
| 5 | -- Open NERDTree when no file is specified; quit when it's the last window | ||
| 6 | local augroup = vim.api.nvim_create_augroup("nerdtree_auto", { clear = true }) | ||
| 7 | |||
| 8 | vim.api.nvim_create_autocmd("StdinReadPre", { | ||
| 9 | group = augroup, | ||
| 10 | callback = function() | ||
| 11 | vim.g.std_in = 1 | ||
| 12 | end, | ||
| 13 | }) | ||
| 14 | |||
| 15 | vim.api.nvim_create_autocmd("VimEnter", { | ||
| 16 | group = augroup, | ||
| 17 | callback = function() | ||
| 18 | if vim.fn.argc() == 0 and vim.g.std_in == nil then | ||
| 19 | vim.cmd("NERDTree") | ||
| 20 | end | ||
| 21 | end, | ||
| 22 | }) | ||
| 23 | |||
| 24 | vim.api.nvim_create_autocmd("BufEnter", { | ||
| 25 | group = augroup, | ||
| 26 | callback = function() | ||
| 27 | if vim.fn.winnr("$") == 1 and vim.bo.filetype == "nerdtree" then | ||
| 28 | vim.cmd("quit") | ||
| 29 | end | ||
| 30 | end, | ||
| 31 | }) | ||
| 32 | end, | ||
| 33 | } | ||
diff --git a/neovim/.config/nvim/lua/plugins/fuzzyfinder.lua b/neovim/.config/nvim/lua/plugins/fuzzyfinder.lua new file mode 100644 index 0000000..444d9ff --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/fuzzyfinder.lua | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | return { | ||
| 2 | "ctrlpvim/ctrlp.vim", | ||
| 3 | init = function() | ||
| 4 | -- Use ripgrep for listing files (fast, respects .gitignore) | ||
| 5 | if vim.fn.executable("rg") == 1 then | ||
| 6 | vim.g.ctrlp_user_command = 'rg %s --files --color=never --glob ""' | ||
| 7 | vim.g.ctrlp_use_caching = 0 | ||
| 8 | end | ||
| 9 | end, | ||
| 10 | } | ||
diff --git a/neovim/.config/nvim/lua/plugins/git.lua b/neovim/.config/nvim/lua/plugins/git.lua new file mode 100644 index 0000000..8402905 --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/git.lua | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | return { | ||
| 2 | "tpope/vim-fugitive", | ||
| 3 | "mhinz/vim-signify", | ||
| 4 | } | ||
diff --git a/neovim/.config/nvim/lua/plugins/langs.lua b/neovim/.config/nvim/lua/plugins/langs.lua new file mode 100644 index 0000000..7bf22d4 --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/langs.lua | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | return { | ||
| 2 | { | ||
| 3 | "chase/vim-ansible-yaml", | ||
| 4 | cond = function() | ||
| 5 | return vim.fn.executable("ansible") == 1 | ||
| 6 | end, | ||
| 7 | }, | ||
| 8 | { | ||
| 9 | "hashivim/vim-terraform", | ||
| 10 | cond = function() | ||
| 11 | return vim.fn.executable("terraform") == 1 | ||
| 12 | end, | ||
| 13 | }, | ||
| 14 | } | ||
diff --git a/neovim/.config/nvim/lua/plugins/lsp.lua b/neovim/.config/nvim/lua/plugins/lsp.lua new file mode 100644 index 0000000..0463dde --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/lsp.lua | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | return { | ||
| 2 | "mason-org/mason-lspconfig.nvim", | ||
| 3 | dependencies = { | ||
| 4 | { "mason-org/mason.nvim", opts = {} }, | ||
| 5 | "neovim/nvim-lspconfig", | ||
| 6 | "saghen/blink.cmp", | ||
| 7 | }, | ||
| 8 | opts = { | ||
| 9 | ensure_installed = { | ||
| 10 | "pyright", | ||
| 11 | "lua_ls", | ||
| 12 | "bashls", | ||
| 13 | "terraformls", | ||
| 14 | "yamlls", | ||
| 15 | "ts_ls", | ||
| 16 | "cssls", | ||
| 17 | "html", | ||
| 18 | }, | ||
| 19 | -- default true: auto-calls vim.lsp.enable() for every Mason-installed | ||
| 20 | -- server as it finishes installing. | ||
| 21 | }, | ||
| 22 | config = function(_, opts) | ||
| 23 | -- Merge blink.cmp's LSP capabilities into every server's default config | ||
| 24 | -- (Mason-managed or not) before any server gets enabled. | ||
| 25 | vim.lsp.config("*", { | ||
| 26 | capabilities = require("blink.cmp").get_lsp_capabilities(), | ||
| 27 | }) | ||
| 28 | |||
| 29 | require("mason-lspconfig").setup(opts) | ||
| 30 | |||
| 31 | -- clangd ships with Xcode Command Line Tools already, so it's not | ||
| 32 | -- Mason-managed — nvim-lspconfig provides its default config, we just | ||
| 33 | -- need to turn it on. | ||
| 34 | vim.lsp.enable("clangd") | ||
| 35 | end, | ||
| 36 | } | ||
diff --git a/neovim/.config/nvim/lua/plugins/statusline.lua b/neovim/.config/nvim/lua/plugins/statusline.lua new file mode 100644 index 0000000..b93b34c --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/statusline.lua | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | return { | ||
| 2 | "bling/vim-airline", | ||
| 3 | lazy = false, | ||
| 4 | dependencies = { | ||
| 5 | "vim-airline/vim-airline-themes", | ||
| 6 | "edkolev/tmuxline.vim", | ||
| 7 | }, | ||
| 8 | init = function() | ||
| 9 | -- On arch linux install the following: | ||
| 10 | -- otf-powerline-symbols-git | ||
| 11 | -- powerline-fonts-git | ||
| 12 | vim.g.airline_powerline_fonts = 1 | ||
| 13 | vim.g["airline#extensions#tabline#enabled"] = 1 | ||
| 14 | |||
| 15 | -- vim.g dict reads return a copy, not a live reference, so the nested | ||
| 16 | -- field has to be set via a local table and reassigned. | ||
| 17 | local symbols = vim.g.airline_symbols or {} | ||
| 18 | symbols.space = "\u{a0}" | ||
| 19 | vim.g.airline_symbols = symbols | ||
| 20 | |||
| 21 | vim.opt.laststatus = 2 | ||
| 22 | end, | ||
| 23 | } | ||
