diff --git a/.config/nvim/.gitignore b/.config/nvim/.gitignore new file mode 100644 index 0000000..cc5457a --- /dev/null +++ b/.config/nvim/.gitignore @@ -0,0 +1,8 @@ +tt.* +.tests +doc/tags +debug +.repro +foo.* +*.log +data diff --git a/.config/nvim/.neoconf.json b/.config/nvim/.neoconf.json new file mode 100644 index 0000000..7c48087 --- /dev/null +++ b/.config/nvim/.neoconf.json @@ -0,0 +1,15 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "lua_ls": { + "enabled": true + } + } + } +} diff --git a/.config/nvim/LICENSE b/.config/nvim/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/.config/nvim/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/.config/nvim/README.md b/.config/nvim/README.md new file mode 100644 index 0000000..185280b --- /dev/null +++ b/.config/nvim/README.md @@ -0,0 +1,4 @@ +# 💤 LazyVim + +A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). +Refer to the [documentation](https://lazyvim.github.io/installation) to get started. diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index fe61156..2514f9e 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,29 +1,2 @@ --- Load configuration from different lua files - ---- Basic options -require("core.options") - --- Keymap config -require("core.keymaps") - --- Plugin configs, setup has to come first -require("plugin-setup") -require("plugins.alpha") -require("plugins.comment") -require("plugins.nvim-autopairs") -require("plugins.nvim-tree") -require("plugins.gitsigns") -require("plugins.treesitter") -require("plugins.lualine") -require("plugins.toggleterm") -require("plugins.autopairs") -require("plugins.which-key") -require("plugins.telescope") -require("plugins.nvim-cmp") -require("plugins.lsp.mason") -require("plugins.lsp.lspsaga") -require("plugins.lsp.lspconfig") -require("plugins.lsp.null-ls") -require("plugins.leap") -require("plugins.project") -require("plugins.indent-blankline") +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json new file mode 100644 index 0000000..8cd5dd5 --- /dev/null +++ b/.config/nvim/lazy-lock.json @@ -0,0 +1,51 @@ +{ + "LazyVim": { "branch": "main", "commit": "f67f20184f0fe852881d925d387ce138754fa147" }, + "LuaSnip": { "branch": "master", "commit": "025886915e7a1442019f467e0ae2847a7cf6bf1a" }, + "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, + "bufferline.nvim": { "branch": "main", "commit": "3677aceb9a72630b0613e56516c8f7151b86f95c" }, + "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, + "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, + "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" }, + "gitsigns.nvim": { "branch": "main", "commit": "ca473e28382f1524aa3d2b6f04bcf54f2e6a64cb" }, + "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, + "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, + "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, + "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "b64fdede85fd5e0b720ce722919e0a9b95ed6547" }, + "mason.nvim": { "branch": "main", "commit": "6fa453c998e8c5f3fa44f2e64d3d72fbcf45b1ff" }, + "mini.ai": { "branch": "main", "commit": "9e18be22ba32963b772cad278854470700d2d1cc" }, + "mini.bufremove": { "branch": "main", "commit": "2b6d03f59523bd4f0499137596542bd922706af2" }, + "mini.comment": { "branch": "main", "commit": "f045998636c6fd746297220b8c692bf1e91568cb" }, + "mini.indentscope": { "branch": "main", "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" }, + "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, + "mini.surround": { "branch": "main", "commit": "cbc884d4dc99ab0d0c843cdb7391aad3144fad3f" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "20c2f2f5ba083bbb1e37b8bc3d590621434f31e9" }, + "neoconf.nvim": { "branch": "main", "commit": "55923798eb46c2d38bf111dc2bc285c13e286765" }, + "neodev.nvim": { "branch": "main", "commit": "7330427f9f71ac5aaa2d1a4c22ccd3914434e289" }, + "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, + "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, + "null-ls.nvim": { "branch": "main", "commit": "0180603b6f3cee40f83c6fc226b9ac5f85e691c4" }, + "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, + "nvim-lspconfig": { "branch": "master", "commit": "c5505c70571b094663745167d40388edd40f6450" }, + "nvim-navic": { "branch": "master", "commit": "35731604fb5adab5fe939975879d22994aa8b575" }, + "nvim-spectre": { "branch": "master", "commit": "8fd64743b6390ab151a607fa91d0d74087a80ba6" }, + "nvim-treesitter": { "branch": "master", "commit": "25dd24ed0e3b4456b1987cdd744e261be5dc6c7c" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, + "nvim-web-devicons": { "branch": "master", "commit": "95b1e300699be8eb6b5be1758a9d4d69fe93cc7f" }, + "persistence.nvim": { "branch": "main", "commit": "c814fae5c37aa0aba9cd9da05df6e52b88d612c3" }, + "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, + "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, + "todo-comments.nvim": { "branch": "main", "commit": "0874bda6848ff6f3da3ffdf4bd8297a5c951c5d4" }, + "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" }, + "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, + "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, + "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, + "vim-startuptime": { "branch": "master", "commit": "6580cf539c33a212f4f5542068a3b4dd2b3ad834" }, + "which-key.nvim": { "branch": "main", "commit": "4b73390eec680b4c061ea175eb32c0ff3412271d" } +} \ No newline at end of file diff --git a/.config/nvim/lua/config/autocmds.lua b/.config/nvim/lua/config/autocmds.lua new file mode 100644 index 0000000..27e9e06 --- /dev/null +++ b/.config/nvim/lua/config/autocmds.lua @@ -0,0 +1,3 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Add any additional autocmds here diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..2c134f7 --- /dev/null +++ b/.config/nvim/lua/config/keymaps.lua @@ -0,0 +1,3 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..891b190 --- /dev/null +++ b/.config/nvim/lua/config/lazy.lua @@ -0,0 +1,46 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + -- bootstrap lazy.nvim + -- stylua: ignore + vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) +end +vim.opt.rtp:prepend(vim.env.LAZY or lazypath) + +require("lazy").setup({ + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import any extras modules here + -- { import = "lazyvim.plugins.extras.lang.typescript" }, + -- { import = "lazyvim.plugins.extras.lang.json" }, + -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "tokyonight", "habamax" } }, + checker = { enabled = true }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua new file mode 100644 index 0000000..497ab28 --- /dev/null +++ b/.config/nvim/lua/config/options.lua @@ -0,0 +1,4 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here +vim.opt.wrap = true diff --git a/.config/nvim/lua/core/keymaps.lua b/.config/nvim/lua/core/keymaps.lua deleted file mode 100644 index 1fa4708..0000000 --- a/.config/nvim/lua/core/keymaps.lua +++ /dev/null @@ -1,23 +0,0 @@ --- Convenience function. description parameter is used by `whichkey` -local function map(mode, keybind, command, description) - vim.api.nvim_set_keymap(mode, keybind, command, { desc = description, silent = true, noremap = true }) -end - --- Switch to as global mapleader -vim.g.mapleader = " " - --- Don't place single deleted characters in a buffer -map("n", "x", '"_x') - --- Increment and decrement numbers -map("n", "+", "", "Increment number under cursor") -map("n", "-", "", "Decrement number under cursor") - --- File explorer -map("n", "e", ":NvimTreeToggle", "Toggle file explorer") - --- telescope -map("n", "ff", "Telescope find_files", "Find files within cwd") -- respects .gitignore -map("n", "fs", "Telescope live_grep", "Find string in cwd") -map("n", "fb", "Telescope buffers", "List open buffers in current neovim instance") -map("n", "fh", "Telescope help_tags", "List available help tags") diff --git a/.config/nvim/lua/core/options.lua b/.config/nvim/lua/core/options.lua deleted file mode 100644 index 45834f4..0000000 --- a/.config/nvim/lua/core/options.lua +++ /dev/null @@ -1,46 +0,0 @@ -local opt = vim.opt - --- clipboard -opt.clipboard = "unnamedplus" -- System clipboard - --- cursor -opt.cursorcolumn = true -opt.cursorline = true - --- linenumbers -opt.number = true -opt.relativenumber = false - --- tabs / indentation -opt.autoindent = true -opt.expandtab = true -opt.shiftwidth = 2 -opt.tabstop = 2 -opt.wrap = true - --- undo / buffers -opt.swapfile = false -opt.undofile = true - --- search -opt.ignorecase = true -opt.smartcase = true - --- appearance -opt.list = true -opt.listchars = "trail:•,tab:󰞔," -opt.showmode = true -opt.signcolumn = "yes" -opt.termguicolors = true - --- split windows -opt.splitright = true -opt.splitbelow = true - --- timeout (e.g. after which time 'which-key' shows up) -opt.timeoutlen = 400 - --- other -opt.hidden = true -opt.history = 30 -opt.backspace = "indent,eol,start" diff --git a/.config/nvim/lua/plugin-setup.lua b/.config/nvim/lua/plugin-setup.lua deleted file mode 100644 index 3fa3525..0000000 --- a/.config/nvim/lua/plugin-setup.lua +++ /dev/null @@ -1,122 +0,0 @@ --- Autocommand to reload neovim plugins when this file gets saved -vim.cmd([[ - augroup packer_user_config - autocmd! - autocmd BufWritePost plugin-setup.lua source | PackerCompile - augroup end -]]) - --- Guard if packer can't be found -local status, packer = pcall(require, "packer") -if not status then - return -end - -return packer.startup({ - function(use) - use("wbthomason/packer.nvim") - - -- Lua functions used by many plugins - use("nvim-lua/plenary.nvim") - - -- Theming - one for all package. autocomplete :colorscheme to see what is available - use("RRethy/nvim-base16") - vim.cmd([[colorscheme base16-espresso]]) - - -- Managing lsp servers, linters, formatters - use("williamboman/mason.nvim") - use("williamboman/mason-lspconfig.nvim") - - -- Configuring lsp servers - use("neovim/nvim-lspconfig") - use("hrsh7th/cmp-nvim-lsp") - use({ "glepnir/lspsaga.nvim", branch = "main" }) - use("jose-elias-alvarez/typescript.nvim") - use("onsails/lspkind.nvim") - - -- Formatting and linting - use("jose-elias-alvarez/null-ls.nvim") - use("jayp0521/mason-null-ls.nvim") - - -- Autopairs - use("windwp/nvim-autopairs") - - -- git - use("lewis6991/gitsigns.nvim") - - use("tpope/vim-surround") - - -- Highlight colors - use({ - "norcalli/nvim-colorizer.lua", - ft = { "css", "javascript", "vim", "html" }, - config = [[require('colorizer').setup {'css', 'javascript', 'vim', 'html'}]], - }) - - -- Syntax highlighting - use({ - "nvim-treesitter/nvim-treesitter", - run = function() - local ts_update = require("nvim-treesitter.install").update({ with_sync = true }) - ts_update() - end, - }) - - -- Lualine statusline - use("nvim-lualine/lualine.nvim") - - -- fuzzy finding with telescope - use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) - use({ "nvim-telescope/telescope.nvim", branch = "0.1.x" }) - - -- autocompletion - use("hrsh7th/nvim-cmp") - use("hrsh7th/cmp-buffer") - use("hrsh7th/cmp-path") - - -- snippets - use("L3MON4D3/LuaSnip") - use("saadparwaiz1/cmp_luasnip") - use("rafamadriz/friendly-snippets") - - -- toggleterm - use({ "akinsho/toggleterm.nvim", tag = "v2.*" }) - - -- easier commenting - use("numToStr/Comment.nvim") - - -- File explorer - use("nvim-tree/nvim-tree.lua") - use("nvim-tree/nvim-web-devicons") - - -- Project manager - use("ahmedkhalf/project.nvim") - - -- Popup for available keybinds - use("folke/which-key.nvim") - - -- Fast onscreen navigation - use("ggandor/leap.nvim") - - -- jinja2 syntax - use("glench/vim-jinja2-syntax") - - -- nvim startpage - use({ "goolord/alpha-nvim", requires = "nvim-tree/nvim-web-devicons" }) - - -- schemastore for nvim - use("b0o/schemastore.nvim") - - -- indent guide lines - use("lukas-reineke/indent-blankline.nvim") - - if packer.bootstrap then - require("packer").sync() - end - end, - config = { - display = { - open_fn = require("packer.util").float, - }, - }, -}) diff --git a/.config/nvim/lua/plugins/alpha.lua b/.config/nvim/lua/plugins/alpha.lua deleted file mode 100644 index 658b85c..0000000 --- a/.config/nvim/lua/plugins/alpha.lua +++ /dev/null @@ -1,11 +0,0 @@ -local alpha_status, alpha = pcall(require, "alpha") -if not alpha_status then - return -end - -local startify_status, alpha_startify = pcall(require, "alpha.themes.startify") -if not startify_status then - return -end - -alpha.setup(alpha_startify.config) diff --git a/.config/nvim/lua/plugins/autopairs.lua b/.config/nvim/lua/plugins/autopairs.lua deleted file mode 100644 index ff3577b..0000000 --- a/.config/nvim/lua/plugins/autopairs.lua +++ /dev/null @@ -1,23 +0,0 @@ -local status, autopairs = pcall(require, "nvim-autopairs") -if not status then - return -end - -autopairs.setup({ - check_ts = true, - ts_config = { - lua = { "string" }, - }, -}) - -local cmp_autopairs_setup, cmp_autopairs = pcall(require, "nvim-autopairs.completion.cmp") -if not cmp_autopairs_setup then - return -end - -local cmp_setup, cmp = pcall(require, "cmp") -if not cmp_setup then - return -end - -cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) diff --git a/.config/nvim/lua/plugins/comment.lua b/.config/nvim/lua/plugins/comment.lua deleted file mode 100644 index 36dca19..0000000 --- a/.config/nvim/lua/plugins/comment.lua +++ /dev/null @@ -1,6 +0,0 @@ -local status, comment = pcall(require, "Comment") -if not status then - return -end - -comment.setup() diff --git a/.config/nvim/lua/plugins/disable_plugins.lua b/.config/nvim/lua/plugins/disable_plugins.lua new file mode 100644 index 0000000..f301891 --- /dev/null +++ b/.config/nvim/lua/plugins/disable_plugins.lua @@ -0,0 +1,3 @@ +return { + { "rcarriga/nvim-notify", enabled = false }, +} diff --git a/.config/nvim/lua/plugins/example.lua b/.config/nvim/lua/plugins/example.lua new file mode 100644 index 0000000..39f342f --- /dev/null +++ b/.config/nvim/lua/plugins/example.lua @@ -0,0 +1,267 @@ +-- since this is just an example spec, don't actually load anything here and return an empty spec +-- stylua: ignore +if true then return {} end + +-- every spec file under config.plugins will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { + -- add gruvbox + { "ellisonleao/gruvbox.nvim" }, + + -- Configure LazyVim to load gruvbox + { + "LazyVim/LazyVim", + opts = { + colorscheme = "gruvbox", + }, + }, + + -- change trouble config + { + "folke/trouble.nvim", + -- opts will be merged with the parent spec + opts = { use_diagnostic_signs = true }, + }, + + -- disable trouble + { "folke/trouble.nvim", enabled = false }, + + -- add symbols-outline + { + "simrat39/symbols-outline.nvim", + cmd = "SymbolsOutline", + keys = { { "cs", "SymbolsOutline", desc = "Symbols Outline" } }, + config = true, + }, + + -- override nvim-cmp and add cmp-emoji + { + "hrsh7th/nvim-cmp", + dependencies = { "hrsh7th/cmp-emoji" }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local cmp = require("cmp") + opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) + end, + }, + + -- change some telescope options and a keymap to browse plugin files + { + "nvim-telescope/telescope.nvim", + keys = { + -- add a keymap to browse plugin files + -- stylua: ignore + { + "fp", + function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, + desc = "Find Plugin File", + }, + }, + -- change some options + opts = { + defaults = { + layout_strategy = "horizontal", + layout_config = { prompt_position = "top" }, + sorting_strategy = "ascending", + winblend = 0, + }, + }, + }, + + -- add telescope-fzf-native + { + "telescope.nvim", + dependencies = { + "nvim-telescope/telescope-fzf-native.nvim", + build = "make", + config = function() + require("telescope").load_extension("fzf") + end, + }, + }, + + -- add pyright to lspconfig + { + "neovim/nvim-lspconfig", + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- pyright will be automatically installed with mason and loaded with lspconfig + pyright = {}, + }, + }, + }, + + -- add tsserver and setup with typescript.nvim instead of lspconfig + { + "neovim/nvim-lspconfig", + dependencies = { + "jose-elias-alvarez/typescript.nvim", + init = function() + require("lazyvim.util").on_attach(function(_, buffer) + -- stylua: ignore + vim.keymap.set( "n", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) + vim.keymap.set("n", "cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) + end) + end, + }, + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- tsserver will be automatically installed with mason and loaded with lspconfig + tsserver = {}, + }, + -- you can do any additional lsp server setup here + -- return true if you don't want this server to be setup with lspconfig + ---@type table + setup = { + -- example to setup with typescript.nvim + tsserver = function(_, opts) + require("typescript").setup({ server = opts }) + return true + end, + -- Specify * to use this function as a fallback for any server + -- ["*"] = function(server, opts) end, + }, + }, + }, + + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, + -- treesitter, mason and typescript.nvim. So instead of the above, you can use: + { import = "lazyvim.plugins.extras.lang.typescript" }, + + -- add more treesitter parsers + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "bash", + "help", + "html", + "javascript", + "json", + "lua", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "tsx", + "typescript", + "vim", + "yaml", + }, + }, + }, + + -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above + -- would overwrite `ensure_installed` with the new value. + -- If you'd rather extend the default config, use the code below instead: + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + -- add tsx and treesitter + vim.list_extend(opts.ensure_installed, { + "tsx", + "typescript", + }) + end, + }, + + -- the opts function can also be used to change the default opts: + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function(_, opts) + table.insert(opts.sections.lualine_x, "😄") + end, + }, + + -- or you can return new options to override all the defaults + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function() + return { + --[[add your custom lualine config here]] + } + end, + }, + + -- use mini.starter instead of alpha + { import = "lazyvim.plugins.extras.ui.mini-starter" }, + + -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.json" }, + + -- add any tools you want to have installed below + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + }, + }, + + -- Use for completion and snippets (supertab) + -- first: disable default and behavior in LuaSnip + { + "L3MON4D3/LuaSnip", + keys = function() + return {} + end, + }, + -- then: setup supertab in cmp + { + "hrsh7th/nvim-cmp", + dependencies = { + "hrsh7th/cmp-emoji", + }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + end + + local luasnip = require("luasnip") + local cmp = require("cmp") + + opts.mapping = vim.tbl_extend("force", opts.mapping, { + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() + -- they way you will only jump inside the snippet region + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + }) + end, + }, +} diff --git a/.config/nvim/lua/plugins/gitsigns.lua b/.config/nvim/lua/plugins/gitsigns.lua deleted file mode 100644 index 59bebcf..0000000 --- a/.config/nvim/lua/plugins/gitsigns.lua +++ /dev/null @@ -1,6 +0,0 @@ -local status, gitsigns = pcall(require, "gitsigns") -if not status then - return -end - -gitsigns.setup() diff --git a/.config/nvim/lua/plugins/indent-blankline.lua b/.config/nvim/lua/plugins/indent-blankline.lua deleted file mode 100644 index 71e1d9a..0000000 --- a/.config/nvim/lua/plugins/indent-blankline.lua +++ /dev/null @@ -1,26 +0,0 @@ -local status, indent_blankline = pcall(require, "indent_blankline") -if not status then - return -end - -vim.cmd([[highlight IndentBlanklineIndent1 guifg=#E06C75 gui=nocombine]]) -vim.cmd([[highlight IndentBlanklineIndent2 guifg=#E5C07B gui=nocombine]]) -vim.cmd([[highlight IndentBlanklineIndent3 guifg=#98C379 gui=nocombine]]) -vim.cmd([[highlight IndentBlanklineIndent4 guifg=#56B6C2 gui=nocombine]]) -vim.cmd([[highlight IndentBlanklineIndent5 guifg=#61AFEF gui=nocombine]]) -vim.cmd([[highlight IndentBlanklineIndent6 guifg=#C678DD gui=nocombine]]) - -indent_blankline.setup({ - show_current_context = true, - show_current_context_start = true, - show_end_of_line = true, - space_char_blankline = " ", - char_highlight_list = { - "IndentBlanklineIndent1", - "IndentBlanklineIndent2", - "IndentBlanklineIndent3", - "IndentBlanklineIndent4", - "IndentBlanklineIndent5", - "IndentBlanklineIndent6", - }, -}) diff --git a/.config/nvim/lua/plugins/leap.lua b/.config/nvim/lua/plugins/leap.lua deleted file mode 100644 index aa93a9c..0000000 --- a/.config/nvim/lua/plugins/leap.lua +++ /dev/null @@ -1,6 +0,0 @@ -local status, leap = pcall(require, "leap") -if not status then - return -end - -leap.add_default_mappings() diff --git a/.config/nvim/lua/plugins/lsp/lspconfig.lua b/.config/nvim/lua/plugins/lsp/lspconfig.lua deleted file mode 100644 index cdd8cee..0000000 --- a/.config/nvim/lua/plugins/lsp/lspconfig.lua +++ /dev/null @@ -1,103 +0,0 @@ -local status_lspconfig, lspconfig = pcall(require, "lspconfig") -if not status_lspconfig then - return -end - -local status_cmp_nvim_lsp, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") -if not status_cmp_nvim_lsp then - return -end - -local status_typescript, typescript = pcall(require, "typescript") -if not status_typescript then - return -end - -local keymap = vim.keymap - --- enable keybinds only for when lsp server available -local on_attach = function(client, bufnr) - local opts = { noremap = true, silent = true, buffer = bufnr } - - keymap.set("n", "gf", "Lspsaga lsp_finder", opts) -- show definition, references - keymap.set("n", "gD", "lua vim.lsp.buf.declaration()", opts) -- got to declaration - keymap.set("n", "gd", "Lspsaga peek_definition", opts) -- see definition and make edits in window - keymap.set("n", "gi", "lua vim.lsp.buf.implementation()", opts) -- go to implementation - keymap.set("n", "ca", "Lspsaga code_action", opts) -- see available code actions - keymap.set("n", "rn", "Lspsaga rename", opts) -- smart rename - keymap.set("n", "D", "Lspsaga show_line_diagnostics", opts) -- show diagnostics for line - keymap.set("n", "d", "Lspsaga show_cursor_diagnostics", opts) -- show diagnostics for cursor - keymap.set("n", "[d", "Lspsaga diagnostic_jump_prev", opts) -- jump to previous diagnostic in buffer - keymap.set("n", "]d", "Lspsaga diagnostic_jump_next", opts) -- jump to next diagnostic in buffer - keymap.set("n", "K", "Lspsaga hover_doc", opts) -- show documentation for what is under cursor - keymap.set("n", "o", "LSoutlineToggle", opts) -- see outline on right hand side - - if client.name == "tsserver" then - keymap.set("n", "rf", ":TypescriptRenameFile") -- rename file and update imports - keymap.set("n", "oi", ":TypescriptOrganizeImports") -- organize imports (not in youtube nvim video) - keymap.set("n", "ru", ":TypescriptRemoveUnused") -- remove unused variables (not in youtube nvim video) - end -end - -local capabilities = cmp_nvim_lsp.default_capabilities() - -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 - -lspconfig["html"].setup({ - capabilities = capabilities, - on_attach = on_attach, -}) - -typescript.setup({ - server = { - capabilities = capabilities, - on_attach = on_attach, - }, -}) - -lspconfig["cssls"].setup({ - capabilities = capabilities, - on_attach = on_attach, -}) - -lspconfig["tailwindcss"].setup({ - capabilities = capabilities, - on_attach = on_attach, -}) - -lspconfig["emmet_ls"].setup({ - capabilities = capabilities, - on_attach = on_attach, - filetypes = { "html", "typescriptreact", "javascriptreact", "css", "sass", "scss", "less", "svelte" }, -}) - -lspconfig["jsonls"].setup({ - settings = { - json = { - schemas = require("schemastore").json.schemas(), - validate = { enable = true }, - }, - }, -}) - -lspconfig["sumneko_lua"].setup({ - capabilities = capabilities, - on_attach = on_attach, - settings = { - Lua = { - diagnostics = { - globals = { "vim" }, - }, - workspace = { - library = { - [vim.fn.expand("$VIMRUNTIME/lua")] = true, - [vim.fn.stdpath("config") .. "/lua"] = true, - }, - }, - }, - }, -}) diff --git a/.config/nvim/lua/plugins/lsp/lspsaga.lua b/.config/nvim/lua/plugins/lsp/lspsaga.lua deleted file mode 100644 index 903bcef..0000000 --- a/.config/nvim/lua/plugins/lsp/lspsaga.lua +++ /dev/null @@ -1,14 +0,0 @@ -local status, lspsaga = pcall(require, "lspsaga") -if not status then - return -end - -lspsaga.setup({ - move_in_saga = { prev = "", next = "" }, - finder_action_keys = { - open = "", - }, - definition_action_keys = { - edit = "", - }, -}) diff --git a/.config/nvim/lua/plugins/lsp/mason.lua b/.config/nvim/lua/plugins/lsp/mason.lua deleted file mode 100644 index e59fd19..0000000 --- a/.config/nvim/lua/plugins/lsp/mason.lua +++ /dev/null @@ -1,37 +0,0 @@ -local status_mason, mason = pcall(require, "mason") -if not status_mason then - return -end - -local status_lspconfig, mason_lspconfig = pcall(require, "mason-lspconfig") -if not status_lspconfig then - return -end - -local status_null_ls, mason_null_ls = pcall(require, "mason-null-ls") -if not status_null_ls then - return -end - -mason.setup() - -mason_lspconfig.setup({ - ensure_installed = { - "tsserver", - "html", - "cssls", - "tailwindcss", - "sumneko_lua", - "emmet_ls", - }, - automatic_installation = true, -}) - -mason_null_ls.setup({ - ensure_installed = { - "prettier", - "stylua", - "eslint_d", - }, - automatic_installation = true, -}) diff --git a/.config/nvim/lua/plugins/lsp/null-ls.lua b/.config/nvim/lua/plugins/lsp/null-ls.lua deleted file mode 100644 index 9b268a9..0000000 --- a/.config/nvim/lua/plugins/lsp/null-ls.lua +++ /dev/null @@ -1,40 +0,0 @@ -local status, null_ls = pcall(require, "null-ls") -if not status then - return -end - -local formatting = null_ls.builtins.formatting -local diagnostics = null_ls.builtins.diagnostics - -local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) - -null_ls.setup({ - sources = { - formatting.prettier.with({ - disabled_filetypes = { "yaml" }, - }), - formatting.stylua, - diagnostics.eslint_d.with({ - condition = function(utils) - return utils.root_has_file(".eslintrc.js") - end, - }), - }, - on_attach = function(current_client, bufnr) - if current_client.supports_method("textDocument/formatting") then - vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - vim.lsp.buf.format({ - filter = function(client) - return client.name == "null-ls" - end, - bufnr = bufnr, - }) - end, - }) - end - end, -}) diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua deleted file mode 100644 index 7524d8e..0000000 --- a/.config/nvim/lua/plugins/lualine.lua +++ /dev/null @@ -1,11 +0,0 @@ -local status, lualine = pcall(require, "lualine") -if not status then - return -end - -lualine.setup({ - options = { - icon_enabled = true, - theme = "auto", - }, -}) diff --git a/.config/nvim/lua/plugins/nvim-autopairs.lua b/.config/nvim/lua/plugins/nvim-autopairs.lua deleted file mode 100644 index 225b5fe..0000000 --- a/.config/nvim/lua/plugins/nvim-autopairs.lua +++ /dev/null @@ -1,25 +0,0 @@ -local status, autopairs = pcall(require, "nvim-autopairs") -if not status then - return -end - -autopairs.setup({ - check_ts = true, - ts_config = { - lua = { "string" }, - javascript = { "template_string" }, - java = false, - }, -}) - -local cmp_autopairs_status, cmp_autopairs = pcall(require, "nvim-autopairs.completion.cmp") -if not cmp_autopairs_status then - return -end - -local cmp_status, cmp = pcall(require, "cmp") -if not cmp_status then - return -end - -cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) diff --git a/.config/nvim/lua/plugins/nvim-cmp.lua b/.config/nvim/lua/plugins/nvim-cmp.lua deleted file mode 100644 index 922c8bf..0000000 --- a/.config/nvim/lua/plugins/nvim-cmp.lua +++ /dev/null @@ -1,45 +0,0 @@ -local status_cmp, cmp = pcall(require, "cmp") -if not status_cmp then - return -end - -local status_luasnip, luasnip = pcall(require, "luasnip") -if not status_luasnip then - return -end - -local status_lspkind, lspkind = pcall(require, "lspkind") -if not status_lspkind then - return -end - -require("luasnip/loaders/from_vscode").lazy_load() - -vim.opt.completeopt = "menu,menuone,noselect" - -cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.select_prev_item(), - [""] = cmp.mapping.select_next_item(), - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.abort(), - [""] = cmp.mapping.confirm({ select = false }), - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "buffer" }, - { name = "path" }, - }), - formatting = { - format = lspkind.cmp_format({ - maxwidth = 50, - ellipsis_char = "...", - }), - }, -}) diff --git a/.config/nvim/lua/plugins/nvim-tree.lua b/.config/nvim/lua/plugins/nvim-tree.lua deleted file mode 100644 index 4bdb16d..0000000 --- a/.config/nvim/lua/plugins/nvim-tree.lua +++ /dev/null @@ -1,26 +0,0 @@ -local status, nvimtree = pcall(require, "nvim-tree") -if not status then - return -end - --- recommended settings by nvim-tree documentation -vim.g.loaded_netrw = 1 -vim.g.loaded_netrwPlugin = 1 - -nvimtree.setup({ - --integration with project.nvim - sync_root_with_cwd = true, - respect_buf_cwd = true, - update_focused_file = { - enable = true, - update_root = true, - }, - view = { - mappings = { - list = { - { key = "l", action = "expand" }, - { key = "h", action = "collapse" }, - }, - }, - }, -}) diff --git a/.config/nvim/lua/plugins/project.lua b/.config/nvim/lua/plugins/project.lua deleted file mode 100644 index 67bdd72..0000000 --- a/.config/nvim/lua/plugins/project.lua +++ /dev/null @@ -1,6 +0,0 @@ -local status, project = pcall(require, "project_nvim") -if not status then - return -end - -project.setup() diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua deleted file mode 100644 index 970852b..0000000 --- a/.config/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,26 +0,0 @@ -local status_telescope, telescope = pcall(require, "telescope") -if not status_telescope then - return -end - -local status_actions, actions = pcall(require, "telescope.actions") -if not status_actions then - return -end - -telescope.setup({ - defaults = { - mappings = { - i = { - [""] = actions.move_selection_previous, - [""] = actions.move_selection_next, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - }, - }, - }, - pickers = { - find_files = { - find_command = { "fd", "--type", "f", "--strip-cwd-prefix", "--unrestricted" }, - }, - }, -}) diff --git a/.config/nvim/lua/plugins/toggleterm.lua b/.config/nvim/lua/plugins/toggleterm.lua deleted file mode 100644 index f1265ab..0000000 --- a/.config/nvim/lua/plugins/toggleterm.lua +++ /dev/null @@ -1,24 +0,0 @@ -local status, toggleterm = pcall(require, "toggleterm") -if not status then - return -end - -toggleterm.setup({ - open_mapping = [[]], - hide_numbers = true, - persist_size = true, - persist_mode = true, - direction = "float", - close_on_exit = true, - shell = vim.o.shell, - auto_scroll = true, - float_opts = { - border = "curved", - }, - winbar = { - enabled = false, - name_formatter = function(term) - return term.name - end, - }, -}) diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua deleted file mode 100644 index c746f96..0000000 --- a/.config/nvim/lua/plugins/treesitter.lua +++ /dev/null @@ -1,35 +0,0 @@ -local status, treesitter = pcall(require, "nvim-treesitter.configs") -if not status then - return -end - -treesitter.setup({ - ensure_installed = { - "bash", - "c", - "css", - "dockerfile", - "go", - "html", - "javascript", - "json", - "latex", - "lua", - "make", - "python", - "rust", - "vue", - "yaml", - }, - sync_install = false, - auto_install = true, -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally - highlight = { - enable = true, - disable = { - "gitcommit", - "git_rebase", - }, -- non-treesitter highligthing is way better for verbose gitcommit and git_rebase - }, - indent = { enable = true }, - autotag = { enabled = true }, -}) diff --git a/.config/nvim/lua/plugins/which-key.lua b/.config/nvim/lua/plugins/which-key.lua deleted file mode 100644 index 5aa42d3..0000000 --- a/.config/nvim/lua/plugins/which-key.lua +++ /dev/null @@ -1,11 +0,0 @@ -local status, whichkey = pcall(require, "which-key") -if not status then - return -end - -whichkey.setup({ - window = { - border = "double", - position = "bottom", - }, -}) diff --git a/.config/nvim/.stylua.toml b/.config/nvim/stylua.toml similarity index 68% rename from .config/nvim/.stylua.toml rename to .config/nvim/stylua.toml index 0435f67..5d6c50d 100644 --- a/.config/nvim/.stylua.toml +++ b/.config/nvim/stylua.toml @@ -1,2 +1,3 @@ indent_type = "Spaces" indent_width = 2 +column_width = 120 \ No newline at end of file