diff options
Diffstat (limited to 'lua/config')
| -rw-r--r-- | lua/config/autocmds.lua | 12 | ||||
| -rw-r--r-- | lua/config/init.lua | 4 | ||||
| -rw-r--r-- | lua/config/keymaps.lua | 28 | ||||
| -rw-r--r-- | lua/config/lsp.lua | 10 | ||||
| -rw-r--r-- | lua/config/options.lua | 40 | ||||
| -rw-r--r-- | lua/config/packages/alpha.lua | 56 | ||||
| -rw-r--r-- | lua/config/packages/autopairs.lua | 3 | ||||
| -rw-r--r-- | lua/config/packages/barbar.lua | 19 | ||||
| -rw-r--r-- | lua/config/packages/blink.lua | 11 | ||||
| -rw-r--r-- | lua/config/packages/colorscheme.lua | 3 | ||||
| -rw-r--r-- | lua/config/packages/conform.lua | 23 | ||||
| -rw-r--r-- | lua/config/packages/fzf.lua | 5 | ||||
| -rw-r--r-- | lua/config/packages/gitsigns.lua | 7 | ||||
| -rw-r--r-- | lua/config/packages/init.lua | 18 | ||||
| -rw-r--r-- | lua/config/packages/lint.lua | 19 | ||||
| -rw-r--r-- | lua/config/packages/lspconfig.lua | 2 | ||||
| -rw-r--r-- | lua/config/packages/lualine.lua | 12 | ||||
| -rw-r--r-- | lua/config/packages/mini.lua | 1 | ||||
| -rw-r--r-- | lua/config/packages/tree.lua | 9 | ||||
| -rw-r--r-- | lua/config/packages/whichkey.lua | 1 |
20 files changed, 283 insertions, 0 deletions
diff --git a/lua/config/autocmds.lua b/lua/config/autocmds.lua new file mode 100644 index 0000000..46efe8a --- /dev/null +++ b/lua/config/autocmds.lua @@ -0,0 +1,12 @@ +-- highlight when yanking +vim.api.nvim_create_autocmd("TextYankPost", { + desc = "Highlight when yanking text", + group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }), + callback = function() + vim.hl.on_yank() + end, +}) + +-- update plugins +vim.api.nvim_create_user_command("PackUpdate", function() vim.pack.update() end, {}) + diff --git a/lua/config/init.lua b/lua/config/init.lua new file mode 100644 index 0000000..4be42fe --- /dev/null +++ b/lua/config/init.lua @@ -0,0 +1,4 @@ +require("config.options") +require("config.keymaps") +require("config.autocmds") +require("config.lsp") diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua new file mode 100644 index 0000000..96dff5e --- /dev/null +++ b/lua/config/keymaps.lua @@ -0,0 +1,28 @@ +-- no op leader key +vim.keymap.set("n", "<SPACE>", "<Nop>", { desc = "nop leader key" }) + +-- keep page dwn + up centered +vim.keymap.set("n", "<C-u>", "<C-u>zz", { desc = "center page up" }) +vim.keymap.set("n", "<C-d>", "<C-d>zz", { desc = "center page down" }) + +-- keep searching dwn + up centered +vim.keymap.set("n", "n", "nzzzv", { desc = "center searching" }) +vim.keymap.set("n", "N", "Nzzzv", { desc = "center searching" }) + +-- clear search highlight +vim.keymap.set("n", "<Esc>", "<CMD>nohlsearch<CR>", { desc = "clear search highlights" }) + +-- diagnostics +vim.keymap.set("n", "<leader>dD", function() vim.diagnostic.setqflist() end, { desc = "Diagnostics: workspace" }) +vim.keymap.set("n", "<leader>dd", function() vim.diagnostic.setloclist() end, { desc = "Diagnostics: file" }) + +-- Remap for dealing with word wrap +vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) +vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) + +-- Diagnostic keymaps +vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' }) +vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' }) +vim.keymap.set('n', '<leader>t', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' }) +vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostics list' }) + diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua new file mode 100644 index 0000000..f6f49dd --- /dev/null +++ b/lua/config/lsp.lua @@ -0,0 +1,10 @@ +local lspservers = { + "basedpyright", + "ruff", + "clangd", + "rust_analyzer", + "lua_ls", + "zls", +} +vim.lsp.enable(lspservers) + diff --git a/lua/config/options.lua b/lua/config/options.lua new file mode 100644 index 0000000..47fb6f2 --- /dev/null +++ b/lua/config/options.lua @@ -0,0 +1,40 @@ +local o = vim.o + +vim.o.nu = true +vim.o.relativenumber = true +-- tab and indent opts +vim.o.tabstop = 4 +vim.o.softtabstop = 4 +vim.o.shiftwidth = 4 +vim.o.expandtab = true +-- indents +vim.o.breakindent = true +vim.o.autoindent = true +vim.o.copyindent = true +-- no line wrapping +vim.o.wrap = false +-- minimum num lines to keep around cursor +vim.o.scrolloff = 8 +vim.o.sidescrolloff = 8 +-- search +vim.o.ignorecase = true +vim.o.smartcase = true +-- save + undo +vim.o.swapfile = false +vim.o.backup = false +vim.o.undofile = true +vim.o.hlsearch = false +-- misc +vim.o.mouse = 'a' +vim.o.clipboard = 'unnamedplus' +vim.o.completeopt = 'menuone,noselect,fuzzy' +vim.o.termguicolors = true + +-- leader keys +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + + + +-- vim.o.updatetime = 250 +-- vim.o.timeoutlen = 300 diff --git a/lua/config/packages/alpha.lua b/lua/config/packages/alpha.lua new file mode 100644 index 0000000..5c3c1d8 --- /dev/null +++ b/lua/config/packages/alpha.lua @@ -0,0 +1,56 @@ +vim.pack.add({ gh("goolord/alpha-nvim") }) + +local status_ok, alpha = pcall(require, "alpha") +if not status_ok then + return +end + +local dashboard = require("alpha.themes.dashboard") +dashboard.section.header.val = { + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣦⣄⠀⠀⠠⠰⠶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣤⡤⢀⣴⣿⣿⣿⠏⠀⠋⢉⣠⣿⣿⣿⣿⣿⣿⣿⣤⣄⡀⠈⠙⢿⣿⣿⣿⣧⡀⠐⠻⣶⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⠟⠁⠉⢠⣾⣿⣿⡿⠁⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠈⠻⣿⣿⣿⣷⡄⠀⢀⠙⢿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠟⢁⡔⠀⣠⣿⣿⣿⡿⠁⣠⣾⣿⣿⠛⣻⣿⣿⡿⠁⠹⣿⣿⣿⣿⣿⣿⣿⣦⡀⠹⣿⣿⣿⣿⡀⠈⢧⡈⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⢠⡿⠀⢰⣿⣿⣿⡿⠁⣼⣿⣿⡿⠃⣼⣿⠏⠀⠁⣴⣆⠈⠉⠙⢿⣿⣿⣿⣿⣷⡄⢹⣿⣿⣿⣷⠀⠀⢷⡈⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⢠⣿⠃⠀⣿⣿⣿⣿⠃⣸⣿⣿⠟⢀⣾⠿⠋⠀⢠⣾⣿⣿⣷⣄⠀⠀⠙⢿⣿⣿⣿⣷⠀⣿⣿⣿⣿⡄⢣⠘⣇⠘⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⡟⠀⢰⣿⣿⣿⡟⢀⣿⠟⠀⠰⠛⠋⠀⢠⣾⣿⣿⣿⣿⣿⡿⠟⠂⣀⠀⠉⠙⢿⣿⡇⢸⣿⣿⣿⣇⠘⡄⢹⡀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⡇⠀⠸⣿⣿⣿⡇⠈⠁⠀⠀⡀⠀⢀⣀⣤⣿⣿⣿⣿⣿⣿⣷⣤⣍⣉⣁⣤⣤⣀⠙⠓⠘⣿⣿⣿⣿⠀⣇⢸⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣾⣿⠁⠀⠀⣿⣿⣿⡇⢠⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⣿⠻⣿⠛⡆⢻⠸⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⡆⠀⣿⣿⠙⡇⢸⣿⣿⡿⠿⠟⠋⠙⢻⣿⣿⣿⣿⣿⣿⣿⣿⠛⠙⠛⠿⢿⣿⣿⣿⠀⡟⠀⣿⠀⡇⢈⣀⠛⠛⠻⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⢻⣿⡆⢁⠘⣿⣿⣇⣀⣀⣀⣠⣼⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⣀⠀⢠⣿⣿⣿⠀⠇⢰⣿⠀⡇⢠⣌⣉⣉⠓⠒⠶⠶⠤⠤⣤⣀⠀ ]], + [[ ⠀⠈⠓⠶⢄⠐⠲⠀⡄⢾⣿⣿⣿⣧⠀⠘⣿⡇⠘⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⢸⣿⠀⠁⢸⣿⣿⣿⠇⢰⣀⣄⠠⠒⠉⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠘⠛⠇⠀⠹⣿⣿⣿⡄⠀⠹⣷⠀⠁⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⣿⡏⠀⠀⣾⡿⠟⠋⠀⠀⠉⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠉⣙⠛⠀⠀⠙⡆⠀⠀⢻⣿⣿⣿⣿⣿⣿⡿⠿⣿⠿⠿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣇⢀⡾⠀⠇⠀⠀⢀⡠⠄⢀⣠⣶⡇⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⡆⠉⠀⠀⠀⠀⠀⠀⠀⢺⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠈⢠⣶⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⡄⠀⠀⠸⣿⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠀⠀⠀⣾⠁⠀⣠⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣷⠀⠘⡀⢻⡀⠀⠀⠀⠈⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠉⠀⠀⠀⠀⠀⠃⠀⢰⣿⣿⣿⠀⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠸⣿⣿⡀⠀⣧⠘⡇⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⠿⢿⣿⠿⠿⠛⠋⠁⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⢸⣿⣿⡿⢰⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡀⣿⣿⣇⠀⢿⡄⠃⢸⣿⣿⠀⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣾⡇⠈⣿⣿⣿⠀⠀⠀⢸⣿⣿⡇⢸⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠘⠀⣿⡇⣿⣿⣿⡆⠸⣧⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠐⣶⣶⣶⣿⣿⣿⣿⣿⡿⠋⠁⠀⣿⣿⡇⠀⠀⠀⣼⣿⣿⡇⠈⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠘⠀⣿⡇⣿⣿⣿⣷⠀⢿⡀⠀⣿⣇⠀⠱⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⠿⠛⢉⡠⠚⠀⢰⣿⣿⡇⠀⠀⠀⣿⣿⣿⡇⠀⠀⣠⡀⠀⠀⠀⠀⠀⠀⠀ ]], + [[ ⠀⠀⠀⠀⠀⠀⠀⢰⡆⠀⢹⡇⢹⣿⣿⣿⡇⠸⡇⠀⢸⣿⡄⠀⢄⣉⠛⠒⠒⠦⠤⠤⠤⠤⠒⠒⠉⣁⣤⠂⠀⣸⣿⣿⠇⢨⡰⢀⣿⣿⣿⡇⠀⣰⣿⣷⡀⠀⠀⠀⠀⠀⠀ ]], +} + +dashboard.section.buttons.val = { + dashboard.button("f", " Find file", ":FzfLua files <CR>"), + dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"), + dashboard.button("r", " Recently used files", ":FzfLua oldfiles <CR>"), + dashboard.button("t", " Find text", ":FzfLua live_grep <CR>"), + dashboard.button("c", " Configuration", ":e ~/.config/nvim/init.vim<CR>"), + dashboard.button("q", " Quit Neovim", ":qa<CR>"), +} + +local function footer() + return "The greatest joy of magic lies in searching for it" +end + +dashboard.section.footer.val = footer() + +dashboard.section.footer.opts.hl = "Type" +dashboard.section.header.opts.hl = "Include" +dashboard.section.buttons.opts.hl = "Keyword" + +dashboard.opts.opts.noautocmd = true +alpha.setup(dashboard.opts) diff --git a/lua/config/packages/autopairs.lua b/lua/config/packages/autopairs.lua new file mode 100644 index 0000000..3e2c018 --- /dev/null +++ b/lua/config/packages/autopairs.lua @@ -0,0 +1,3 @@ +vim.pack.add({ gh("windwp/nvim-autopairs") }) + +require("nvim-autopairs").setup({}) diff --git a/lua/config/packages/barbar.lua b/lua/config/packages/barbar.lua new file mode 100644 index 0000000..a3b6153 --- /dev/null +++ b/lua/config/packages/barbar.lua @@ -0,0 +1,19 @@ +vim.pack.add({ gh("romgrk/barbar.nvim") }) + +require("barbar").setup({ + animation = true, + auto_hide = true, + tabpages = true, + gitsigns = { + added = { enabled = true, icon = "+" }, + changed = { enabled = true, icon = "~" }, + deleted = { enabled = true, icon = "-" }, + }, + sidebar_filetypes = { + ["neo-tree"] = { event = "BufWipeout", text = "NeoTree" }, + }, +}) + +vim.api.nvim_set_keymap("n", "H", "<cmd>BufferPrevious<CR>", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("n", "L", "<cmd>BufferNext<CR>", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("n", "<c-x>", "<cmd>BufferClose<CR>", { noremap = true, silent = true }) diff --git a/lua/config/packages/blink.lua b/lua/config/packages/blink.lua new file mode 100644 index 0000000..b4f1433 --- /dev/null +++ b/lua/config/packages/blink.lua @@ -0,0 +1,11 @@ +vim.pack.add({ { src = gh("saghen/blink.cmp"), version = vim.version.range("1.*") } }) + +require("blink.cmp").setup({ + sources = { default = { "lsp", "path" } }, + signature = { enabled = true }, -- show signature help + completion = { + documentation = { auto_show = true, auto_show_delay_ms = 500 }, + list = { selection = { preselect = false, auto_insert = true } }, + }, + keymap = { preset = "default" }, +}) diff --git a/lua/config/packages/colorscheme.lua b/lua/config/packages/colorscheme.lua new file mode 100644 index 0000000..12f8616 --- /dev/null +++ b/lua/config/packages/colorscheme.lua @@ -0,0 +1,3 @@ +vim.pack.add({ gh("sainnhe/everforest") }) + +vim.cmd.colorscheme(color) diff --git a/lua/config/packages/conform.lua b/lua/config/packages/conform.lua new file mode 100644 index 0000000..af59b42 --- /dev/null +++ b/lua/config/packages/conform.lua @@ -0,0 +1,23 @@ +vim.pack.add({ gh("stevearc/conform.nvim") }) + +require("conform").setup({ + default_format_opts = { lsp_format = "fallback", async = true }, + formatters_by_ft = { + rust = { "rustfmt" }, + lua = { "stylua" }, + markdown = { "prettier" }, + makefile = { "bake" }, + c = { "clang-format" }, + cpp = { "clang-format" }, + bash = { "beautysh" } + }, +}) +vim.keymap.set({ "n", "x" }, "<leader>lf", function() require("conform").format() end, { desc = "conform format" }) + +vim.api.nvim_create_autocmd("BufWritePre", { + pattern = "*", + callback = function(args) + require("conform").format({ bufnr = args.buf }) + end, +}) + diff --git a/lua/config/packages/fzf.lua b/lua/config/packages/fzf.lua new file mode 100644 index 0000000..a40ddfa --- /dev/null +++ b/lua/config/packages/fzf.lua @@ -0,0 +1,5 @@ +vim.pack.add({{ src = gh("ibhagwan/fzf-lua") }}) + +vim.keymap.set("n", "<leader>/", function() require("fzf-lua").live_grep_native() end, { desc = "fzf live grep" }) +vim.keymap.set("n", "<leader>F", function() require("fzf-lua").files() end, { desc = "fzf find files" }) + diff --git a/lua/config/packages/gitsigns.lua b/lua/config/packages/gitsigns.lua new file mode 100644 index 0000000..2161b22 --- /dev/null +++ b/lua/config/packages/gitsigns.lua @@ -0,0 +1,7 @@ +vim.pack.add({{ src = gh("lewis6991/gitsigns.nvim") }}) + +require("gitsigns").setup() +vim.keymap.set("n", "<leader>gg", "<CMD>Gitsigns<CR>", { desc = "Gitsigns: menu" }) +vim.keymap.set("n", "<leader>gb", "<CMD>Gitsigns blame_line<CR>", { desc = "Gitsigns: blame line" }) +vim.keymap.set("n", "<leader>gd", "<CMD>vert rightb Gitsigns diffthis<CR>", { desc = "Gitsigns: open git diff" }) + diff --git a/lua/config/packages/init.lua b/lua/config/packages/init.lua new file mode 100644 index 0000000..0b30698 --- /dev/null +++ b/lua/config/packages/init.lua @@ -0,0 +1,18 @@ +gh = function(x) + return "https://github.com/" .. x +end + +require("config.packages.alpha") +require("config.packages.fzf") +require("config.packages.tree") +require("config.packages.gitsigns") +require("config.packages.autopairs") +require("config.packages.lualine") +require("config.packages.lspconfig") +require("config.packages.conform") +require("config.packages.lint") +require("config.packages.blink") +require("config.packages.colorscheme") +require("config.packages.barbar") +require("config.packages.mini") +require("config.packages.whichkey") diff --git a/lua/config/packages/lint.lua b/lua/config/packages/lint.lua new file mode 100644 index 0000000..7f423ab --- /dev/null +++ b/lua/config/packages/lint.lua @@ -0,0 +1,19 @@ +vim.pack.add({ gh("mfussenegger/nvim-lint") }) + +-- linters +local global_linters = { "typos" } +require("lint").linters_by_ft = { + c = { "clangtidy" }, + cpp = { "clangtidy" }, +} + +local lint = require("lint") +vim.api.nvim_create_autocmd("BufWritePost", { + callback = function() + lint.try_lint() + for _, linter in ipairs(global_linters) do + lint.try_lint(linter) + end + end, +}) + diff --git a/lua/config/packages/lspconfig.lua b/lua/config/packages/lspconfig.lua new file mode 100644 index 0000000..afb1092 --- /dev/null +++ b/lua/config/packages/lspconfig.lua @@ -0,0 +1,2 @@ +vim.pack.add({{ src = gh("neovim/nvim-lspconfig") }}) + diff --git a/lua/config/packages/lualine.lua b/lua/config/packages/lualine.lua new file mode 100644 index 0000000..3fa7281 --- /dev/null +++ b/lua/config/packages/lualine.lua @@ -0,0 +1,12 @@ +vim.pack.add({{ src = gh("nvim-lualine/lualine.nvim") }}) + +require("lualine").setup({ + options = { + theme = color, + icons_enabled = true, + component_separators = { left = '', right = '' }, + section_separators = { left = '', right = '' }, + }, +}) + + diff --git a/lua/config/packages/mini.lua b/lua/config/packages/mini.lua new file mode 100644 index 0000000..c2c0a65 --- /dev/null +++ b/lua/config/packages/mini.lua @@ -0,0 +1 @@ +vim.pack.add({ gh("echasnovski/mini.icons") }) diff --git a/lua/config/packages/tree.lua b/lua/config/packages/tree.lua new file mode 100644 index 0000000..cf89af0 --- /dev/null +++ b/lua/config/packages/tree.lua @@ -0,0 +1,9 @@ +vim.pack.add({ + { src = gh("nvim-tree/nvim-tree.lua") }, + { src = gh("nvim-tree/nvim-web-devicons") }, +}) + +require("nvim-tree").setup() +vim.keymap.set("n", "<leader>e", function() + require("nvim-tree.api").tree.toggle() +end, { desc = "File Tree Toggle" }) diff --git a/lua/config/packages/whichkey.lua b/lua/config/packages/whichkey.lua new file mode 100644 index 0000000..71ff88f --- /dev/null +++ b/lua/config/packages/whichkey.lua @@ -0,0 +1 @@ +vim.pack.add({ gh("folke/which-key.nvim") }) |
