diff options
Diffstat (limited to 'nvim')
30 files changed, 1102 insertions, 0 deletions
diff --git a/nvim/.luarc.json b/nvim/.luarc.json new file mode 100644 index 0000000..c901255 --- /dev/null +++ b/nvim/.luarc.json @@ -0,0 +1,7 @@ +{ + "diagnostics.globals": [ + "vim", + "_lazygit_toggle", + "config" + ] +}
\ No newline at end of file diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100644 index 0000000..dbc863e --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1 @@ +require("config") diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json new file mode 100644 index 0000000..e475c21 --- /dev/null +++ b/nvim/lazy-lock.json @@ -0,0 +1,32 @@ +{ + "catppuccin": { "branch": "main", "commit": "18bab5ec4c782cdf7d7525dbe89c60bfa02fc195" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "dashboard-nvim": { "branch": "master", "commit": "2af7b6d5bb24099dbbdf4a6cacc5fcf2a7094d62" }, + "indent-blankline.nvim": { "branch": "master", "commit": "dddb5d21811c319eb6e51a993d8fb44b193aae3f" }, + "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" }, + "lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" }, + "lspkind.nvim": { "branch": "master", "commit": "cff4ae321a91ee3473a92ea1a8c637e3a9510aec" }, + "lspsaga.nvim": { "branch": "main", "commit": "4ce44df854f447cf0a8972e5387b3aeb5efc798b" }, + "lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" }, + "noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" }, + "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, + "nvim-autopairs": { "branch": "master", "commit": "19606af7c039271d5aa96bceff101e7523af3136" }, + "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, + "nvim-lspconfig": { "branch": "master", "commit": "d4814330b207a4e05ba9515e453b0e87f20357ec" }, + "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, + "nvim-parinfer": { "branch": "master", "commit": "5ca09287ab3f4144f78ff7977fabc27466f71044" }, + "nvim-treesitter": { "branch": "master", "commit": "1e860567fbc19f117a03c0d2c46dcc01325c1b8b" }, + "nvim-web-devicons": { "branch": "master", "commit": "3722e3d1fb5fe1896a104eb489e8f8651260b520" }, + "oil.nvim": { "branch": "master", "commit": "a632c898fbe0e363ef89b9577f1a7714ab67d682" }, + "plenary.nvim": { "branch": "master", "commit": "ec289423a1693aeae6cd0d503bac2856af74edaa" }, + "telescope.nvim": { "branch": "master", "commit": "5972437de807c3bc101565175da66a1aa4f8707a" }, + "todo-comments.nvim": { "branch": "main", "commit": "8f45f353dc3649cb9b44cecda96827ea88128584" }, + "toggleterm.nvim": { "branch": "main", "commit": "137d06fb103952a0fb567882bb8527e2f92d327d" }, + "trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" }, + "vim-highlightedyank": { "branch": "master", "commit": "afb0f262b490706c23e94012c2ab9fa67c0481ce" }, + "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, + "which-key.nvim": { "branch": "main", "commit": "6c1584eb76b55629702716995cca4ae2798a9cca" }, + "yuck.vim": { "branch": "master", "commit": "9b5e0370f70cc30383e1dabd6c215475915fe5c3" } +} diff --git a/nvim/lua/config/globals.lua b/nvim/lua/config/globals.lua new file mode 100644 index 0000000..6ef2cd8 --- /dev/null +++ b/nvim/lua/config/globals.lua @@ -0,0 +1,2 @@ +vim.g.mapleader = " " +vim.g.maplocalleader = " " diff --git a/nvim/lua/config/init.lua b/nvim/lua/config/init.lua new file mode 100644 index 0000000..03722bd --- /dev/null +++ b/nvim/lua/config/init.lua @@ -0,0 +1,3 @@ +require("config.lazy") +require("config.keymaps") +require("config.options") diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..f6d97c9 --- /dev/null +++ b/nvim/lua/config/keymaps.lua @@ -0,0 +1,36 @@ +-- define common options +local keymap = vim.keymap +local opts = { + noremap = true, -- non-recursive + silent = true, -- do not show message +} + +-- Pane Navigation +keymap.set("n", "<C-h>", "<C-w>h", opts) +keymap.set("n", "<C-j>", "<C-w>j", opts) +keymap.set("n", "<C-k>", "<C-w>k", opts) +keymap.set("n", "<C-l>", "<C-w>l", opts) + +-- Window Resize +keymap.set("n", "<C-Up>", ":resize -2<Enter>", opts) +keymap.set("n", "<C-Down>", ":resize +2<Enter>", opts) +keymap.set("n", "<C-Left>", ":vertical resize -2<Enter>", opts) +keymap.set("n", "<C-Right>", ":vertical resize +2<Enter>", opts) + +-- Window Managment +keymap.set("n", "<Space>sv", ":vsplit<Enter>", opts) +keymap.set("n", "<Space>sh", ":split<Enter>", opts) + +-- Indending +keymap.set("v", "<", "<gv") +keymap.set("v", ">", ">gv") + +-- Comments +vim.api.nvim_set_keymap("n", "<C-c>", "gcc", { noremap = false }) +vim.api.nvim_set_keymap("v", "<C-c>", "gcc<Esc>", { noremap = false }) + +-- Buffer kill +keymap.set("n", "<C-q>", ":bdelete!<Enter>", opts) + +-- Working +keymap.set("n", "<C-s>", ":w<Enter>", opts) diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..7dcfac6 --- /dev/null +++ b/nvim/lua/config/lazy.lua @@ -0,0 +1,46 @@ +-- bootstrap lazy +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable release + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +require("config.globals") + +local opts = { + defaults = { + lazy = true, + }, + rtp = { + disabled_plugins = { + "gzip", + "matchit", + "matchparen", + "netrw", + "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + } + }, + change_detection = { + notify = false, + }, + ui = { + border = "rounded", + backdrop = 100, + }, + checker = { + enabled = true, + } +} + +require("lazy").setup("plugins", opts) diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua new file mode 100644 index 0000000..1629194 --- /dev/null +++ b/nvim/lua/config/options.lua @@ -0,0 +1,39 @@ +local opt = vim.opt + +-- Indent +opt.softtabstop = 2 +opt.shiftwidth = 2 +opt.expandtab = true +opt.smartindent = true +opt.wrap = false + +-- Appearance +opt.number = true +opt.cursorline = true +opt.termguicolors = true +opt.showmode = true +opt.colorcolumn = "100" +opt.signcolumn = "yes" +opt.cmdheight = 1 +opt.scrolloff = 10 +opt.completeopt = "menuone,noinsert,noselect" + +-- Search +opt.incsearch = true +opt.hlsearch = false +opt.ignorecase = true +opt.smartcase = true + +-- Behaviuor +opt.hidden = true +opt.errorbells = false +opt.swapfile = false +opt.backup = false +opt.backspace = "indent,eol,start" +opt.splitright = true +opt.splitbelow = true +opt.autochdir = false +opt.mouse = "a" +opt.clipboard = "unnamedplus" +opt.modifiable = true +opt.encoding = "UTF-8" diff --git a/nvim/lua/plugins/catppuccin.lua b/nvim/lua/plugins/catppuccin.lua new file mode 100644 index 0000000..8599732 --- /dev/null +++ b/nvim/lua/plugins/catppuccin.lua @@ -0,0 +1,58 @@ +local config = function() + require("catppuccin").setup({ + custom_highlights = function(colors) + return { + TodoError = { fg = colors.base, bg = colors.red }, + } + end, + integrations = { + dashboard = true, + indent_blankline = { + enabled = true, + colored_indent_levels = false, + }, + lsp_saga = false, + neotree = false, + cmp = true, + native_lsp = { + enabled = true, + virtual_text = { + errors = { "italic" }, + hints = { "italic" }, + warnings = { "italic" }, + information = { "italic" }, + ok = { "italic" }, + }, + underlines = { + errors = { "undercurl" }, + hints = { "underline" }, + warnings = { "undercurl" }, + information = { "underline" }, + ok = { "underline" }, + }, + inlay_hints = { + background = true, + }, + }, + treesitter = true, + telescope = { + enabled = true, + -- style = "nvchad" + }, + lsp_trouble = false, + illuminate = { + enabled = true, + lsp = false + }, + which_key = false + } + }) + vim.cmd.colorscheme("catppuccin-macchiato") +end + +return { + "catppuccin/nvim", + name = "catppuccin", + lazy = false, + config = config, +} diff --git a/nvim/lua/plugins/dashboard-nvim.lua b/nvim/lua/plugins/dashboard-nvim.lua new file mode 100644 index 0000000..06b87f9 --- /dev/null +++ b/nvim/lua/plugins/dashboard-nvim.lua @@ -0,0 +1,323 @@ +math.randomseed(os.time()) + +Headers = { + { + [[ ███╗ ██╗ ███████╗ ██████╗ ██╗ ██╗ ██╗ ███╗ ███╗ ]], + [[ ████╗ ██║ ██╔════╝██╔═══██╗ ██║ ██║ ██║ ████╗ ████║ ]], + [[ ██╔██╗ ██║ █████╗ ██║ ██║ ██║ ██║ ██║ ██╔████╔██║ ]], + [[ ██║╚██╗██║ ██╔══╝ ██║ ██║ ╚██╗ ██╔╝ ██║ ██║╚██╔╝██║ ]], + [[ ██║ ╚████║ ███████╗╚██████╔╝ ╚████╔╝ ██║ ██║ ╚═╝ ██║ ]], + [[ ╚═╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝ ]], + [[ ]], + }, + { + [[ ███▄ █ ▓█████ ▒█████ ██▒ █▓ ██▓ ███▄ ▄███▓ ]], + [[ ██ ▀█ █ ▓█ ▀ ▒██▒ ██▒▓██░ █▒▓██▒▓██▒▀█▀ ██▒ ]], + [[ ▓██ ▀█ ██▒▒███ ▒██░ ██▒ ▓██ █▒░▒██▒▓██ ▓██░ ]], + [[ ▓██▒ ▐▌██▒▒▓█ ▄ ▒██ ██░ ▒██ █░░░██░▒██ ▒██ ]], + [[ ▒██░ ▓██░░▒████▒░ ████▓▒░ ▒▀█░ ░██░▒██▒ ░██▒ ]], + [[ ░ ▒░ ▒ ▒ ░░ ▒░ ░░ ▒░▒░▒░ ░ ▐░ ░▓ ░ ▒░ ░ ░ ]], + [[ ░ ░░ ░ ▒░ ░ ░ ░ ░ ▒ ▒░ ░ ░░ ▒ ░░ ░ ░ ]], + [[ ░ ░ ░ ░ ░ ░ ░ ▒ ░░ ▒ ░░ ░ ]], + [[ ░ ░ ░ ░ ░ ░ ░ ░ ]], + [[ ░ ]], + [[ ]], + }, + { + [[ ██████ █████ █████ █████ ███ ]], + [[ ░░██████ ░░███ ░░███ ░░███ ░░░ ]], + [[ ░███░███ ░███ ██████ ██████ ░███ ░███ ████ █████████████ ]], + [[ ░███░░███░███ ███░░███ ███░░███ ░███ ░███ ░░███ ░░███░░███░░███ ]], + [[ ░███ ░░██████ ░███████ ░███ ░███ ░░███ ███ ░███ ░███ ░███ ░███ ]], + [[ ░███ ░░█████ ░███░░░ ░███ ░███ ░░░█████░ ░███ ░███ ░███ ░███ ]], + [[ █████ ░░█████░░██████ ░░██████ ░░███ █████ █████░███ █████ ]], + [[ ░░░░░ ░░░░░ ░░░░░░ ░░░░░░ ░░░ ░░░░░ ░░░░░ ░░░ ░░░░░ ]], + [[ ]], + }, + { + [[ ▐ ▄ ▄▄▄ . ▌ ▐·▪ • ▌ ▄ ·. ]], + [[ •█▌▐█▀▄.▀· ▄█▀▄ ▪█·█▌██ ·██ ▐███▪ ]], + [[ ▐█▐▐▌▐▀▀▪▄▐█▌.▐▌▐█▐█•▐█·▐█ ▌▐▌▐█· ]], + [[ ██▐█▌▐█▄▄▌▐█▌.▐▌ ███ ▐█▌██ ██▌▐█▌ ]], + [[ ▀▀ █▪ ▀▀▀ ▀█▄▀▪. ▀ ▀▀▀▀▀ █▪▀▀▀ ]], + [[ ]], + + }, + { + [[ __ __ ________ ______ __ __ ______ __ __ ]], + [[ | \ | \ \/ \| \ | \ \ \ / \ ]], + [[ | ▓▓\ | ▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓\ ▓▓ | ▓▓\▓▓▓▓▓▓ ▓▓\ / ▓▓ ]], + [[ | ▓▓▓\| ▓▓ ▓▓__ | ▓▓ | ▓▓ ▓▓ | ▓▓ | ▓▓ | ▓▓▓\ / ▓▓▓ ]], + [[ | ▓▓▓▓\ ▓▓ ▓▓ \ | ▓▓ | ▓▓\▓▓\ / ▓▓ | ▓▓ | ▓▓▓▓\ ▓▓▓▓ ]], + [[ | ▓▓\▓▓ ▓▓ ▓▓▓▓▓ | ▓▓ | ▓▓ \▓▓\ ▓▓ | ▓▓ | ▓▓\▓▓ ▓▓ ▓▓ ]], + [[ | ▓▓ \▓▓▓▓ ▓▓_____| ▓▓__/ ▓▓ \▓▓ ▓▓ _| ▓▓_| ▓▓ \▓▓▓| ▓▓ ]], + [[ | ▓▓ \▓▓▓ ▓▓ \\▓▓ ▓▓ \▓▓▓ | ▓▓ \ ▓▓ \▓ | ▓▓ ]], + [[ \▓▓ \▓▓\▓▓▓▓▓▓▓▓ \▓▓▓▓▓▓ \▓ \▓▓▓▓▓▓\▓▓ \▓▓ ]], + [[ ]], + }, + { + [[ ▀███▄ ▀███▀███▀▀▀███ ▄▄█▀▀██▄ ▀████▀ ▀███▀████▀████▄ ▄███▀ ]], + [[ ███▄ █ ██ ▀█▄██▀ ▀██▄ ▀██ ▄█ ██ ████ ████ ]], + [[ █ ███ █ ██ █ ██▀ ▀██ ██▄ ▄█ ██ █ ██ ▄█ ██ ]], + [[ █ ▀██▄ █ ██████ ██ ██ ██▄ █▀ ██ █ █▓ █▀ ██ ]], + [[ █ ▀██▄▓ ██ █ ▄█ ██ ▀▓█ ▓▀ █▓ ▓ █▓▄█▀ ██ ]], + [[ ▓ ▓█▓ █▓ ▄███ ██▀ ▓██▄ █▓ ▓ ▀▓█▀ ██ ]], + [[ ▓ ▀▓▓▓▓ ▓▓ ▓ ▓██ ▓█▓ ▓▓ ▓▀ ▓▓ ▓ ▓▓▓▓▀ ▓▓ ]], + [[ ▓ ▓▓▓ ▓▓ ▓▓█▓▓▓ ▓▓▓ ▓▓▒▒ ▒▓ ▒ ▀▓▓▀ ▓▓ ]], + [[ ▒ ▒ ▒ ▒▓▓▒ ▒▒▒▓▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒▓▒ ▒▒ ▒▒▒ ▒ ▒ ▒▒▒ ]], + [[ ]], + }, + { + [[ _.oo. ]], + [[ _.u[[/;:,. .odMMMMMM' ]], + [[ .o888UU[[[/;:-. .o@P^ MMM^ ]], + [[ oN88888UU[[[/;::-. dP^ ]], + [[ dNMMNN888UU[[[/;:--. .o@P^ ]], + [[ ,MMMMMMN888UU[[/;::-. o@^ ]], + [[ NNMMMNN888UU[[[/~.o@P^ ]], + [[ 888888888UU[[[/o@^-.. ]], + [[ oI8888UU[[[/o@P^:--.. ]], + [[ .@^ YUU[[[/o@^;::---.. ]], + [[ oMP ^/o@P^;:::---.. ]], + [[ .dMMM .o@^ ^;::---... ]], + [[ dMMMMMMM@^` `^^^^ ]], + [[ YMMMUP^ ]], + [[ ^^ ]], + [[ ]], + }, + { + [[ ⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆ ]], + [[ ⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦ ]], + [[ ⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄ ]], + [[ ⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄ ]], + [[ ⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀ ]], + [[ ⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄ ]], + [[ ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ ]], + [[ ⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ ]], + [[ ⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄ ]], + [[ ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ ]], + [[ ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃ ]], + [[ ]], + }, + { + [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣤⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣤⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀]], + [[⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀]], + [[⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀]], + [[⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⡆⠀⠀⠀⢸⣿⣿⠿⠿⢿⣿⣿⣿⣿⡿⠿⠿⣿⣿⡇⠀⠀⠀⣾⣿⣿⡿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀]], + [[⠀⠀⠀⠀⢿⣿⠿⠿⠿⠿⣿⣿⣿⡏⠀⠀⠀⢹⣿⡇⠀⠀⠀⢸⣿⢱⣶⣴⣶⢹⣿⣿⡏⣶⣦⣶⡎⣿⡇⠀⠀⠀⢿⣿⠁⠀⠀⠈⣿⣿⣿⡿⠟⣋⣽⣿⣿⠇⠀⠀⠀⠀]], + [[⠀⠀⠀⠀⠘⣿⣧⣄⣀⣴⣿⣿⣿⣷⣄⣀⣠⣾⣟⠀⠀⠀⠀⠈⣿⣦⣙⣛⣡⣾⡿⢿⣷⣌⣛⣋⣴⣿⠁⠀⠀⠀⠘⣿⣦⣄⣀⣴⣿⣿⣿⣿⣶⣶⣤⣿⡟⠀⠀⠀⠀⠀]], + [[⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣏⣼⣌⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣰⣆⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣏⣼⣌⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀]], + [[⠀⠀⠀⠀⠀⠀⠉⠉⢿⣿⣿⣿⣿⣿⣿⡏⠉⠁⠀⠀⠀⠀⠀⠀⠀⠉⠉⢹⣿⣿⣿⣿⣿⣿⡏⠉⠉⠀⠀⠀⠀⠀⠀⠀⠉⠉⣿⣿⣿⣿⣿⣿⣿⡏⠉⠁⠀⠀⠀⠀⠀⠀]], + [[⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠁⠁⠁⠉⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠁⠉⠉⠈⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠁⠁⠁⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀]], + [[ ]], + }, + { + [[ ,-. _,---._ __ / \ ]], + [[ / ) .-' `./ / \ ]], + [[ ( ( ,' `/ /| ]], + [[ \ `-" \'\ / | ]], + [[ `. , \ \ / | ]], + [[ /`. ,'-`----Y | ]], + [[ ( ; | ' ]], + [[ | ,-. ,-' | / ]], + [[ | | ( | | / ]], + [[ ) | \ `.___________|/ ]], + [[ `--' `--' ]], + [[ ]], + }, + { + [[ |\ _,,,---,,_ ]], + [[ ZZZzz /,`.-'`' -. ;-;;,_ ]], + [[ |,4- ) )-,_. ,\ ( `'-' ]], + [[ '---''(_/--' `-'\_) ]], + [[ ]], + }, + { + [[ ____ ]], + [[ /\ \ ]], + [[ / \ \ ]], + [[ / \ \ ]], + [[ / \ \ ]], + [[ / /\ \ \ ]], + [[ / / \ \ \ ]], + [[ / / \ \ \ ]], + [[ / / / \ \ \ ]], + [[ / / / \ \ \ ]], + [[ / / /---------' \ ]], + [[ / / /_______________\ ]], + [[ \ / / ]], + [[ \/_____________________/ ]], + [[ ]], + }, + { + [[ ____ ]], + [[ ,-~~~~' '~~~~-, ]], + [[ ,' '', ]], + [[ ( Y ]], + [[ { I ]], + [[ { - `. ]], + [[ | ', ) ]], + [[ | | ,..__ __. Y ]], + [[ | .,_./ Y ' / ^Y J )| ]], + [[ \ |' / | | || ]], + [[ \ L_/ . _ (_,.'( ]], + [[ \, , ^^""' / | ) ]], + [[ \_ \ /,L] / ]], + [[ '-_`-, ` ` ./` ]], + [[ `-(_ ) ]], + [[ ^^\..___,.--` ]], + [[ ]], + }, + { + [[ ____ ]], + [[ _.-'78o `"`--._ ]], + [[ ,o888o. .o888o, ''-. ]], + [[ ,88888P `78888P..______.] ]], + [[ /_..__..----"" __.' ]], + [[ `-._ /""| _..-'' ]], + [[ "`-----\ `\ ]], + [[ | ;.-""--.. ]], + [[ | ,8o. o88. `. ]], + [[ `;888P `788P : ]], + [[ .o""-.|`-._ ./ ]], + [[ J88 _.-/ ";"-P----' ]], + [[ `--'\`| / / ]], + [[ | / | | ]], + [[ \| / | ]], + [[ `-----`---' ]], + [[ ]], + }, + { + [[ ,. ]], + [[ J;`. ]], + [[ iyi.`. ]], + [[ j?7;. : ]], + [[ fclu:.` : ]], + [[ dE2Xvi;. `. ]], + [[ JGL56bhx;.'; ]], + [[ 4KPY^f:l"`-; ]], + [[ """l:;-"" ]], + [[ `; \ ]], + [[ .' ; ]], + [[ /'.' ]], + [[ f .' ]], + [[ `. \ ]], + [[ `-' ]], + [[ ]], + }, + { + [[ ___..._ ]], + [[ _,--' "`-. ]], + [[ ,'. . \ ]], + [[ ,/:. . . .' ]], + [[ |;.. . _..--' ]], + [[ `--:...-,-'""\ ]], + [[ |:. `. ]], + [[ l;. l ]], + [[ `|:. | ]], + [[ |:. `., ]], + [[ .l;. j, , ]], + [[ `. \`;:. //,/ ]], + [[ .\\)`;,|\'/( ]], + [[ ` ` ` ]], + [[ ]], + } +} + +Quotes = { + { + "", + "I don't care that they stole my idea... I care that they don't have any of their own", + "~ Nikola Tesla", + }, + { + "", + "Make everything as simple as possible, but not simpler.", + "~ Albert Einstein", + }, + { + "", + "Code never lies, comments sometimes do.", + "~ Ron Jeffries", + }, + { + "", + "Good code is its own best documentation.", + "~ Steve McConnell", + }, + { + "", + "I do not fear computers. I fear the lack of them.", + "~ Isaac Asimov", + }, + { + "", + "If a machine is expected to be infallible, it cannot also be intelligent.", + "~ Alan Turing", + }, + { + "", + "Mathematical reasoning may be regarded.", + "~ Alan Turing", + }, + { + "", + "Anti-social behavior is a trait of intelligence in a world full of conformists.", + "~ Nikola Tesla", + }, + { + "", + "We are very, very small, but we are profoundly capable of very, very big things.", + "~ Stephen Hawking", + }, + { + "", + "Quiet people have the loudest minds.", + "~ Stephen Hawking", + } +} + +local header = function() + return Headers[math.random(#Headers)] +end + +local footer = function() + return Quotes[math.random(#Quotes)] +end + +local init = function() + local keymap = vim.keymap + keymap.set("n", "<Space>d", ":Dashboard<Enter>", + { noremap = true, silent = true, desc = "Dashboard" }) -- Dashboard +end + +local hyper = function() + require("dashboard").setup { + theme = "hyper", + shortcut_type = "number", + change_to_vcs_root = true, + hide = { + statusline = false + }, + config = { + header = header(), + shortcut = { + { action = "ene | lua require('lualine')", desc = "New", icon = " ", key = "n" }, + { action = "Lazy", desc = "Lazy", icon = " ", key = "l" }, + { action = "Oil --float", desc = "File browser", icon = " ", key = "o" }, + }, + packages = { enable = true }, + project = { enable = true }, + mru = { limit = 5 }, + footer = footer, + }, + } +end + +return { + "eric-marin/dashboard-nvim", + dependencies = { "nvim-tree/nvim-web-devicons" }, + lazy = false, + init = init, + config = hyper, +} diff --git a/nvim/lua/plugins/indent-blankline.lua b/nvim/lua/plugins/indent-blankline.lua new file mode 100644 index 0000000..465d5a9 --- /dev/null +++ b/nvim/lua/plugins/indent-blankline.lua @@ -0,0 +1,13 @@ +return { + "lukas-reineke/indent-blankline.nvim", + lazy = true, + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + main = "ibl", + opts = { + exclude = { + filetypes = { + "dashboard", + }, + }, + }, +} diff --git a/nvim/lua/plugins/lazy.lua b/nvim/lua/plugins/lazy.lua new file mode 100644 index 0000000..d48db7e --- /dev/null +++ b/nvim/lua/plugins/lazy.lua @@ -0,0 +1,12 @@ +local init = function() + local keymap = vim.keymap + keymap.set("n", "<Space>p", ":Lazy home<Enter>", + { noremap = true, silent = true, desc = "Plugin Manager (Lazy)" }) +end + + +return { + "folke/lazy.nvim", + lazy = false, + init = init +} diff --git a/nvim/lua/plugins/lazydev.lua b/nvim/lua/plugins/lazydev.lua new file mode 100644 index 0000000..704d963 --- /dev/null +++ b/nvim/lua/plugins/lazydev.lua @@ -0,0 +1,5 @@ +return { + "folke/lazydev.nvim", + ft = "lua", -- only load on lua files + opts = {} +} diff --git a/nvim/lua/plugins/lspsaga.lua b/nvim/lua/plugins/lspsaga.lua new file mode 100644 index 0000000..e486799 --- /dev/null +++ b/nvim/lua/plugins/lspsaga.lua @@ -0,0 +1,26 @@ +return { + "nvimdev/lspsaga.nvim", + lazy = true, + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + config = function() + require("lspsaga").setup({ + -- keybinds for navigation in lspsaga window + move_in_saga = { prev = "<C-k>", next = "<C-j>" }, + -- use enter to open file with finder + finder_action_keys = { + open = "<Enter>" + }, + -- use enter to open file with definition preview + definition_action_keys = { + edit = "<Enter>" + }, + ui = { + code_action = "", + }, + }) + end, + dependencies = { + "nvim-treesitter/nvim-treesitter", -- optional + "nvim-tree/nvim-web-devicons", -- optional + }, +} diff --git a/nvim/lua/plugins/lualine.lua b/nvim/lua/plugins/lualine.lua new file mode 100644 index 0000000..1e00892 --- /dev/null +++ b/nvim/lua/plugins/lualine.lua @@ -0,0 +1,34 @@ +local config = function() + require("lualine").setup({ + options = { + theme = "catppuccin", + globalstatus = true, + disabled_filetypes = { "toggleterm", "lazy", "oil", "dashboard", "TelescopePrompt", "oil_preview" } + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { "branch", "diff", + { + "diagnostics", + sections = { "error", "warn", "info", "hint" }, + symbols = { error = " ", warn = " ", info = " ", hint = " " }, + } + }, + lualine_c = { + { + require("lazy.status").updates, + cond = require("lazy.status").has_updates, + color = { fg = "#ff9e64" }, + }, + }, + }, + }) +end + +return { + "nvim-lualine/lualine.nvim", + lazy = true, + event = "VeryLazy", + -- event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + config = config, +} diff --git a/nvim/lua/plugins/noice.lua b/nvim/lua/plugins/noice.lua new file mode 100644 index 0000000..575cfcf --- /dev/null +++ b/nvim/lua/plugins/noice.lua @@ -0,0 +1,22 @@ +local config = function() + require("notify").setup({ + render = "wrapped-compact", + max_width = 50 + }) +end + +return { + "folke/noice.nvim", + lazy = true, + event = "VeryLazy", + opts = { + -- add any options here + }, + dependencies = { + "MunifTanjim/nui.nvim", + { + "rcarriga/nvim-notify", + config = config, + }, + }, +} diff --git a/nvim/lua/plugins/nvim-autopairs.lua b/nvim/lua/plugins/nvim-autopairs.lua new file mode 100644 index 0000000..d92a8cc --- /dev/null +++ b/nvim/lua/plugins/nvim-autopairs.lua @@ -0,0 +1,6 @@ +return { + "windwp/nvim-autopairs", + lazy = true, + event = "InsertEnter", + config = true +} diff --git a/nvim/lua/plugins/nvim-cmp.lua b/nvim/lua/plugins/nvim-cmp.lua new file mode 100644 index 0000000..d997a2c --- /dev/null +++ b/nvim/lua/plugins/nvim-cmp.lua @@ -0,0 +1,62 @@ +local config = function() + local cmp = require("cmp") + vim.opt.completeopt = "menu,menuone" + + cmp.setup({ + formatting = { + expandable_indicator = false, + fields = { "abbr", "kind" }, + format = require("lspkind").cmp_format({ + mode = "text_symbol", + maxwidth = function() return math.floor(0.45 * vim.o.columns) end, + ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) + before = function(_, vim_item) + vim_item.menu = "" + return vim_item + end + }) + }, + snippet = { + expand = function(args) + vim.snippet.expand(args.body) + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = { + ["<TAB>"] = cmp.mapping.select_next_item(), + ["<C-b>"] = cmp.mapping.scroll_docs(-4), + ["<C-f>"] = cmp.mapping.scroll_docs(4), + ["<C-Space>"] = cmp.mapping.complete(), + ["<C-e>"] = cmp.mapping.abort(), + ["<CR>"] = cmp.mapping.confirm({ select = true }), + }, + sources = cmp.config.sources( + { + { name = "nvim_lsp" }, + }, { + { name = "buffer" }, + }, { + { name = "path" }, + }, { + { name = "lazydev", group_index = 0 } + } + ) + }) +end + +return { + "hrsh7th/nvim-cmp", + lazy = true, + event = "InsertEnter", + config = config, + dependencies = { + "neovim/nvim-lspconfig", + "onsails/lspkind.nvim", + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + }, +} diff --git a/nvim/lua/plugins/nvim-lspconfig.lua b/nvim/lua/plugins/nvim-lspconfig.lua new file mode 100644 index 0000000..f592b00 --- /dev/null +++ b/nvim/lua/plugins/nvim-lspconfig.lua @@ -0,0 +1,82 @@ +local config = function() + local lspconfig = require("lspconfig") + local capabilities = require("cmp_nvim_lsp").default_capabilities() + + -- setting custom signs + local signs = { Error = "", Warn = "", Hint = "", Info = "" } + for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) + end + + local on_attach = function(client, bufnr) + local keymap = vim.keymap + local opts = { noremap = true, silent = true, buffer = bufnr } + + -- setting custom keymaps + keymap.set("n", "<Space>lf", ":Lspsaga finder<Enter>", opts) -- go to definition + keymap.set("n", "<Space>lp", ":Lspsaga peek_definition<Enter>", opts) -- peak definition + keymap.set("n", "<Space>lg", ":Lspsaga goto_definition<Enter>", opts) -- go to definition + keymap.set("n", "<Space>la", ":Lspsaga code_action<Enter>", opts) -- see available code actions + keymap.set("n", "<Space>lr", ":Lspsaga rename<Enter>", opts) -- smart rename + keymap.set("n", "<Space>ld", ":Lspsaga hover_doc<Enter>", opts) -- show documentation for what is under cursor + + -- enable auto formatting on save + if client.supports_method("textDocument/formatting") then + vim.api.nvim_create_autocmd("BufWritePre", { + buffer = bufnr, + callback = function() + vim.lsp.buf.format({ async = true }) + end, + }) + end + end + + -- efm server configuration + lspconfig.efm.setup({ + init_options = { + documentFormatting = true, + documentRangeFormatting = true, + hover = true, + documentSymbol = true, + codeAction = true, + completion = true, + }, + }) + + -- clangd server configuration + lspconfig.clangd.setup({ + on_attach = on_attach, + capabilities = capabilities, + }) + + -- rust analyzer server configuration + lspconfig.rust_analyzer.setup({ + on_attach = on_attach, + capabilities = capabilities, + }) + + -- cmake-language-server configuration + lspconfig.cmake.setup({ + on_attach = on_attach, + capabilities = capabilities, + }) + + -- haskell-language-server configuration + lspconfig.hls.setup({ + on_attach = on_attach, + capabilities = capabilities, + }) + -- lua-language-server + lspconfig.lua_ls.setup({ + on_attach = on_attach, + capabilities = capabilities, + }) +end + +return { + "neovim/nvim-lspconfig", + config = config, + lazy = true, + event = { "BufReadPost", "BufWritePost", "BufNewFile" } +} diff --git a/nvim/lua/plugins/nvim-parinfer.lua b/nvim/lua/plugins/nvim-parinfer.lua new file mode 100644 index 0000000..15dced7 --- /dev/null +++ b/nvim/lua/plugins/nvim-parinfer.lua @@ -0,0 +1,5 @@ +return { + "gpanders/nvim-parinfer", + lazy = true, + ft = "yuck", +} diff --git a/nvim/lua/plugins/nvim-treesitter.lua b/nvim/lua/plugins/nvim-treesitter.lua new file mode 100644 index 0000000..988673b --- /dev/null +++ b/nvim/lua/plugins/nvim-treesitter.lua @@ -0,0 +1,47 @@ +local config = function() + require("nvim-treesitter.configs").setup({ + ensure_installed = { + "c", + "lua", + "markdown", + "vim", + "vimdoc", + "query", + + "regex", + "diff", + "cmake", + "markdown_inline", + "bash", + "toml", + + "cpp", + "rust", + "haskell", + "nix" + }, + auto_install = false, + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + incremental_selection = { + enable = true + }, + indent = { + enable = true, + }, + autotag = { + enable = true, + }, + }) + + vim.cmd(":TSUpdate") +end + +return { + "nvim-treesitter/nvim-treesitter", + lazy = true, + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + config = config, +} diff --git a/nvim/lua/plugins/oil.lua b/nvim/lua/plugins/oil.lua new file mode 100644 index 0000000..be3f35e --- /dev/null +++ b/nvim/lua/plugins/oil.lua @@ -0,0 +1,38 @@ +local init = function() + local keymap = vim.keymap + keymap.set("n", "<Space>b", ":Oil --float .<Enter>", + { noremap = true, silent = true, desc = "File browser (Oil)" }) -- Oil +end + + + +local config = function() + require("oil").setup({ + default_file_explorer = true, + delete_to_trash = true, + skip_confirm_for_simple_edits = true, + keymaps = { + ["o?"] = "actions.show_help", + ["<CR>"] = "actions.select", + ["op"] = "actions.preview", + ["q"] = "actions.close", + ["or"] = "actions.refresh", + ["-"] = "actions.parent", + ["_"] = "actions.open_cwd", + ["~"] = "actions.cd", + ["os"] = "actions.change_sort", + ["o."] = "actions.toggle_hidden", + ["ot"] = "actions.toggle_trash", + }, + use_default_keymaps = false, + }) +end + +return { + "stevearc/oil.nvim", + dependencies = { "nvim-tree/nvim-web-devicons" }, + lazy = true, + cmd = "Oil", + init = init, + config = config +} diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..da57922 --- /dev/null +++ b/nvim/lua/plugins/telescope.lua @@ -0,0 +1,53 @@ +local init = function() + local keymap = vim.keymap + keymap.set("n", "<Space>tk", ":Telescope keymaps<Enter>", + { noremap = true, silent = true, desc = "Keymaps (Telescope)" }) -- Keymaps + keymap.set("n", "<Space>th", ":Telescope help_tags<Enter>", + { noremap = true, silent = true, desc = "Help (Telescope)" }) -- Help + keymap.set("n", "<Space>tf", ":Telescope find_files<Enter>", + { noremap = true, silent = true, desc = "Find files (Telescope)" }) -- Find files + keymap.set("n", "<Space>ta", ":Telescope<Enter>", + { noremap = true, silent = true, desc = "All commands (Telescope)" }) -- All commands + keymap.set("n", "<Space>tg", ":Telescope live_grep<Enter>", + { noremap = true, silent = true, desc = "Find words (Telescope)" }) -- Find words + keymap.set("n", "<Space>tb", ":Telescope buffers<Enter>", + { noremap = true, silent = true, desc = "Buffers (Telescope)" }) -- Buffers +end + +local config = function() + local telescope = require("telescope") + telescope.setup({ + defaults = { + mappings = { + i = { + ["<C-j>"] = "move_selection_next", + ["<C-k>"] = "move_selection_previous", + }, + }, + }, + picker = { + find_files = { + theme = "dropdown", + previewer = false, + hidden = true, + }, + live_grep = { + theme = "dropdown", + previewer = false, + }, + find_buffers = { + theme = "dropdown", + previewer = false, + }, + }, + }) +end + +return { + "nvim-telescope/telescope.nvim", + dependencies = { "nvim-lua/plenary.nvim" }, + lazy = true, + cmd = "Telescope", + init = init, + config = config +} diff --git a/nvim/lua/plugins/todo-comments.lua b/nvim/lua/plugins/todo-comments.lua new file mode 100644 index 0000000..34da0fe --- /dev/null +++ b/nvim/lua/plugins/todo-comments.lua @@ -0,0 +1,34 @@ +return { + "folke/todo-comments.nvim", + dependencies = { "nvim-lua/plenary.nvim" }, + lazy = true, + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + opts = { + keywords = { + FIX = { icon = "", color = "error", alt = { "FIXME", "BUG", "FIXIT", "ISSUE" } }, + TODO = { icon = "", color = "info" }, + HACK = { icon = "", color = "hack" }, + WARN = { icon = "", color = "warning", alt = { "WARNING", "XXX" } }, + PERF = { icon = "", color = "perf", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } }, + NOTE = { icon = "", color = "hint", alt = { "INFO" } }, + TEST = { icon = "", color = "test", alt = { "TESTING", "PASSED", "FAILED" } }, + }, + colors = { + error = { "DiagnosticError", "ErrorMsg", "#DC2626" }, + warning = { "DiagnosticWarn", "WarningMsg", "#FBBF24" }, + info = { "DiagnosticInfo", "#2563EB" }, + hint = { "DiagnosticHint", "#10B981" }, + test = { "Identifier", "#FF00FF" }, + hack = "#F5A97F", + perf = "#C6A0F6" + } + } +} + +-- FIX: ciao +-- TODO: ciao +-- HACK: ciao +-- WARN: ciao +-- PERF: ciao +-- NOTE: ciao +-- TEST: ciao diff --git a/nvim/lua/plugins/toggleterm.lua b/nvim/lua/plugins/toggleterm.lua new file mode 100644 index 0000000..f47d0ab --- /dev/null +++ b/nvim/lua/plugins/toggleterm.lua @@ -0,0 +1,64 @@ +local init = function() + local keymap = vim.keymap + keymap.set("n", "<C-t>", ":ToggleTerm<Enter>:startinsert<Enter>", + { noremap = true, silent = true, desc = "Terminal (ToggleTerm)" }) -- Terminal + keymap.set("t", "<C-t>", "<C-\\><C-n>:ToggleTerm<Enter>") + keymap.set("n", "<Space>g", ":ToggleLazyGit<Enter>", + { noremap = true, silent = true, desc = "LazyGit (ToggleTerm)" }) -- LazyGit +end + +local config = function() + require("toggleterm").setup { + autochdir = false, + direction = "float", + -- open_mapping = [[<c-t>]], + -- terminal_mappings = true, + start_in_insert = false, + float_opts = { + border = "curved", + }, + on_open = function(term) + local cwd = vim.fn.getcwd() + if term.dir ~= cwd then + term:send("cd " .. cwd .. " && clear") + term.dir = cwd + end + end, + } + local Terminal = require("toggleterm.terminal").Terminal + local opts = { + noremap = true, -- non-recursive + silent = true, -- do not show message + } + + -- LazyGit + local lazygit = Terminal:new({ + cmd = "lazygit", + dir = "git_dir", + direction = "float", + float_opts = { + border = "curved", + }, + -- function to run on opening the terminal + on_open = function(term) + vim.cmd("startinsert!") + vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", ":close<Enter>", opts) + end, + -- function to run on closing the terminal + on_close = function() + vim.cmd("startinsert!") + end, + }) + local function toggle_lazygit() + lazygit:toggle() + end + vim.api.nvim_create_user_command("ToggleLazyGit", toggle_lazygit, {}) +end + +return { + "akinsho/toggleterm.nvim", + lazy = true, + cmd = { "ToggleTerm", "ToggleLazyGit" }, + init = init, + config = config, +} diff --git a/nvim/lua/plugins/trouble.lua b/nvim/lua/plugins/trouble.lua new file mode 100644 index 0000000..a49d906 --- /dev/null +++ b/nvim/lua/plugins/trouble.lua @@ -0,0 +1,24 @@ +local init = function() + local keymap = vim.keymap + keymap.set("n", "<Space>rd", ":Trouble diagnostics toggle<Enter>", + { noremap = true, silent = true, desc = "Diagnostics (Trouble)" }) -- Diagnostics + keymap.set("n", "<Space>rt", ":Trouble todo toggle<Enter>", + { noremap = true, silent = true, desc = "Todos (Trouble)" }) -- Todos + keymap.set("n", "<Space>ro", ":Trouble symbols toggle<Enter>", + { noremap = true, silent = true, desc = "Outline (Trouble)" }) -- Outline +end + +local config = function() + require("trouble").setup({ + use_diagnostic_signs = true + }) +end + +return { + "folke/trouble.nvim", + dependencies = { "nvim-tree/nvim-web-devicons" }, + lazy = true, + cmd = "Trouble", + init = init, + config = config +} diff --git a/nvim/lua/plugins/vim-highlightedyank.lua b/nvim/lua/plugins/vim-highlightedyank.lua new file mode 100644 index 0000000..9405e9e --- /dev/null +++ b/nvim/lua/plugins/vim-highlightedyank.lua @@ -0,0 +1,8 @@ +return { + "machakann/vim-highlightedyank", + lazy = true, + keys = { + { "y", mode = "n" }, + { "y", mode = "v" } + } +} diff --git a/nvim/lua/plugins/vim-illuminate.lua b/nvim/lua/plugins/vim-illuminate.lua new file mode 100644 index 0000000..f44b6c9 --- /dev/null +++ b/nvim/lua/plugins/vim-illuminate.lua @@ -0,0 +1,5 @@ +return { + "RRethy/vim-illuminate", + lazy = true, + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, +} diff --git a/nvim/lua/plugins/which-key.lua b/nvim/lua/plugins/which-key.lua new file mode 100644 index 0000000..5b1383e --- /dev/null +++ b/nvim/lua/plugins/which-key.lua @@ -0,0 +1,10 @@ +return { + "folke/which-key.nvim", + lazy = true, + event = "VeryLazy", + init = function() + vim.o.timeout = true + vim.o.timeoutlen = 500 + end, + opts = {} +} diff --git a/nvim/lua/plugins/yuck.lua b/nvim/lua/plugins/yuck.lua new file mode 100644 index 0000000..aedbeba --- /dev/null +++ b/nvim/lua/plugins/yuck.lua @@ -0,0 +1,5 @@ +return { + "elkowar/yuck.vim", + lazy = true, + ft = "yuck" +} |
