Updated nvim and readme
7cbf7d24
17 file(s) · +478 −281
| 1 | 1 | ## Steve's Dotfiles |
|
| 2 | 2 | ||
| 3 | - | Here's a collection of dotfiles that I use regularly on my MacOS development environment. If you want to use them simply copy them to their appropriate locations, majority of them being in `~/.config`. |
|
| 3 | + | Here's a collection of dotfiles that I use regularly on my MacOS development environment. If you want to use them simply copy them to their appropriate locations, majority of them being in `~/.config`. |
|
| 4 | 4 | ||
| 5 | 5 |  |
|
| 6 | 6 | ||
| 7 | 7 | **A few things to be aware of:** |
|
| 8 | + | ||
| 8 | 9 | - Alcritty is expecting a custom font called [Commit Mono](https://commitmono.com/) which I have included here since it is open source! |
|
| 9 | - | - The color scheme for everything is based off [Tinted Themeing Base16](https://github.com/tinted-theming/base16-shell) which allows you to use the shell to change the color scheme for all the apps used. In the screenshot I am using `base16-black-metal-bathory`. |
|
| 10 | + | - The color scheme for everything is based off [Tinted Themeing Base16](https://github.com/tinted-theming/base16-shell) which allows you to use the shell to change the color scheme for all the apps used. I would recommend installing via the instructions on their repo vs trying to install by cloning this one. In the screenshot I am using `base16-black-metal-bathory`. |
|
| 10 | 11 | ||
| 11 | - | Feel free to [reach out](mailto:hello@stevedylan.dev) if you have any questions! |
|
| 12 | + | Feel free to [reach out](mailto:hello@stevedylan.dev) if you have any questions! |
| 1 | 1 | local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" |
|
| 2 | 2 | if not vim.loop.fs_stat(lazypath) then |
|
| 3 | - | vim.fn.system({ |
|
| 4 | - | "git", |
|
| 5 | - | "clone", |
|
| 6 | - | --filter=blob:none", |
|
| 7 | - | "https://github.com/folke/lazy.nvim.git", |
|
| 8 | - | "--branch=stable", -- latest stable release |
|
| 9 | - | lazypath, |
|
| 10 | - | }) |
|
| 3 | + | vim.fn.system({ |
|
| 4 | + | "git", |
|
| 5 | + | "clone", |
|
| 6 | + | --filter=blob:none", |
|
| 7 | + | "https://github.com/folke/lazy.nvim.git", |
|
| 8 | + | "--branch=stable", -- latest stable release |
|
| 9 | + | lazypath, |
|
| 10 | + | }) |
|
| 11 | 11 | end |
|
| 12 | 12 | vim.opt.rtp:prepend(lazypath) |
|
| 13 | - | ||
| 14 | 13 | require("options") |
|
| 15 | 14 | require("keymaps") |
|
| 16 | 15 | require("autocommands") |
| 1 | 1 | { |
|
| 2 | 2 | "Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" }, |
|
| 3 | - | "LuaSnip": { "branch": "master", "commit": "1f4ad8bb72bdeb60975e98652636b991a9b7475d" }, |
|
| 4 | - | "base16-vim": { "branch": "main", "commit": "5b54dcbb679ea208bd0a2d814fae4787a2764c1f" }, |
|
| 3 | + | "LuaSnip": { "branch": "master", "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" }, |
|
| 4 | + | "base16-vim": { "branch": "main", "commit": "5e94162c37e5612977a23e65a10f88a2c031883d" }, |
|
| 5 | + | "blame.nvim": { "branch": "main", "commit": "562661972085a273914c8f702b11924f8aa573ea" }, |
|
| 5 | 6 | "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, |
|
| 6 | - | "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, |
|
| 7 | + | "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, |
|
| 7 | 8 | "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, |
|
| 8 | 9 | "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, |
|
| 9 | - | "conform.nvim": { "branch": "master", "commit": "ca3dfba94600aa62bfc88ae37cbd4f17eaea2553" }, |
|
| 10 | - | "dressing.nvim": { "branch": "master", "commit": "fe3071330a0720ce3695ac915820c8134b22d1b0" }, |
|
| 11 | - | "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, |
|
| 12 | - | "gitsigns.nvim": { "branch": "main", "commit": "af0f583cd35286dd6f0e3ed52622728703237e50" }, |
|
| 13 | - | "indent-blankline.nvim": { "branch": "master", "commit": "29be0919b91fb59eca9e90690d76014233392bef" }, |
|
| 10 | + | "conform.nvim": { "branch": "master", "commit": "ad2b5ecd907128ed1b66b1cf4bed57902ef836ee" }, |
|
| 11 | + | "dressing.nvim": { "branch": "master", "commit": "94b0d24483d56f3777ee0c8dc51675f21709318c" }, |
|
| 12 | + | "friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" }, |
|
| 13 | + | "gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" }, |
|
| 14 | + | "indent-blankline.nvim": { "branch": "master", "commit": "5da5546947f3125dfd6aa85ab21074dc83f776d5" }, |
|
| 14 | 15 | "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, |
|
| 15 | - | "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, |
|
| 16 | - | "mason-lspconfig.nvim": { "branch": "main", "commit": "faeb361507aa1ef1b0e5645781e2aa0d36a4aa84" }, |
|
| 17 | - | "mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" }, |
|
| 18 | - | "mini.indentscope": { "branch": "main", "commit": "c8fdafa7bf603d758986a27eb546c55a5c73b1a3" }, |
|
| 19 | - | "mini.pairs": { "branch": "main", "commit": "71f117fd57f930da6ef4126b24f594dd398bac26" }, |
|
| 20 | - | "mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" }, |
|
| 21 | - | "neo-tree.nvim": { "branch": "v3.x", "commit": "f053f09962819c1558cd93639aa80edf7c314c17" }, |
|
| 16 | + | "lazygit.nvim": { "branch": "main", "commit": "1e08e3f5ac1152339690140e61a4a32b3bdc7de5" }, |
|
| 17 | + | "lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" }, |
|
| 18 | + | "mason-lspconfig.nvim": { "branch": "main", "commit": "56e435e09f8729af2d41973e81a0db440f8fe9c9" }, |
|
| 19 | + | "mason.nvim": { "branch": "main", "commit": "a09da6ac634926a299dd439da08bdb547a8ca011" }, |
|
| 20 | + | "mini.indentscope": { "branch": "main", "commit": "5a8369475cd7cd6f207a4d288406d03b0fc48bdb" }, |
|
| 21 | + | "mini.pairs": { "branch": "main", "commit": "552062017ff207e1f35f7028bfb3f27c7421d22d" }, |
|
| 22 | + | "modes.nvim": { "branch": "main", "commit": "3188692abf02a8838ec75e59d68c2ce3e4323f5c" }, |
|
| 23 | + | "neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" }, |
|
| 22 | 24 | "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, |
|
| 23 | - | "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, |
|
| 25 | + | "none-ls.nvim": { "branch": "main", "commit": "e7382de51b4cf629e56f1fa18192e716e5ba8145" }, |
|
| 26 | + | "nui.nvim": { "branch": "main", "commit": "80445d015d2b5f9af0d9e8bce63d303bc86eda8a" }, |
|
| 24 | 27 | "nvim-base16": { "branch": "master", "commit": "010bedf0b7c01ab4d4e4e896a8527d97c222351d" }, |
|
| 25 | - | "nvim-cmp": { "branch": "main", "commit": "0b751f6beef40fd47375eaf53d3057e0bfa317e4" }, |
|
| 28 | + | "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, |
|
| 26 | 29 | "nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" }, |
|
| 27 | - | "nvim-lspconfig": { "branch": "master", "commit": "0a0682d4646a6869b85a4e4d0e30da5ef8b11f66" }, |
|
| 28 | - | "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, |
|
| 29 | - | "nvim-treesitter": { "branch": "master", "commit": "c0da2013d1cef768c00f3f0b7f365fe19a10bca3" }, |
|
| 30 | - | "nvim-treesitter-textobjects": { "branch": "master", "commit": "dbcd9388e3b119a87c785e10a00d62876077d23d" }, |
|
| 31 | - | "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, |
|
| 32 | - | "nvim-web-devicons": { "branch": "master", "commit": "11eb26fc166742db8d1e8a6f5a7de9df37b09aae" }, |
|
| 33 | - | "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, |
|
| 30 | + | "nvim-lsp-file-operations": { "branch": "master", "commit": "8e7223e138590c1bd9d86d3de810e65939d8b12f" }, |
|
| 31 | + | "nvim-lspconfig": { "branch": "master", "commit": "9bedcfed749755e43fc8bed46f85ce2044fe3b77" }, |
|
| 32 | + | "nvim-notify": { "branch": "master", "commit": "ebcdd8219e2a2cbc0a4bef68002f6867f1fde269" }, |
|
| 33 | + | "nvim-surround": { "branch": "main", "commit": "703ec63aa798e5e07d309b35e42def34bebe0174" }, |
|
| 34 | + | "nvim-treesitter": { "branch": "master", "commit": "e49f1e8ef3e8450a8446cb1f2bbb53c919f60b6d" }, |
|
| 35 | + | "nvim-treesitter-textobjects": { "branch": "master", "commit": "0e2d5bd4cbe75849a013901555d436a48c6680cb" }, |
|
| 36 | + | "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, |
|
| 37 | + | "nvim-web-devicons": { "branch": "master", "commit": "cff25ce621e6d15fae0b0bfe38c00be50ce38468" }, |
|
| 38 | + | "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, |
|
| 34 | 39 | "smart-open.nvim": { "branch": "0.2.x", "commit": "026091fe7f9b283aa1f5f4bb8c56aa5bcad43dbd" }, |
|
| 35 | 40 | "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, |
|
| 36 | 41 | "tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "bc25c56083939f274edcfe395c6ff7de23b67c50" }, |
|
| 37 | 42 | "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, |
|
| 38 | 43 | "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, |
|
| 39 | - | "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, |
|
| 40 | - | "toggleterm.nvim": { "branch": "main", "commit": "faee9d60428afc7857e0927fdc18daa6c409fa64" }, |
|
| 41 | - | "vim-astro": { "branch": "main", "commit": "9b4674ecfe1dd84b5fb9b4de1653975de6e8e2e1" }, |
|
| 44 | + | "telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }, |
|
| 45 | + | "toggleterm.nvim": { "branch": "main", "commit": "cbd041d91b90cd3c02df03fe6133208888f8e008" }, |
|
| 42 | 46 | "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, |
|
| 43 | 47 | "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, |
|
| 44 | - | "vim-tmux-navigator": { "branch": "master", "commit": "7db70e08ea03b3e4d91f63713d76134512e28d7e" } |
|
| 48 | + | "vim-tmux-navigator": { "branch": "master", "commit": "38b1d0402c4600543281dc85b3f51884205674b6" } |
|
| 45 | 49 | } |
| 3 | 3 | ||
| 4 | 4 | -- format |
|
| 5 | 5 | -- Fast saving |
|
| 6 | - | map("n", "++", ":write!<CR>", opts) |
|
| 6 | + | map("n", "++", "<cmd>write!<CR>", opts) |
|
| 7 | 7 | ||
| 8 | 8 | -- Some useful quickfix shortcuts for quickfix |
|
| 9 | 9 | map("n", "<C-n>", "<cmd>cnext<CR>zz", opts) |
|
| 19 | 19 | map("i", "jk", "<ESC>", opts) |
|
| 20 | 20 | ||
| 21 | 21 | -- Remove search highlight |
|
| 22 | - | map("n", "<Leader>h", ":nohlsearch<CR>", opts) |
|
| 22 | + | map("n", "<leader>h", "<cmd>nohlsearch<CR>", opts) |
|
| 23 | 23 | ||
| 24 | 24 | -- Grab text between curly braces |
|
| 25 | 25 | map("n", "YY", "va{Vy", opts) |
|
| 45 | 45 | -- map("n", "<C-j>", "<C-w>j", opts) |
|
| 46 | 46 | -- map("n", "<C-k>", "<C-w>k", opts) |
|
| 47 | 47 | -- map("n", "<C-l>", "<C-w>l", opts) |
|
| 48 | - | ||
| 49 | 48 | ||
| 50 | 49 | -- Visual -- |
|
| 51 | 50 | -- Stay in indent mode |
|
| 1 | + | return { |
|
| 2 | + | "FabijanZulj/blame.nvim", |
|
| 3 | + | config = function() |
|
| 4 | + | vim.keymap.set("n", "<leader>b", "<cmd>ToggleBlame virtual<CR>", {}) |
|
| 5 | + | end, |
|
| 6 | + | } |
| 1 | - | return { |
|
| 2 | - | { |
|
| 3 | - | "L3MON4D3/LuaSnip", |
|
| 1 | + | return { |
|
| 2 | + | "hrsh7th/nvim-cmp", |
|
| 3 | + | version = false, -- last release is way too old |
|
| 4 | + | event = "InsertEnter", |
|
| 4 | 5 | dependencies = { |
|
| 5 | - | "rafamadriz/friendly-snippets", |
|
| 6 | - | config = function() |
|
| 7 | - | require("luasnip.loaders.from_vscode").lazy_load() |
|
| 8 | - | end, |
|
| 9 | - | }, |
|
| 10 | - | opts = { |
|
| 11 | - | history = true, |
|
| 12 | - | delete_check_events = "TextChanged", |
|
| 13 | - | }, |
|
| 14 | - | -- stylua: ignore |
|
| 15 | - | keys = { |
|
| 16 | - | { |
|
| 17 | - | "<tab>", |
|
| 18 | - | function() |
|
| 19 | - | return require("luasnip").jumpable(1) and "<Plug>luasnip-jump-next" or "<tab>" |
|
| 20 | - | end, |
|
| 21 | - | expr = true, silent = true, mode = "i", |
|
| 22 | - | }, |
|
| 23 | - | { "<tab>", function() require("luasnip").jump(1) end, mode = "s" }, |
|
| 24 | - | { "<s-tab>", function() require("luasnip").jump(-1) end, mode = { "i", "s" } }, |
|
| 25 | - | }, |
|
| 26 | - | }, |
|
| 27 | - | { |
|
| 28 | - | "hrsh7th/nvim-cmp", |
|
| 29 | - | version = false, -- last release is way too old |
|
| 30 | - | event = "InsertEnter", |
|
| 31 | - | dependencies = { |
|
| 32 | - | "hrsh7th/cmp-nvim-lsp", |
|
| 33 | - | "hrsh7th/cmp-buffer", |
|
| 34 | - | "hrsh7th/cmp-path", |
|
| 35 | - | "saadparwaiz1/cmp_luasnip", |
|
| 36 | - | }, |
|
| 37 | - | opts = function() |
|
| 38 | - | vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true }) |
|
| 39 | - | local cmp = require("cmp") |
|
| 40 | - | local defaults = require("cmp.config.default")() |
|
| 41 | - | return { |
|
| 42 | - | completion = { |
|
| 43 | - | completeopt = "menu,menuone,noinsert", |
|
| 44 | - | }, |
|
| 45 | - | snippet = { |
|
| 46 | - | expand = function(args) |
|
| 47 | - | require("luasnip").lsp_expand(args.body) |
|
| 48 | - | end, |
|
| 49 | - | }, |
|
| 50 | - | mapping = cmp.mapping.preset.insert({ |
|
| 51 | - | ["<C-n>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), |
|
| 52 | - | ["<C-p>"] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), |
|
| 53 | - | ["<C-b>"] = cmp.mapping.scroll_docs(-4), |
|
| 54 | - | ["<C-f>"] = cmp.mapping.scroll_docs(4), |
|
| 55 | - | ["<C-Space>"] = cmp.mapping.complete(), |
|
| 56 | - | ["<C-e>"] = cmp.mapping.abort(), |
|
| 57 | - | ["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. |
|
| 58 | - | ["<S-CR>"] = cmp.mapping.confirm({ |
|
| 59 | - | behavior = cmp.ConfirmBehavior.Replace, |
|
| 60 | - | select = true, |
|
| 61 | - | }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. |
|
| 62 | - | ["<C-CR>"] = function(fallback) |
|
| 63 | - | cmp.abort() |
|
| 64 | - | fallback() |
|
| 65 | - | end, |
|
| 66 | - | }), |
|
| 67 | - | sources = cmp.config.sources({ |
|
| 68 | - | { name = "nvim_lsp" }, |
|
| 69 | - | { name = "luasnip" }, |
|
| 70 | - | { name = "path" }, |
|
| 71 | - | }, { |
|
| 72 | - | { name = "buffer" }, |
|
| 73 | - | }), |
|
| 74 | - | experimental = { |
|
| 75 | - | ghost_text = { |
|
| 76 | - | hl_group = "CmpGhostText", |
|
| 77 | - | }, |
|
| 78 | - | }, |
|
| 79 | - | sorting = defaults.sorting, |
|
| 80 | - | } |
|
| 81 | - | end, |
|
| 82 | - | ---@param opts cmp.ConfigSchema |
|
| 83 | - | config = function(_, opts) |
|
| 84 | - | for _, source in ipairs(opts.sources) do |
|
| 85 | - | source.group_index = source.group_index or 1 |
|
| 86 | - | end |
|
| 87 | - | require("cmp").setup(opts) |
|
| 88 | - | end, |
|
| 89 | - | }, |
|
| 90 | - | { |
|
| 91 | 6 | "hrsh7th/cmp-nvim-lsp", |
|
| 92 | 7 | "hrsh7th/cmp-buffer", |
|
| 93 | 8 | "hrsh7th/cmp-path", |
|
| 94 | 9 | "saadparwaiz1/cmp_luasnip", |
|
| 95 | - | } |
|
| 10 | + | "L3MON4D3/LuaSnip", |
|
| 11 | + | "rafamadriz/friendly-snippets", |
|
| 12 | + | }, |
|
| 13 | + | config = function() |
|
| 14 | + | local cmp = require("cmp") |
|
| 15 | + | ||
| 16 | + | local luasnip = require("luasnip") |
|
| 17 | + | ||
| 18 | + | require("luasnip.loaders.from_vscode").lazy_load() |
|
| 19 | + | ||
| 20 | + | cmp.setup({ |
|
| 21 | + | completion = { |
|
| 22 | + | completeopt = "menu,menuone,preview,noselect", |
|
| 23 | + | }, |
|
| 24 | + | snippet = { |
|
| 25 | + | expand = function(args) |
|
| 26 | + | luasnip.lsp_expand(args.body) |
|
| 27 | + | end, |
|
| 28 | + | }, |
|
| 29 | + | window = { |
|
| 30 | + | completion = cmp.config.window.bordered(), |
|
| 31 | + | documentaton = cmp.config.window.bordered(), |
|
| 32 | + | }, |
|
| 33 | + | mapping = cmp.mapping.preset.insert({ |
|
| 34 | + | ["<C-k>"] = cmp.mapping.select_prev_item(), |
|
| 35 | + | ["<C-j>"] = cmp.mapping.select_next_item(), |
|
| 36 | + | ["<C-b>"] = cmp.mapping.scroll_docs(-4), |
|
| 37 | + | ["<C-f>"] = cmp.mapping.scroll_docs(4), |
|
| 38 | + | ["<C-Space>"] = cmp.mapping.complete(), |
|
| 39 | + | ["<CR>"] = cmp.mapping.confirm({ select = false }), |
|
| 40 | + | }), |
|
| 41 | + | sources = cmp.config.sources({ |
|
| 42 | + | { name = "nvim_lsp" }, |
|
| 43 | + | { name = "luasnip" }, |
|
| 44 | + | { name = "buffer" }, |
|
| 45 | + | { name = "path" }, |
|
| 46 | + | }), |
|
| 47 | + | }) |
|
| 48 | + | end, |
|
| 96 | 49 | } |
| 1 | 1 | return { |
|
| 2 | - | "stevearc/dressing.nvim", |
|
| 3 | - | lazy = true, |
|
| 4 | - | init = function() |
|
| 5 | - | ---@diagnostic disable-next-line: duplicate-set-field |
|
| 6 | - | vim.ui.select = function(...) |
|
| 7 | - | require("lazy").load({ plugins = { "dressing.nvim" } }) |
|
| 8 | - | return vim.ui.select(...) |
|
| 9 | - | end |
|
| 10 | - | ---@diagnostic disable-next-line: duplicate-set-field |
|
| 11 | - | vim.ui.input = function(...) |
|
| 12 | - | require("lazy").load({ plugins = { "dressing.nvim" } }) |
|
| 13 | - | return vim.ui.input(...) |
|
| 14 | - | end |
|
| 15 | - | end, |
|
| 2 | + | "stevearc/dressing.nvim", |
|
| 3 | + | config = function() |
|
| 4 | + | require("dressing").setup() |
|
| 5 | + | end, |
|
| 16 | 6 | } |
| 1 | + | return { |
|
| 2 | + | "kdheepak/lazygit.nvim", |
|
| 3 | + | config = function() |
|
| 4 | + | require("lazy").setup({ |
|
| 5 | + | { |
|
| 6 | + | "kdheepak/lazygit.nvim", |
|
| 7 | + | -- optional for floating window border decoration |
|
| 8 | + | dependencies = { |
|
| 9 | + | "nvim-lua/plenary.nvim", |
|
| 10 | + | }, |
|
| 11 | + | }, |
|
| 12 | + | }) |
|
| 13 | + | vim.keymap.set("n", "<leader>lg", "<cmd>LazyGit<CR>", {}) |
|
| 14 | + | end, |
|
| 15 | + | } |
| 1 | 1 | return { |
|
| 2 | - | { |
|
| 3 | - | "williamboman/mason.nvim", |
|
| 4 | - | lazy = false, |
|
| 5 | - | config = function() |
|
| 6 | - | require("mason").setup() |
|
| 7 | - | end |
|
| 8 | - | }, |
|
| 9 | - | { |
|
| 10 | - | "williamboman/mason-lspconfig.nvim", |
|
| 11 | - | config = function() |
|
| 12 | - | require("mason-lspconfig").setup({ |
|
| 13 | - | ensure_installed = { "lua_ls", "tsserver" } |
|
| 14 | - | }) |
|
| 15 | - | end |
|
| 16 | - | }, |
|
| 17 | - | { |
|
| 18 | - | "neovim/nvim-lspconfig", |
|
| 19 | - | lazy = false, |
|
| 20 | - | config = function() |
|
| 21 | - | local lspconfig = require("lspconfig") |
|
| 22 | - | lspconfig.tsserver.setup({}) |
|
| 23 | - | lspconfig.lua_ls.setup({}) |
|
| 2 | + | { |
|
| 3 | + | "williamboman/mason.nvim", |
|
| 4 | + | lazy = false, |
|
| 5 | + | config = function() |
|
| 6 | + | require("mason").setup() |
|
| 7 | + | end, |
|
| 8 | + | }, |
|
| 9 | + | { |
|
| 10 | + | "williamboman/mason-lspconfig.nvim", |
|
| 11 | + | config = function() |
|
| 12 | + | require("mason-lspconfig").setup({ |
|
| 13 | + | ensure_installed = { |
|
| 14 | + | "lua_ls", |
|
| 15 | + | "tsserver", |
|
| 16 | + | "solidity", |
|
| 17 | + | "html", |
|
| 18 | + | "cssls", |
|
| 19 | + | "emmet_ls", |
|
| 20 | + | "tailwindcss", |
|
| 21 | + | "svelte", |
|
| 22 | + | "pyright", |
|
| 23 | + | "gopls", |
|
| 24 | + | }, |
|
| 25 | + | automatic_installation = true, |
|
| 26 | + | }) |
|
| 27 | + | end, |
|
| 28 | + | }, |
|
| 29 | + | { |
|
| 30 | + | "neovim/nvim-lspconfig", |
|
| 31 | + | event = { "BufReadPre", "BufNewFile" }, |
|
| 32 | + | dependencies = { |
|
| 33 | + | "hrsh7th/cmp-nvim-lsp", |
|
| 34 | + | { "antosha417/nvim-lsp-file-operations", config = true }, |
|
| 35 | + | }, |
|
| 36 | + | config = function() |
|
| 37 | + | -- import lspconfig plugin |
|
| 38 | + | local lspconfig = require("lspconfig") |
|
| 39 | + | ||
| 40 | + | -- import cmp-nvim-lsp plugin |
|
| 41 | + | local cmp_nvim_lsp = require("cmp_nvim_lsp") |
|
| 42 | + | ||
| 43 | + | local keymap = vim.keymap -- for conciseness |
|
| 44 | + | ||
| 45 | + | local opts = { noremap = true, silent = true } |
|
| 46 | + | local on_attach = function(client, bufnr) |
|
| 47 | + | opts.buffer = bufnr |
|
| 48 | + | ||
| 49 | + | -- set keybinds |
|
| 50 | + | opts.desc = "Show LSP references" |
|
| 51 | + | keymap.set("n", "gR", "<cmd>Telescope lsp_references<CR>", opts) -- show definition, references |
|
| 52 | + | ||
| 53 | + | opts.desc = "Go to declaration" |
|
| 54 | + | keymap.set("n", "gD", vim.lsp.buf.declaration, opts) -- go to declaration |
|
| 55 | + | ||
| 56 | + | opts.desc = "Show LSP definitions" |
|
| 57 | + | keymap.set("n", "gd", "<cmd>Telescope lsp_definitions<CR>", opts) -- show lsp definitions |
|
| 58 | + | ||
| 59 | + | opts.desc = "Show LSP implementations" |
|
| 60 | + | keymap.set("n", "gi", "<cmd>Telescope lsp_implementations<CR>", opts) -- show lsp implementations |
|
| 61 | + | ||
| 62 | + | opts.desc = "Show LSP type definitions" |
|
| 63 | + | keymap.set("n", "gt", "<cmd>Telescope lsp_type_definitions<CR>", opts) -- show lsp type definitions |
|
| 64 | + | ||
| 65 | + | opts.desc = "See available code actions" |
|
| 66 | + | keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, opts) -- see available code actions, in visual mode will apply to selection |
|
| 67 | + | ||
| 68 | + | opts.desc = "Smart rename" |
|
| 69 | + | keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts) -- smart rename |
|
| 70 | + | ||
| 71 | + | opts.desc = "Show buffer diagnostics" |
|
| 72 | + | keymap.set("n", "<leader>D", "<cmd>Telescope diagnostics bufnr=0<CR>", opts) -- show diagnostics for file |
|
| 73 | + | ||
| 74 | + | opts.desc = "Show line diagnostics" |
|
| 75 | + | keymap.set("n", "<leader>d", vim.diagnostic.open_float, opts) -- show diagnostics for line |
|
| 76 | + | ||
| 77 | + | opts.desc = "Go to previous diagnostic" |
|
| 78 | + | keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) -- jump to previous diagnostic in buffer |
|
| 79 | + | ||
| 80 | + | opts.desc = "Go to next diagnostic" |
|
| 81 | + | keymap.set("n", "]d", vim.diagnostic.goto_next, opts) -- jump to next diagnostic in buffer |
|
| 82 | + | ||
| 83 | + | opts.desc = "Show documentation for what is under cursor" |
|
| 84 | + | keymap.set("n", "K", vim.lsp.buf.hover, opts) -- show documentation for what is under cursor |
|
| 85 | + | ||
| 86 | + | opts.desc = "Restart LSP" |
|
| 87 | + | keymap.set("n", "<leader>rs", ":LspRestart<CR>", opts) -- mapping to restart lsp if necessary |
|
| 88 | + | end |
|
| 89 | + | ||
| 90 | + | -- used to enable autocompletion (assign to every lsp server config) |
|
| 91 | + | local capabilities = cmp_nvim_lsp.default_capabilities() |
|
| 92 | + | ||
| 93 | + | -- Change the Diagnostic symbols in the sign column (gutter) |
|
| 94 | + | -- (not in youtube nvim video) |
|
| 95 | + | local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " } |
|
| 96 | + | for type, icon in pairs(signs) do |
|
| 97 | + | local hl = "DiagnosticSign" .. type |
|
| 98 | + | vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) |
|
| 99 | + | end |
|
| 100 | + | ||
| 101 | + | -- configure html server |
|
| 102 | + | lspconfig["html"].setup({ |
|
| 103 | + | capabilities = capabilities, |
|
| 104 | + | on_attach = on_attach, |
|
| 105 | + | }) |
|
| 106 | + | ||
| 107 | + | -- configure typescript server with plugin |
|
| 108 | + | lspconfig["tsserver"].setup({ |
|
| 109 | + | capabilities = capabilities, |
|
| 110 | + | on_attach = on_attach, |
|
| 111 | + | }) |
|
| 112 | + | ||
| 113 | + | -- configure css server |
|
| 114 | + | lspconfig["cssls"].setup({ |
|
| 115 | + | capabilities = capabilities, |
|
| 116 | + | on_attach = on_attach, |
|
| 117 | + | }) |
|
| 24 | 118 | ||
| 25 | - | vim.keymap.set('n', 'K', vim.lsp.buf.hover, {}) |
|
| 26 | - | vim.keymap.set('n', '<leader>gd', vim.lsp.buf.definition, {}) |
|
| 27 | - | vim.keymap.set('n', '<leader>gr', vim.lsp.buf.references, {}) |
|
| 28 | - | vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, {}) |
|
| 29 | - | end |
|
| 30 | - | } |
|
| 119 | + | -- configure tailwindcss server |
|
| 120 | + | lspconfig["tailwindcss"].setup({ |
|
| 121 | + | capabilities = capabilities, |
|
| 122 | + | on_attach = on_attach, |
|
| 123 | + | }) |
|
| 124 | + | ||
| 125 | + | lspconfig["gopls"].setup({ |
|
| 126 | + | capabilities = capabilities, |
|
| 127 | + | on_attach = on_attach, |
|
| 128 | + | }) |
|
| 129 | + | ||
| 130 | + | lspconfig["solidity"].setup({ |
|
| 131 | + | capabilities = capabilities, |
|
| 132 | + | on_attach = on_attach, |
|
| 133 | + | }) |
|
| 134 | + | ||
| 135 | + | -- configure svelte server |
|
| 136 | + | lspconfig["svelte"].setup({ |
|
| 137 | + | capabilities = capabilities, |
|
| 138 | + | on_attach = function(client, bufnr) |
|
| 139 | + | on_attach(client, bufnr) |
|
| 140 | + | ||
| 141 | + | vim.api.nvim_create_autocmd("BufWritePost", { |
|
| 142 | + | pattern = { "*.js", "*.ts" }, |
|
| 143 | + | callback = function(ctx) |
|
| 144 | + | if client.name == "svelte" then |
|
| 145 | + | client.notify("$/onDidChangeTsOrJsFile", { uri = ctx.file }) |
|
| 146 | + | end |
|
| 147 | + | end, |
|
| 148 | + | }) |
|
| 149 | + | end, |
|
| 150 | + | }) |
|
| 151 | + | ||
| 152 | + | -- configure prisma orm server |
|
| 153 | + | lspconfig["prismals"].setup({ |
|
| 154 | + | capabilities = capabilities, |
|
| 155 | + | on_attach = on_attach, |
|
| 156 | + | }) |
|
| 157 | + | ||
| 158 | + | -- configure graphql language server |
|
| 159 | + | lspconfig["graphql"].setup({ |
|
| 160 | + | capabilities = capabilities, |
|
| 161 | + | on_attach = on_attach, |
|
| 162 | + | filetypes = { "graphql", "gql", "svelte", "typescriptreact", "javascriptreact" }, |
|
| 163 | + | }) |
|
| 164 | + | ||
| 165 | + | -- configure emmet language server |
|
| 166 | + | lspconfig["emmet_ls"].setup({ |
|
| 167 | + | capabilities = capabilities, |
|
| 168 | + | on_attach = on_attach, |
|
| 169 | + | filetypes = { "html", "typescriptreact", "javascriptreact", "css", "sass", "scss", "less", "svelte" }, |
|
| 170 | + | }) |
|
| 171 | + | ||
| 172 | + | -- configure python server |
|
| 173 | + | lspconfig["pyright"].setup({ |
|
| 174 | + | capabilities = capabilities, |
|
| 175 | + | on_attach = on_attach, |
|
| 176 | + | }) |
|
| 177 | + | ||
| 178 | + | -- configure lua server (with special settings) |
|
| 179 | + | lspconfig["lua_ls"].setup({ |
|
| 180 | + | capabilities = capabilities, |
|
| 181 | + | on_attach = on_attach, |
|
| 182 | + | settings = { -- custom settings for lua |
|
| 183 | + | Lua = { |
|
| 184 | + | -- make the language server recognize "vim" global |
|
| 185 | + | diagnostics = { |
|
| 186 | + | globals = { "vim" }, |
|
| 187 | + | }, |
|
| 188 | + | workspace = { |
|
| 189 | + | -- make language server aware of runtime files |
|
| 190 | + | library = { |
|
| 191 | + | [vim.fn.expand("$VIMRUNTIME/lua")] = true, |
|
| 192 | + | [vim.fn.stdpath("config") .. "/lua"] = true, |
|
| 193 | + | }, |
|
| 194 | + | }, |
|
| 195 | + | }, |
|
| 196 | + | }, |
|
| 197 | + | }) |
|
| 198 | + | end, |
|
| 199 | + | }, |
|
| 31 | 200 | } |
| 1 | + | return { |
|
| 2 | + | "mvllow/modes.nvim", |
|
| 3 | + | tag = "v0.2.0", |
|
| 4 | + | config = function() |
|
| 5 | + | require("modes").setup({ |
|
| 6 | + | colors = { |
|
| 7 | + | copy = vim.g.terminal_color_2, |
|
| 8 | + | delete = vim.g.terminal_color_1, |
|
| 9 | + | visual = vim.g.terminal_color_3, |
|
| 10 | + | insert = vim.g.terminal_color_6, |
|
| 11 | + | }, |
|
| 12 | + | }) |
|
| 13 | + | end, |
|
| 14 | + | } |
| 11 | 11 | local opts = { noremap = true, silent = true } |
|
| 12 | 12 | local map = vim.api.nvim_set_keymap |
|
| 13 | 13 | map("n", "<leader>e", ":Neotree toggle<CR>", opts) |
|
| 14 | - | require("neo-tree").setup({ |
|
| 15 | - | popup_border_style = "rounded", |
|
| 16 | - | window = { |
|
| 17 | - | position = "float", |
|
| 18 | - | }, |
|
| 19 | - | filesystem = { |
|
| 20 | - | filtered_items = { |
|
| 21 | - | hide_dotfiles = false, |
|
| 22 | - | }, |
|
| 23 | - | }, |
|
| 24 | - | }) |
|
| 14 | + | require("neo-tree").setup({ |
|
| 15 | + | popup_border_style = "rounded", |
|
| 16 | + | enable_git_status = true, |
|
| 17 | + | window = { |
|
| 18 | + | position = "float", |
|
| 19 | + | }, |
|
| 20 | + | filesystem = { |
|
| 21 | + | filtered_items = { |
|
| 22 | + | hide_dotfiles = false, |
|
| 23 | + | always_show = { |
|
| 24 | + | "*.env", |
|
| 25 | + | }, |
|
| 26 | + | }, |
|
| 27 | + | }, |
|
| 28 | + | default_component_configs = { |
|
| 29 | + | git_status = { |
|
| 30 | + | symbols = { |
|
| 31 | + | -- Change type |
|
| 32 | + | added = "", -- or "✚", but this is redundant info if you use git_status_colors on the name |
|
| 33 | + | modified = "", -- or "", but this is redundant info if you use git_status_colors on the name |
|
| 34 | + | deleted = "✖", -- this can only be used in the git_status source |
|
| 35 | + | renamed = "", -- this can only be used in the git_status source |
|
| 36 | + | -- Status type |
|
| 37 | + | untracked = "", |
|
| 38 | + | ignored = "", |
|
| 39 | + | unstaged = "", |
|
| 40 | + | staged = "", |
|
| 41 | + | conflict = "", |
|
| 42 | + | }, |
|
| 43 | + | }, |
|
| 44 | + | }, |
|
| 45 | + | }) |
|
| 25 | 46 | end, |
|
| 26 | 47 | } |
| 1 | + | return { |
|
| 2 | + | "nvimtools/none-ls.nvim", |
|
| 3 | + | config = function() |
|
| 4 | + | local null_ls = require("null-ls") |
|
| 5 | + | ||
| 6 | + | null_ls.setup({ |
|
| 7 | + | sources = { |
|
| 8 | + | null_ls.builtins.formatting.stylua, |
|
| 9 | + | null_ls.builtins.formatting.prettier, |
|
| 10 | + | null_ls.builtins.diagnostics.eslint, |
|
| 11 | + | }, |
|
| 12 | + | }) |
|
| 13 | + | ||
| 14 | + | vim.keymap.set("n", "<leader>lf", vim.lsp.buf.format, {}) |
|
| 15 | + | end, |
|
| 16 | + | } |
| 1 | 1 | return { |
|
| 2 | - | "rcarriga/nvim-notify", |
|
| 3 | - | keys = { |
|
| 4 | - | { |
|
| 5 | - | "<leader>h", |
|
| 6 | - | function() |
|
| 7 | - | require("notify").dismiss({ silent = true, pending = true }) |
|
| 8 | - | end, |
|
| 9 | - | desc = "Dismiss all Notifications", |
|
| 10 | - | }, |
|
| 11 | - | }, |
|
| 12 | - | opts = { |
|
| 13 | - | render = "minimal", |
|
| 14 | - | animation_style = "fade", |
|
| 15 | - | background_colour = "#1E2021", |
|
| 16 | - | timeout = 2000, |
|
| 17 | - | max_height = function() |
|
| 18 | - | return math.floor(vim.o.lines * 0.75) |
|
| 19 | - | end, |
|
| 20 | - | max_width = function() |
|
| 21 | - | return math.floor(vim.o.columns * 0.75) |
|
| 22 | - | end, |
|
| 23 | - | }, |
|
| 24 | - | init = function() |
|
| 25 | - | vim.notify = require("notify") |
|
| 26 | - | end, |
|
| 2 | + | "rcarriga/nvim-notify", |
|
| 3 | + | keys = { |
|
| 4 | + | { |
|
| 5 | + | "<leader>hh", |
|
| 6 | + | function() |
|
| 7 | + | require("notify").dismiss({ silent = true, pending = true }) |
|
| 8 | + | end, |
|
| 9 | + | desc = "Dismiss all Notifications", |
|
| 10 | + | }, |
|
| 11 | + | }, |
|
| 12 | + | config = function() |
|
| 13 | + | require("notify").setup({ |
|
| 14 | + | render = "compact", |
|
| 15 | + | stages = "fade", |
|
| 16 | + | timeout = 500, |
|
| 17 | + | max_height = function() |
|
| 18 | + | return math.floor(vim.o.lines * 0.75) |
|
| 19 | + | end, |
|
| 20 | + | max_width = function() |
|
| 21 | + | return math.floor(vim.o.columns * 0.75) |
|
| 22 | + | end, |
|
| 23 | + | }) |
|
| 24 | + | vim.notify = require("notify") |
|
| 25 | + | end, |
|
| 27 | 26 | } |
| 1 | + | return { |
|
| 2 | + | "kylechui/nvim-surround", |
|
| 3 | + | version = "*", -- Use for stability; omit to use `main` branch for the latest features |
|
| 4 | + | config = function() |
|
| 5 | + | require("nvim-surround").setup({ |
|
| 6 | + | -- Configuration here, or leave empty to use defaults |
|
| 7 | + | }) |
|
| 8 | + | end |
|
| 9 | + | } |
| 1 | - | return { |
|
| 2 | - | "tinted-theming/base16-vim", |
|
| 3 | - | priority = 1000, |
|
| 4 | - | config = function() |
|
| 5 | - | local cmd = vim.cmd |
|
| 6 | - | local g = vim.g |
|
| 7 | - | local current_theme_name = os.getenv('BASE16_THEME') |
|
| 8 | - | if current_theme_name and g.colors_name ~= 'base16-'..current_theme_name then |
|
| 9 | - | cmd('let base16colorspace=256') |
|
| 10 | - | cmd('colorscheme base16-'..current_theme_name) |
|
| 11 | - | end |
|
| 12 | - | end |
|
| 1 | + | return { |
|
| 2 | + | "tinted-theming/base16-vim", |
|
| 3 | + | priority = 1000, |
|
| 4 | + | config = function() |
|
| 5 | + | local cmd = vim.cmd |
|
| 6 | + | local g = vim.g |
|
| 7 | + | local current_theme_name = os.getenv("BASE16_THEME") |
|
| 8 | + | if current_theme_name and g.colors_name ~= "base16-" .. current_theme_name then |
|
| 9 | + | cmd("let base16colorspace=256") |
|
| 10 | + | cmd("colorscheme base16-" .. current_theme_name) |
|
| 11 | + | end |
|
| 12 | + | end, |
|
| 13 | 13 | } |
| 1 | 1 | return { |
|
| 2 | 2 | "christoomey/vim-tmux-navigator", |
|
| 3 | 3 | config = function() |
|
| 4 | - | vim.keymap.set("n", "<C-h>", ":TmuxNavigateLeft<CR>", opts) |
|
| 5 | - | vim.keymap.set("n", "<C-j>", ":TmuxNavigateDown<CR>", opts) |
|
| 6 | - | vim.keymap.set("n", "<C-k>", ":TmuxNavigateUp<CR>", opts) |
|
| 7 | - | vim.keymap.set("n", "<C-l>", ":TmuxNavigateRight<CR>", opts) |
|
| 8 | - | end |
|
| 4 | + | vim.keymap.set("n", "<C-h>", "<cmd>TmuxNavigateLeft<CR>", opts) |
|
| 5 | + | vim.keymap.set("n", "<C-j>", "<cmd>TmuxNavigateDown<CR>", opts) |
|
| 6 | + | vim.keymap.set("n", "<C-k>", "<cmd>TmuxNavigateUp<CR>", opts) |
|
| 7 | + | vim.keymap.set("n", "<C-l>", "<cmd>TmuxNavigateRight<CR>", opts) |
|
| 8 | + | end, |
|
| 9 | 9 | } |
| 1 | 1 | return { |
|
| 2 | - | { |
|
| 3 | - | "nvim-treesitter/nvim-treesitter", |
|
| 4 | - | build = ":TSUpdate", |
|
| 5 | - | event = { "BufReadPre", "BufNewFile" }, |
|
| 6 | - | dependencies = { |
|
| 7 | - | "nvim-treesitter/nvim-treesitter-textobjects", |
|
| 8 | - | }, |
|
| 9 | - | config = function() |
|
| 10 | - | local treesitter = require("nvim-treesitter.configs") |
|
| 2 | + | { |
|
| 3 | + | "nvim-treesitter/nvim-treesitter", |
|
| 4 | + | build = ":TSUpdate", |
|
| 5 | + | event = { "BufReadPre", "BufNewFile" }, |
|
| 6 | + | dependencies = { |
|
| 7 | + | "nvim-treesitter/nvim-treesitter-textobjects", |
|
| 8 | + | }, |
|
| 9 | + | config = function() |
|
| 10 | + | local treesitter = require("nvim-treesitter.configs") |
|
| 11 | 11 | ||
| 12 | - | -- configure treesitter |
|
| 13 | - | treesitter.setup({ -- enable syntax highlighting |
|
| 14 | - | highlight = { |
|
| 15 | - | enable = true, |
|
| 16 | - | }, |
|
| 17 | - | -- enable indentation |
|
| 18 | - | indent = { enable = true }, |
|
| 19 | - | -- ensure these language parsers are installed |
|
| 20 | - | ensure_installed = { |
|
| 21 | - | "json", |
|
| 22 | - | "javascript", |
|
| 23 | - | "typescript", |
|
| 24 | - | "tsx", |
|
| 25 | - | "yaml", |
|
| 26 | - | "html", |
|
| 27 | - | "css", |
|
| 28 | - | "prisma", |
|
| 29 | - | "markdown", |
|
| 30 | - | "markdown_inline", |
|
| 31 | - | "svelte", |
|
| 32 | - | "graphql", |
|
| 33 | - | "bash", |
|
| 34 | - | "lua", |
|
| 35 | - | "vim", |
|
| 36 | - | "dockerfile", |
|
| 37 | - | "gitignore", |
|
| 38 | - | "query", |
|
| 39 | - | }, |
|
| 40 | - | incremental_selection = { |
|
| 41 | - | enable = true, |
|
| 42 | - | keymaps = { |
|
| 43 | - | init_selection = "<C-space>", |
|
| 44 | - | node_incremental = "<C-space>", |
|
| 45 | - | scope_incremental = false, |
|
| 46 | - | node_decremental = "<bs>", |
|
| 47 | - | }, |
|
| 48 | - | }, |
|
| 49 | - | }) |
|
| 50 | - | end, |
|
| 51 | - | }, |
|
| 52 | - | { |
|
| 53 | - | "windwp/nvim-ts-autotag", |
|
| 54 | - | opts = {}, |
|
| 55 | - | }, |
|
| 12 | + | -- configure treesitter |
|
| 13 | + | treesitter.setup({ -- enable syntax highlighting |
|
| 14 | + | highlight = { |
|
| 15 | + | enable = true, |
|
| 16 | + | }, |
|
| 17 | + | auto_install = true, |
|
| 18 | + | ||
| 19 | + | -- enable indentation |
|
| 20 | + | indent = { enable = true }, |
|
| 21 | + | -- ensure these language parsers are installed |
|
| 22 | + | ensure_installed = { |
|
| 23 | + | "json", |
|
| 24 | + | "javascript", |
|
| 25 | + | "typescript", |
|
| 26 | + | "tsx", |
|
| 27 | + | "yaml", |
|
| 28 | + | "html", |
|
| 29 | + | "css", |
|
| 30 | + | "prisma", |
|
| 31 | + | "markdown", |
|
| 32 | + | "markdown_inline", |
|
| 33 | + | "svelte", |
|
| 34 | + | "graphql", |
|
| 35 | + | "bash", |
|
| 36 | + | "lua", |
|
| 37 | + | "vim", |
|
| 38 | + | "dockerfile", |
|
| 39 | + | "gitignore", |
|
| 40 | + | "query", |
|
| 41 | + | }, |
|
| 42 | + | incremental_selection = { |
|
| 43 | + | enable = true, |
|
| 44 | + | keymaps = { |
|
| 45 | + | init_selection = "<C-space>", |
|
| 46 | + | node_incremental = "<C-space>", |
|
| 47 | + | scope_incremental = false, |
|
| 48 | + | node_decremental = "<bs>", |
|
| 49 | + | }, |
|
| 50 | + | }, |
|
| 51 | + | }) |
|
| 52 | + | end, |
|
| 53 | + | }, |
|
| 54 | + | { |
|
| 55 | + | "windwp/nvim-ts-autotag", |
|
| 56 | + | opts = {}, |
|
| 57 | + | }, |
|
| 56 | 58 | } |