diff options
Diffstat (limited to 'nvim/lua/config')
| -rw-r--r-- | nvim/lua/config/keymaps.lua | 54 | ||||
| -rw-r--r-- | nvim/lua/config/lazy.lua | 2 | ||||
| -rw-r--r-- | nvim/lua/config/lsp.lua | 78 | ||||
| -rw-r--r-- | nvim/lua/config/man.lua | 9 | ||||
| -rw-r--r-- | nvim/lua/config/plugins.lua | 14 | ||||
| -rw-r--r-- | nvim/lua/config/plugins/blink-cmp.lua | 32 | ||||
| -rw-r--r-- | nvim/lua/config/plugins/fzf.lua | 48 | ||||
| -rw-r--r-- | nvim/lua/config/plugins/tree-sitter.lua | 10 | ||||
| -rw-r--r-- | nvim/lua/config/trailing-spaces.lua | 21 |
9 files changed, 144 insertions, 124 deletions
diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua index f1ac959..b7e540c 100644 --- a/nvim/lua/config/keymaps.lua +++ b/nvim/lua/config/keymaps.lua @@ -1,29 +1,43 @@ - -vim.keymap.set('n', '<leader>c', '<C-w>c', { noremap = true, silent = true, desc = 'Close window' }) -vim.keymap.set('n', '<leader>o', '<C-w>o', { noremap = true, silent = true, desc = 'Close other windows' }) +vim.keymap.set("n", "<leader>c", "<C-w>c", { noremap = true, silent = true, desc = "Close window" }) +vim.keymap.set("n", "<leader>o", "<C-w>o", { noremap = true, silent = true, desc = "Close other windows" }) -- z means laZy (plugin manager) -vim.keymap.set('n', '<leader>z', ':Lazy<CR>', { noremap = true, silent = true, desc = 'Open Lazy.nvim' }) +vim.keymap.set("n", "<leader>z", ":Lazy<CR>", { noremap = true, silent = true, desc = "Open Lazy.nvim" }) -- LSP binds -- default gd searches only in current buffer as a keyword -vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { noremap = true, silent = true, desc = 'Open definition' }) +vim.keymap.set("n", "gd", vim.lsp.buf.definition, { noremap = true, silent = true, desc = "Open definition" }) -- Fugitive shortcuts -vim.keymap.set('n', '<leader>gd', ':Gvdiffsplit<CR>', { noremap = true, silent = true, desc = 'Git diff (unstaged changes)' }) -vim.keymap.set('n', '<leader>gD', ':Gvdiffsplit HEAD<CR>', { noremap = true, silent = true, desc = 'Git diff (all changes after HEAD)' }) -vim.keymap.set('n', '<leader>gs', ':Git<CR>', { noremap = true, silent = true, desc = 'Git status' }) -vim.keymap.set('n', '<leader>gb', ':Git blame<CR>', { noremap = true, silent = true, desc = 'Git blame' }) -vim.keymap.set('n', '<leader>gl', ':Git log<CR>', { noremap = true, silent = true, desc = 'Git log' }) -vim.keymap.set('n', '<leader>gL', ':0Gclog<CR>', { noremap = true, silent = true, desc = 'Git log: this file' }) -vim.keymap.set('n', '<leader>ge', ':Gedit<CR>', { noremap = true, silent = true, desc = 'Git: return to worktree' }) +vim.keymap.set( + "n", + "<leader>gd", + ":Gvdiffsplit<CR>", + { noremap = true, silent = true, desc = "Git diff (unstaged changes)" } +) +vim.keymap.set( + "n", + "<leader>gD", + ":Gvdiffsplit HEAD<CR>", + { noremap = true, silent = true, desc = "Git diff (all changes after HEAD)" } +) +vim.keymap.set("n", "<leader>gs", ":Git<CR>", { noremap = true, silent = true, desc = "Git status" }) +vim.keymap.set("n", "<leader>gb", ":Git blame<CR>", { noremap = true, silent = true, desc = "Git blame" }) +vim.keymap.set("n", "<leader>gl", ":Git log<CR>", { noremap = true, silent = true, desc = "Git log" }) +vim.keymap.set("n", "<leader>gL", ":0Gclog<CR>", { noremap = true, silent = true, desc = "Git log: this file" }) +vim.keymap.set("n", "<leader>ge", ":Gedit<CR>", { noremap = true, silent = true, desc = "Git: return to worktree" }) -vim.keymap.set('n', '<leader>e', ':lua MiniFiles.open(vim.api.nvim_buf_get_name(0), false)<CR>', { noremap = true, silent = true, desc = 'File Explorer' }) -vim.keymap.set('n', '<leader>aa', ':argadd<CR>:argdedupe<CR>', { noremap = true, silent = true, desc = 'Add to args' }) -vim.keymap.set('n', '<leader>ad', ':argdelete %<CR>', { noremap = true, silent = true, desc = 'Delete from args' }) -vim.keymap.set('n', '<leader>lr', ':lsp restart<CR>', { noremap = true, silent = true, desc = 'LSP: restart' }) -vim.keymap.set('n', '<leader>ld', ':lsp disable<CR>', { noremap = true, silent = true, desc = 'LSP: stop' }) -vim.keymap.set('n', '<leader>le', ':lsp enable<CR>', { noremap = true, silent = true, desc = 'LSP: start' }) -vim.keymap.set('n', '<leader>li', ':checkhealth vim.lsp<CR>', { noremap = true, silent = true, desc = 'LSP: info' }) +vim.keymap.set( + "n", + "<leader>e", + ":lua MiniFiles.open(vim.api.nvim_buf_get_name(0), false)<CR>", + { noremap = true, silent = true, desc = "File Explorer" } +) +vim.keymap.set("n", "<leader>aa", ":argadd<CR>:argdedupe<CR>", { noremap = true, silent = true, desc = "Add to args" }) +vim.keymap.set("n", "<leader>ad", ":argdelete %<CR>", { noremap = true, silent = true, desc = "Delete from args" }) +vim.keymap.set("n", "<leader>lr", ":lsp restart<CR>", { noremap = true, silent = true, desc = "LSP: restart" }) +vim.keymap.set("n", "<leader>ld", ":lsp disable<CR>", { noremap = true, silent = true, desc = "LSP: stop" }) +vim.keymap.set("n", "<leader>le", ":lsp enable<CR>", { noremap = true, silent = true, desc = "LSP: start" }) +vim.keymap.set("n", "<leader>li", ":checkhealth vim.lsp<CR>", { noremap = true, silent = true, desc = "LSP: info" }) -vim.keymap.set('n', '<leader>p', ':!npx prettier -w %<CR><CR>', { noremap = true, silent = true, desc = 'LSP: info' }) +vim.keymap.set("n", "<leader>fm", require("conform").format, { noremap = true, silent = true, desc = "Format code" }) diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua index 8a4118f..bf174bc 100644 --- a/nvim/lua/config/lazy.lua +++ b/nvim/lua/config/lazy.lua @@ -24,7 +24,7 @@ vim.g.maplocalleader = "\\" -- Setup lazy.nvim require("lazy").setup({ -- Plugins - spec = require('config.plugins'), + spec = require("config.plugins"), install = { colorscheme = { "gruvbox" } }, checker = { enabled = true, notify = false }, }) diff --git a/nvim/lua/config/lsp.lua b/nvim/lua/config/lsp.lua index 82a64fb..1927dba 100644 --- a/nvim/lua/config/lsp.lua +++ b/nvim/lua/config/lsp.lua @@ -1,70 +1,70 @@ -- LSP diagnostic info config (erorrs, warnings, etc.) vim.diagnostic.config({ -- use virtual text to show diagnostic messages - virtual_text = true, + virtual_text = true, }) -- requires vscode-json-languageserver -vim.lsp.enable('jsonls') -vim.lsp.config('jsonls', { +vim.lsp.enable("jsonls") +vim.lsp.config("jsonls", { settings = { json = { - schemas = require('schemastore').json.schemas { + schemas = require("schemastore").json.schemas({ select = { - 'tsconfig.json', - 'package.json', - 'prettierrc.json', - '.eslintrc', - } - }, + "tsconfig.json", + "package.json", + "prettierrc.json", + ".eslintrc", + }, + }), validate = { enable = true }, }, }, }) -vim.api.nvim_create_autocmd({"BufRead", "BufNewFile"}, { - pattern = { "api-extractor.json" }, - callback = function() - vim.bo.filetype = "jsonc" - end, +vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { + pattern = { "api-extractor.json" }, + callback = function() + vim.bo.filetype = "jsonc" + end, }) -- requires bash-language-server, shellcheck is a nice optional addition -vim.lsp.enable('bashls') +vim.lsp.enable("bashls") -- dymanic path to bitbucket config schema local bb_schema_path = vim.fn.stdpath("config") .. "/bitbucket-pipelines.json" -- requires yaml-language-server -vim.lsp.enable('yamlls') -vim.lsp.config('yamlls', { +vim.lsp.enable("yamlls") +vim.lsp.config("yamlls", { settings = { yaml = { - schemas = require('schemastore').yaml.schemas { + schemas = require("schemastore").yaml.schemas({ -- I can stop using that until this schema stops using $ref in root: -- https://api.bitbucket.org/schemas/pipelines-configuration replace = { - ['bitbucket-pipelines'] = { - description = 'Patched pipelines schema', - name = 'bitbucket-pipelines', - fileMatch = 'bitbucket-pipelines.yml', - url = 'file://' .. bb_schema_path, - } - } - }, - } - } + ["bitbucket-pipelines"] = { + description = "Patched pipelines schema", + name = "bitbucket-pipelines", + fileMatch = "bitbucket-pipelines.yml", + url = "file://" .. bb_schema_path, + }, + }, + }), + }, + }, }) -- requires clang installed -vim.lsp.enable('clangd') -vim.lsp.enable('eslint') -vim.lsp.enable('cssls') +vim.lsp.enable("clangd") +vim.lsp.enable("eslint") +vim.lsp.enable("cssls") -- requires typescript-language-server -vim.lsp.enable('ts_ls') +vim.lsp.enable("ts_ls") -- requires jdtls (AUR) and mfussenegger/nvim-jdtls plugin -vim.lsp.enable('jdtls') -vim.lsp.config('jdtls', { +vim.lsp.enable("jdtls") +vim.lsp.config("jdtls", { settings = { java = { configuration = { @@ -74,8 +74,8 @@ vim.lsp.config('jdtls', { name = "JavaSE-17", path = "/usr/lib/jvm/java-17-temurin/", }, - } - } - } - } + }, + }, + }, + }, }) diff --git a/nvim/lua/config/man.lua b/nvim/lua/config/man.lua index 3b6e734..42f0011 100644 --- a/nvim/lua/config/man.lua +++ b/nvim/lua/config/man.lua @@ -1,7 +1,6 @@ vim.api.nvim_create_autocmd("FileType", { - pattern = "man", - callback = function() - vim.o.number = true - end, + pattern = "man", + callback = function() + vim.o.number = true + end, }) - diff --git a/nvim/lua/config/plugins.lua b/nvim/lua/config/plugins.lua index 7f773b4..399576d 100644 --- a/nvim/lua/config/plugins.lua +++ b/nvim/lua/config/plugins.lua @@ -28,7 +28,7 @@ return { event = "VeryLazy", config = function() require("nvim-surround").setup({}) - end + end, }, { "neovim/nvim-lspconfig" }, { "b0o/schemastore.nvim" }, @@ -37,14 +37,14 @@ return { branch = "main", dependencies = { "nvim-mini/mini.icons" }, config = function() - require('mini.files').setup({ + require("mini.files").setup({ mappings = { - go_in_plus = '<CR>', - synchronize = '<leader>w', + go_in_plus = "<CR>", + synchronize = "<leader>w", }, windows = { preview = false, - } + }, }) end, }, @@ -61,8 +61,10 @@ return { end, update_interval = 3000, fallback = "dark", - } + }, }, { "mfussenegger/nvim-jdtls" }, { "LunarVim/bigfile.nvim" }, + -- Plugin for formatters. See formatters.lua for configs + { "stevearc/conform.nvim" }, } diff --git a/nvim/lua/config/plugins/blink-cmp.lua b/nvim/lua/config/plugins/blink-cmp.lua index c9c0447..d8798fa 100644 --- a/nvim/lua/config/plugins/blink-cmp.lua +++ b/nvim/lua/config/plugins/blink-cmp.lua @@ -1,42 +1,42 @@ return { - 'saghen/blink.cmp', - dependencies = { 'rafamadriz/friendly-snippets' }, + "saghen/blink.cmp", + dependencies = { "rafamadriz/friendly-snippets" }, - version = '1.*', + version = "1.*", ---@module 'blink.cmp' ---@type blink.cmp.Config opts = { keymap = { - preset = 'default', + preset = "default", -- <up>-<down> to navigate, <right> to accept - ['<C-j>'] = { 'select_next', 'fallback' }, - ['<C-k>'] = { 'select_prev', 'fallback' }, - ['<Tab>'] = { 'select_and_accept', 'fallback' }, - ['<C-l>'] = { 'select_and_accept', 'fallback' }, + ["<C-j>"] = { "select_next", "fallback" }, + ["<C-k>"] = { "select_prev", "fallback" }, + ["<Tab>"] = { "select_and_accept", "fallback" }, + ["<C-l>"] = { "select_and_accept", "fallback" }, }, appearance = { - nerd_font_variant = 'mono' + nerd_font_variant = "mono", }, completion = { documentation = { auto_show = true } }, sources = { - default = { 'lsp', 'path', 'snippets', 'buffer' }, + default = { "lsp", "path", "snippets", "buffer" }, providers = { snippets = { opts = { friendly_snippets = true, extended_filetypes = { - typescript = { 'javascript' }, - } - } - } - } + typescript = { "javascript" }, + }, + }, + }, + }, }, fuzzy = { implementation = "prefer_rust_with_warning" }, }, - opts_extend = { "sources.default" } + opts_extend = { "sources.default" }, } diff --git a/nvim/lua/config/plugins/fzf.lua b/nvim/lua/config/plugins/fzf.lua index d50ca35..9280b5c 100644 --- a/nvim/lua/config/plugins/fzf.lua +++ b/nvim/lua/config/plugins/fzf.lua @@ -1,22 +1,22 @@ local file_edit_or_argadd = function(selected, opts) - if #selected > 1 then - FzfLua.actions.arg_add(selected, opts) - FzfLua.args() - else - return FzfLua.actions.file_edit(selected, opts) - end + if #selected > 1 then + FzfLua.actions.arg_add(selected, opts) + FzfLua.args() + else + return FzfLua.actions.file_edit(selected, opts) + end end -require('fzf-lua').setup({ +require("fzf-lua").setup({ winopts = { height = 1, width = 0.7, - border = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' }, + border = { " ", " ", " ", " ", " ", " ", " ", " " }, col = 1, -- right-aligned - border = 'none', + border = "none", preview = { wrap = true, - border = 'none', + border = "none", scrollbar = false, }, }, @@ -25,22 +25,22 @@ require('fzf-lua').setup({ }, files = { actions = { - ["enter"] = file_edit_or_argadd - } + ["enter"] = file_edit_or_argadd, + }, }, }) local opts = { silent = true } -vim.keymap.set('n', '<leader>ff', ':FzfLua files<CR>', { silent = true, desc = 'Fzf: Files' }) -vim.keymap.set('n', '<leader>fr', ':FzfLua resume<CR>', { silent = true, desc = 'Fzf: Resume (After Alt+Esc)' }) -vim.keymap.set('n', '<leader>fg', ':FzfLua live_grep<CR>', { silent = true, desc = 'Fzf: Live Grep' }) -vim.keymap.set('n', '<leader>fG', ':FzfLua grep<CR>', { silent = true, desc = 'Fzf: Grep' }) -vim.keymap.set('n', '<leader>fs', ':FzfLua git_status<CR>', { silent = true, desc = 'Fzf: git status' }) -vim.keymap.set('n', '<leader>fls', ':FzfLua lsp_workspace_symbols<CR>', { silent = true, desc = 'Fzf: LSP Symbols' }) -vim.keymap.set('n', '<leader>flr', ':FzfLua lsp_references<CR>', { silent = true, desc = 'Fzf: LSP - References' }) -vim.keymap.set('n', '<leader>flf', ':FzfLua lsp_finder<CR>', { silent = true, desc = 'Fzf: LSP - Finder' }) -vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>', { silent = true, desc = 'Fzf: Buffers' }) -vim.keymap.set('n', '<leader>fk', ':FzfLua keymaps<CR>', { silent = true, desc = 'Fzf: Keymaps' }) -vim.keymap.set('n', '<leader>fa', ':FzfLua args<CR>', { silent = true, desc = 'Fzf: Args' }) -vim.keymap.set('n', '<leader>fq', ':FzfLua quickfix<CR>', { silent = true, desc = 'Fzf: Quickfix list' }) +vim.keymap.set("n", "<leader>ff", ":FzfLua files<CR>", { silent = true, desc = "Fzf: Files" }) +vim.keymap.set("n", "<leader>fr", ":FzfLua resume<CR>", { silent = true, desc = "Fzf: Resume (After Alt+Esc)" }) +vim.keymap.set("n", "<leader>fg", ":FzfLua live_grep<CR>", { silent = true, desc = "Fzf: Live Grep" }) +vim.keymap.set("n", "<leader>fG", ":FzfLua grep<CR>", { silent = true, desc = "Fzf: Grep" }) +vim.keymap.set("n", "<leader>fs", ":FzfLua git_status<CR>", { silent = true, desc = "Fzf: git status" }) +vim.keymap.set("n", "<leader>fls", ":FzfLua lsp_workspace_symbols<CR>", { silent = true, desc = "Fzf: LSP Symbols" }) +vim.keymap.set("n", "<leader>flr", ":FzfLua lsp_references<CR>", { silent = true, desc = "Fzf: LSP - References" }) +vim.keymap.set("n", "<leader>flf", ":FzfLua lsp_finder<CR>", { silent = true, desc = "Fzf: LSP - Finder" }) +vim.keymap.set("n", "<leader>fb", ":FzfLua buffers<CR>", { silent = true, desc = "Fzf: Buffers" }) +vim.keymap.set("n", "<leader>fk", ":FzfLua keymaps<CR>", { silent = true, desc = "Fzf: Keymaps" }) +vim.keymap.set("n", "<leader>fa", ":FzfLua args<CR>", { silent = true, desc = "Fzf: Args" }) +vim.keymap.set("n", "<leader>fq", ":FzfLua quickfix<CR>", { silent = true, desc = "Fzf: Quickfix list" }) diff --git a/nvim/lua/config/plugins/tree-sitter.lua b/nvim/lua/config/plugins/tree-sitter.lua index 8ce4514..2bd66e0 100644 --- a/nvim/lua/config/plugins/tree-sitter.lua +++ b/nvim/lua/config/plugins/tree-sitter.lua @@ -3,11 +3,11 @@ return { { "nvim-treesitter/nvim-treesitter", - branch = 'main', + branch = "main", lazy = false, build = ":TSUpdate", config = function() - require('nvim-treesitter').install { + require("nvim-treesitter").install({ "bash", "c", "css", @@ -31,7 +31,7 @@ return { "vim", "vimdoc", "yaml", - } - end - } + }) + end, + }, } diff --git a/nvim/lua/config/trailing-spaces.lua b/nvim/lua/config/trailing-spaces.lua index 2bb4cbf..799280e 100644 --- a/nvim/lua/config/trailing-spaces.lua +++ b/nvim/lua/config/trailing-spaces.lua @@ -1,16 +1,21 @@ -- highlights trailing spaces -vim.cmd('match Search /\\s\\+$/') +vim.cmd("match Search /\\s\\+$/") -- disable highlight when going into insert mode -vim.api.nvim_create_autocmd({'ModeChanged'}, { - pattern = {'*:i'}, - command = 'match none', +vim.api.nvim_create_autocmd({ "ModeChanged" }, { + pattern = { "*:i" }, + command = "match none", }) -- highlights trailing spaces when going back to normal mode -vim.api.nvim_create_autocmd({'ModeChanged'}, { - pattern = {'*:n'}, - command = 'match Search /\\s\\+$/', +vim.api.nvim_create_autocmd({ "ModeChanged" }, { + pattern = { "*:n" }, + command = "match Search /\\s\\+$/", }) -vim.keymap.set('n', '<leader>t', ':%s/\\s\\+$//g<CR>', { noremap = true, silent = true, desc = 'Remove Trailing Whitespaces' }) +vim.keymap.set( + "n", + "<leader>t", + ":%s/\\s\\+$//g<CR>", + { noremap = true, silent = true, desc = "Remove Trailing Whitespaces" } +) |
