summaryrefslogtreecommitdiff
path: root/nvim/lua/config
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/lua/config')
-rw-r--r--nvim/lua/config/keymaps.lua54
-rw-r--r--nvim/lua/config/lazy.lua2
-rw-r--r--nvim/lua/config/lsp.lua78
-rw-r--r--nvim/lua/config/man.lua9
-rw-r--r--nvim/lua/config/plugins.lua14
-rw-r--r--nvim/lua/config/plugins/blink-cmp.lua32
-rw-r--r--nvim/lua/config/plugins/fzf.lua48
-rw-r--r--nvim/lua/config/plugins/tree-sitter.lua10
-rw-r--r--nvim/lua/config/trailing-spaces.lua21
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" }
+)