Initial commit for astronvim v4 configuration
This commit is contained in:
		
							
								
								
									
										20
									
								
								.neoconf.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								.neoconf.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| { | ||||
|   "neodev": { | ||||
|     "library": { | ||||
|       "enabled": true, | ||||
|       "plugins": true | ||||
|     } | ||||
|   }, | ||||
|   "neoconf": { | ||||
|     "plugins": { | ||||
|       "lua_ls": { | ||||
|         "enabled": true | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "lspconfig": { | ||||
|     "lua_ls": { | ||||
|       "Lua.format.enable": false | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										34
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| # AstroNvim Template | ||||
|  | ||||
| **NOTE:** This is for AstroNvim v4+ | ||||
|  | ||||
| A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim) | ||||
|  | ||||
| ## 🛠️ Installation | ||||
|  | ||||
| #### Make a backup of your current nvim and shared folder | ||||
|  | ||||
| ```shell | ||||
| mv ~/.config/nvim ~/.config/nvim.bak | ||||
| mv ~/.local/share/nvim ~/.local/share/nvim.bak | ||||
| mv ~/.local/state/nvim ~/.local/state/nvim.bak | ||||
| mv ~/.cache/nvim ~/.cache/nvim.bak | ||||
| ``` | ||||
|  | ||||
| #### Create a new user repository from this template | ||||
|  | ||||
| Press the "Use this template" button above to create a new repository to store your user configuration. | ||||
|  | ||||
| You can also just clone this repository directly if you do not want to track your user configuration in GitHub. | ||||
|  | ||||
| #### Clone the repository | ||||
|  | ||||
| ```shell | ||||
| git clone https://github.com/<your_user>/<your_repository> ~/.config/nvim | ||||
| ``` | ||||
|  | ||||
| #### Start Neovim | ||||
|  | ||||
| ```shell | ||||
| nvim | ||||
| ``` | ||||
							
								
								
									
										19
									
								
								init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								init.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| -- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution | ||||
| -- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk. | ||||
| local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim" | ||||
| if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then | ||||
|   -- 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(lazypath) | ||||
|  | ||||
| -- validate that lazy is available | ||||
| if not pcall(require, "lazy") then | ||||
|   -- stylua: ignore | ||||
|   vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {}) | ||||
|   vim.fn.getchar() | ||||
|   vim.cmd.quit() | ||||
| end | ||||
|  | ||||
| require "lazy_setup" | ||||
| require "polish" | ||||
							
								
								
									
										66
									
								
								lua/community.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								lua/community.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| -- if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE | ||||
|  | ||||
| -- AstroCommunity: import any community modules here | ||||
| -- We import this file in `lazy_setup.lua` before the `plugins/` folder. | ||||
| -- This guarantees that the specs are processed before any user plugins. | ||||
|  | ||||
| ---@type LazySpec | ||||
| return { | ||||
|   "AstroNvim/astrocommunity", | ||||
|   { import = "astrocommunity.pack.lua" }, | ||||
|   -- import/override with your plugins folder | ||||
|  | ||||
|   -- | ||||
|   -- Personal config | ||||
|   -- | ||||
|  | ||||
|   -- Packs | ||||
|   { import = "astrocommunity.pack.bash" }, | ||||
|   { import = "astrocommunity.pack.json" }, | ||||
|   { import = "astrocommunity.pack.yaml" }, | ||||
|   { import = "astrocommunity.pack.toml" }, | ||||
|   -- { import = "astrocommunity.pack.markdown" }, | ||||
|   -- { import = "astrocommunity.pack.ansible" }, | ||||
|   -- { import = "astrocommunity.pack.docker" }, | ||||
|   -- { import = "astrocommunity.pack.helm" }, | ||||
|   -- { import = "astrocommunity.pack.terraform" }, | ||||
|   -- { import = "astrocommunity.pack.python" }, | ||||
|   -- { import = "astrocommunity.pack.java" }, | ||||
|   -- { import = "astrocommunity.pack.html-css" }, | ||||
|   -- { import = "astrocommunity.pack.angular" }, | ||||
|  | ||||
|   -- Individual plugins (misc) | ||||
|   -- { import = "astrocommunity.bars-and-lines.smartcolumn-nvim" }, | ||||
|   -- { import = "astrocommunity.completion.copilot-lua-cmp" }, | ||||
|   { import = "astrocommunity.diagnostics.trouble-nvim" }, | ||||
|   { import = "astrocommunity.editing-support.rainbow-delimiters-nvim" }, | ||||
|   { import = "astrocommunity.editing-support.nvim-devdocs" }, | ||||
|   -- { import = "astrocommunity.editing-support.chatgpt-nvim" }, | ||||
|   { import = "astrocommunity.indent.indent-rainbowline" }, | ||||
|   { import = "astrocommunity.programming-language-support.rest-nvim" }, | ||||
|   { import = "astrocommunity.project.project-nvim" }, | ||||
|  | ||||
|   -- Individual plugins (colorschemes) | ||||
|   { import = "astrocommunity.colorscheme.vscode-nvim" }, | ||||
|   { import = "astrocommunity.colorscheme.github-nvim-theme" }, | ||||
|   { import = "astrocommunity.colorscheme.neosolarized-nvim" }, | ||||
|   { import = "astrocommunity.colorscheme.nord-nvim" }, | ||||
|   { import = "astrocommunity.colorscheme.nordic-nvim" }, | ||||
|   { import = "astrocommunity.colorscheme.iceberg-vim" }, | ||||
|  | ||||
|   -- Individual plugins customization | ||||
|   -- { | ||||
|   --   "nvim-treesitter/nvim-treesitter", | ||||
|   --   opts = function(_, opts) | ||||
|   --     local utils = require "astronvim.utils" | ||||
|   --     if opts.ensure_installed ~= "all" then | ||||
|   --       opts.ensure_installed = utils.list_insert_unique(opts.ensure_installed, | ||||
|   --         { "lua", "xml", "http", "json", "graphql" }) | ||||
|   --     end | ||||
|   --   end, | ||||
|   -- }, | ||||
|   -- | ||||
|   -- Now provided by core | ||||
|   -- { import = "astrocommunity.bars-and-lines.vim-illuminate" }, | ||||
|   -- { import = "astrocommunity.editing-support.todo-comments-nvim" }, | ||||
| } | ||||
							
								
								
									
										72
									
								
								lua/custom/autocmds/groovy.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								lua/custom/autocmds/groovy.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | ||||
| vim.api.nvim_create_autocmd( | ||||
|   "FileType", { | ||||
|     desc = "Customizations for groovy files", | ||||
|     pattern = { "groovy", "Jenkinsfile" }, | ||||
|     callback = function() | ||||
|       local utils = require('astrocore') | ||||
|       utils.notify("Loading autocmd customizations for groovy files") | ||||
|  | ||||
|       -- Terminal settings | ||||
|  | ||||
|       -- Define prefered options for the terminal | ||||
|       -- local command = string.format(" groovy %s", vim.api.nvim_buf_get_name(0)) | ||||
|       local name = "groovy" | ||||
|       local command = " groovysh" | ||||
|       local direction = "horizontal" | ||||
|       local size = 25 | ||||
|       local toggle_key = "<F10>" | ||||
|  | ||||
|       -- Define a new terminal dedicated to groovy | ||||
|       local toggleterm = require('toggleterm') | ||||
|       local Terminal = require('toggleterm.terminal').Terminal | ||||
|       local groovy = Terminal:new({ | ||||
|         name = name, | ||||
|         cmd = command, | ||||
|         direction = direction, | ||||
|         size = size, | ||||
|         hidden = true, | ||||
|         close_on_exit = true, | ||||
|       }) | ||||
|  | ||||
|       -- Spawn in background so it will be ready to execute code | ||||
|       groovy:spawn() | ||||
|  | ||||
|       -- -- Define a function to run code from current buffer in the terminal | ||||
|       -- function _Groovy_buffer_exec() | ||||
|       --   if not groovy:is_open() then groovy:open(size, direction) end | ||||
|       --   groovy:send(' clear', true) | ||||
|       --   groovy:send(command, true) | ||||
|       -- end | ||||
|  | ||||
|       -- | ||||
|       -- Define a function to run code from visual selection in the terminal | ||||
|       function _Groovy_visual_exec() | ||||
|         if not groovy:is_open() then groovy:open(size, direction) end | ||||
|         toggleterm.send_lines_to_terminal("visual_lines", true, { groovy.id }) | ||||
|       end | ||||
|  | ||||
|       -- Define a keymap to run the current buffer in the terminal | ||||
|       vim.keymap.set({ 'n', 'i', 'v', 't' }, '<F10>', function() groovy:toggle(size, direction) end, | ||||
|         { noremap = true, silent = true }) | ||||
|       vim.api.nvim_set_keymap("v", "<F22>", "<cmd>lua _Groovy_visual_exec()<cr>", { noremap = true, silent = true }) | ||||
|  | ||||
|       -- Vim settings | ||||
|  | ||||
|       vim.opt_local.signcolumn = 'auto' | ||||
|       vim.opt_local.foldcolumn = 'auto' | ||||
|       vim.opt_local.makeprg = 'groovy %' | ||||
|       vim.keymap.set({ 'n', 'i', 'v' }, '<F5>', ':make<CR>', { buffer = true }) | ||||
|  | ||||
|       -- vim.keymap.nnoremap { '<leader>²x', ':make<CR>' } | ||||
|       -- vim.keymap.inoremap { '<leader>²x', '<ESC>:make<CR>' } | ||||
|  | ||||
|       -- DevDocs | ||||
|       require('nvim-devdocs').setup({ | ||||
|         -- your configuration comes here | ||||
|         -- or leave it empty to use the default settings | ||||
|         -- refer to the configuration section below | ||||
|       }) | ||||
|       vim.keymap.set({ 'n', 'i', 'v' }, '<F1>', ':DevdocsOpen groovy-2.4<CR>', { buffer = true }) | ||||
|     end, | ||||
|   } | ||||
| ) | ||||
							
								
								
									
										4
									
								
								lua/custom/autocmds/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								lua/custom/autocmds/init.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| require "custom.autocmds.text" | ||||
| require "custom.autocmds.terminal" | ||||
| require "custom.autocmds.groovy" | ||||
| require "custom.autocmds.python" | ||||
							
								
								
									
										87
									
								
								lua/custom/autocmds/python.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								lua/custom/autocmds/python.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,87 @@ | ||||
| vim.api.nvim_create_autocmd( | ||||
|   "FileType", { | ||||
|     pattern = { "python" }, | ||||
|     desc = "Customizations for python files", | ||||
|     callback = function() | ||||
|       local utils = require('astrocore') | ||||
|       utils.notify("Loading autocmd customizations for python files") | ||||
|  | ||||
|       -- Terminal settings | ||||
|  | ||||
|       -- Define prefered options for the terminal | ||||
|       local name = "python" | ||||
|       local direction = "vertical" | ||||
|       local size = 100 | ||||
|  | ||||
|       -- Define a new terminal dedicated to python | ||||
|       local Terminal = require('toggleterm.terminal').Terminal | ||||
|       local python = Terminal:new({ | ||||
|         name = name, | ||||
|         size = size, | ||||
|         direction = direction, | ||||
|         hidden = true, | ||||
|         -- close_on_exit = true, | ||||
|       }) | ||||
|  | ||||
|       -- Spawn it in background so it will be ready to execute code | ||||
|       python:spawn() | ||||
|  | ||||
|       -- Define a function to toggle the terminal | ||||
|       function _Python_terminal_toggle() | ||||
|         python:toggle(size, direction) | ||||
|       end | ||||
|  | ||||
|       -- Define a function to run code from current buffer in the terminal | ||||
|       function _Python_buffer_exec() | ||||
|         local command = string.format(" python %s", vim.api.nvim_buf_get_name(0)) | ||||
|         if not python:is_open() then python:open(size, direction) end | ||||
|         python:send(' clear', true) | ||||
|         python:send(command, true) | ||||
|       end | ||||
|  | ||||
|       -- Define a keymap to run the current buffer in the terminal | ||||
|       --   <F10> corresponds to         F10 on my keyboard | ||||
|       --   <F22> corresponds to Shift + F10 on my keyboard | ||||
|       --   <F34> corresponds to Ctrl  + F10 on my keyboard | ||||
|       vim.api.nvim_set_keymap("n", "<F10>", | ||||
|         "<cmd>lua _Python_terminal_toggle()<cr>", | ||||
|         { noremap = true, silent = true }) | ||||
|       vim.api.nvim_set_keymap("i", "<F10>", | ||||
|         "<cmd>lua _Python_terminal_toggle()<cr>", | ||||
|         { noremap = true, silent = true }) | ||||
|       vim.api.nvim_set_keymap("t", "<F10>", | ||||
|         "<cmd>lua _Python_terminal_toggle()<cr>", | ||||
|         { noremap = true, silent = true }) | ||||
|       vim.api.nvim_set_keymap("n", "<F34>", | ||||
|         -- "<cmd>TermExec name=python cmd='python %'<cr>", | ||||
|         '<cmd>lua _Python_buffer_exec()<cr>', | ||||
|         { noremap = true, silent = true }) | ||||
|       vim.api.nvim_set_keymap("i", "<F34>", | ||||
|         -- "<cmd>TermExec name=python cmd='python %'<cr>", | ||||
|         '<cmd>lua _Python_buffer_exec()<cr>', | ||||
|         { noremap = true, silent = true }) | ||||
|       vim.api.nvim_set_keymap("t", "<F34>", | ||||
|         -- "<cmd>TermExec name=python cmd='python %'<cr>", | ||||
|         '<cmd>lua _Python_buffer_exec()<cr>', | ||||
|         { noremap = true, silent = true }) | ||||
|  | ||||
|       utils.notify("Type <F10> to toggle the python terminal") | ||||
|       utils.notify("Type Ctrl+<F10> to run current buffer in the python terminal") | ||||
|  | ||||
|       -- DevDocs | ||||
|       require('nvim-devdocs').setup({ | ||||
|         -- your configuration comes here | ||||
|         -- or leave it empty to use the default settings | ||||
|         -- refer to the configuration section below | ||||
|       }) | ||||
|       vim.keymap.set({ 'n', 'i', 'v' }, '<F1>', ':DevdocsOpen python-3.10<CR>', { buffer = true }) | ||||
|  | ||||
|       utils.notify("Type <F1> to access DevDocs documentation for python") | ||||
|  | ||||
|       -- Vim settings | ||||
|  | ||||
|       vim.opt_local.signcolumn = "auto" | ||||
|       vim.opt_local.foldcolumn = "auto" | ||||
|     end, | ||||
|   } | ||||
| ) | ||||
							
								
								
									
										6
									
								
								lua/custom/autocmds/terminal.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								lua/custom/autocmds/terminal.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| vim.api.nvim_create_autocmd("TermOpen", { | ||||
|   desc = "Auto switch to insert mode for terminal", | ||||
|   group = vim.api.nvim_create_augroup("term_auto_insert", { clear = true }), | ||||
|   pattern = "term://*", | ||||
|   command = "startinsert", | ||||
| }) | ||||
							
								
								
									
										9
									
								
								lua/custom/autocmds/text.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								lua/custom/autocmds/text.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| vim.api.nvim_create_autocmd("FileType", { | ||||
|   desc = "Enable wrap and spell for text like documents", | ||||
|   group = vim.api.nvim_create_augroup("auto_spell", { clear = true }), | ||||
|   pattern = { "gitcommit", "markdown", "text", "plaintex" }, | ||||
|   callback = function() | ||||
|     vim.opt_local.wrap = true | ||||
|     vim.opt_local.spell = true | ||||
|   end, | ||||
| }) | ||||
							
								
								
									
										1
									
								
								lua/custom/filetypes/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								lua/custom/filetypes/init.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| require "custom.filetypes.jenkins" | ||||
							
								
								
									
										8
									
								
								lua/custom/filetypes/jenkins.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								lua/custom/filetypes/jenkins.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| vim.filetype.add { | ||||
|   filename = { | ||||
|     ["Jenkinsfile"] = "groovy", | ||||
|   }, | ||||
|   extension = { | ||||
|     Jenkinsfile = "groovy", | ||||
|   }, | ||||
| } | ||||
							
								
								
									
										89
									
								
								lua/custom/plugins/astrocore.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								lua/custom/plugins/astrocore.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,89 @@ | ||||
| -- AstroCore provides a central place to modify mappings, vim options, autocommands, and more! | ||||
| -- Configuration documentation can be found with `:h astrocore` | ||||
| -- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) | ||||
| --       as this provides autocomplete and documentation while editing | ||||
|  | ||||
| ---@type LazySpec | ||||
| return { | ||||
|   "AstroNvim/astrocore", | ||||
|   ---@type AstroCoreOpts | ||||
|   opts = { | ||||
|     -- vim options can be configured here | ||||
|     options = { | ||||
|       opt = { | ||||
|         -- cmdheight = 1, -- Always show command line | ||||
|         scrolloff = 0, -- Set scroll offset to zero so that zt and zb work as expected | ||||
|         -- number = true, -- sets vim.opt.number | ||||
|         relativenumber = false, -- sets vim.opt.relativenumber | ||||
|         -- signcolumn = "auto", -- sets vim.opt.signcolumn to auto | ||||
|         -- foldcolumn = "auto", -- sets vim.opt.foldcolumn to auto | ||||
|         -- spell = false,         -- sets vim.opt.spell | ||||
|         spelllang = "fr", -- Set spell language to french | ||||
|         -- wrap = false,          -- sets vim.opt.wrap | ||||
|       }, | ||||
|     }, | ||||
|     -- Mappings can be configured through AstroCore as well. | ||||
|     -- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized | ||||
|     mappings = { | ||||
|       -- Normal mode | ||||
|       n = { | ||||
|         -- ["<Leader>bb"] = { "<cmd>tabnew<cr>", desc = "New tab" }, | ||||
|         -- ["<Leader>bc"] = { "<cmd>BufferLinePickClose<cr>", desc = "Pick to close" }, | ||||
|         -- ["<Leader>bj"] = { "<cmd>BufferLinePick<cr>", desc = "Pick to jump" }, | ||||
|         -- ["<Leader>bt"] = { "<cmd>BufferLineSortByTabs<cr>", desc = "Sort by tabs" }, | ||||
|  | ||||
|         -- Easy buffer navigation | ||||
|         ["<tab>"] = { "<cmd>bnext<cr>", desc = "Switch to next buffer" }, | ||||
|         ["<S-tab>"] = { "<cmd>bprevious<cr>", desc = "Switch to previous buffer" }, | ||||
|  | ||||
|         -- quick save | ||||
|         -- ["<C-s>"] = { ":w!<cr>", desc = "Save File" },  -- change description but the same command | ||||
|  | ||||
|         -- My telescope keybindings | ||||
|         ["<Leader>gf"] = { "<cmd>Telescope git_files<cr>", desc = "Find git files with Telescope" }, | ||||
|         ["<Leader>fq"] = { "<cmd>Telescope quickfix<cr>", desc = "Find quickfixes with Telescope" }, | ||||
|         ["<Leader>fs"] = { "<cmd>Telescope spell_suggest<cr>", desc = "Find spell suggestions with Telescope" }, | ||||
|         ["<Leader>fp"] = { "<cmd>Telescope projects<cr>", desc = "Find projetcs with Telescope" }, | ||||
|  | ||||
|         -- My personal keybindings | ||||
|         ["<Leader>²"] = { name = "Personal" }, | ||||
|         ["<Leader>²t"] = { name = "Terminals" }, | ||||
|         ["<Leader>²tt"] = { "<cmd>TermSelect<cr>", desc = "Select a terminal" }, | ||||
|         ["<Leader>²tg"] = { "<cmd>terminal tig<cr>", desc = "Open tig in a new tab" }, | ||||
|  | ||||
|         ["<Leader>²n"] = { name = "Neotree" }, | ||||
|         ["<Leader>²nb"] = { "<cmd>Neotree toggle buffers left<cr>", desc = "Open Neotree Buffers" }, | ||||
|         ["<Leader>²ng"] = { "<cmd>Neotree toggle git_status left<cr>", desc = "Open Neotree Git status" }, | ||||
|  | ||||
|         -- ["<F1>"] = { "<cmd>Telescope help_tags<cr>", desc = "Find help with Telescope" }, | ||||
|         ["<F2>"] = { "<cmd>Neotree toggle<cr>", desc = "File Explorer" }, -- F26 corresponds to <Ctrl+F2> on my keyboard | ||||
|         ["<F3>"] = { function() require("astrocore").toggle_term_cmd "lazygit" end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard | ||||
|         ["<F4>"] = { function() require("astrocore").toggle_term_cmd "tig" end, desc = "Tig terminal" }, -- F28 corresponds to <Ctrl+F4> on my keyboard | ||||
|       }, | ||||
|  | ||||
|       -- Insert mode | ||||
|       i = { | ||||
|         ["<F2>"] = { "<cmd>Neotree toggle<cr>", desc = "File Explorer" }, -- F26 corresponds to <Ctrl+F2> on my keyboard | ||||
|         ["<F3>"] = { function() require("astrocore").toggle_term_cmd "lazygit" end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard | ||||
|         ["<F4>"] = { function() require("astrocore").toggle_term_cmd "tig" end, desc = "Tig terminal" }, -- F28 corresponds to <Ctrl+F4> on my keyboard | ||||
|       }, | ||||
|  | ||||
|       -- Terminal mode | ||||
|       t = { | ||||
|         -- setting a mapping to false will disable it | ||||
|         -- ["<esc>"] = false, | ||||
|         -- Switch to normal mode in terminal mode | ||||
|         ["<Esc><Esc><Esc>"] = { "<C-\\><C-n>" }, | ||||
|         -- Clear Ctrl+l so that we can use it to clear the terminal | ||||
|         ["<C-l>"] = false, | ||||
|         ["<C-h>"] = false, | ||||
|         -- Clear Ctrl-J and Ctrl-K so that we can use them to navigate the terminal (for lazygit) | ||||
|         ["<C-j>"] = false, | ||||
|         ["<C-k>"] = false, | ||||
|         -- My terms | ||||
|         ["<F3>"] = { function() require("astrocore").toggle_term_cmd "lazygit" end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard | ||||
|         ["<F4>"] = { function() require("astrocore").toggle_term_cmd "tig" end, desc = "Tig terminal" }, -- F28 corresponds to <Ctrl+F4> on my keyboard | ||||
|       }, | ||||
|     }, | ||||
|   }, | ||||
| } | ||||
							
								
								
									
										8
									
								
								lua/custom/plugins/colorschemes.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								lua/custom/plugins/colorschemes.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| return { | ||||
|   -- { "jacoborus/tender.vim", lazy = false }, | ||||
|   -- { "altercation/vim-colors-solarized", lazy = false }, | ||||
|   -- { "bluz71/vim-moonfly-colors", lazy = false }, | ||||
|   -- { "ray-x/aurora", lazy = false }, | ||||
|   -- { "rmehri01/onenord.nvim" }, | ||||
|   { "joshdick/onedark.vim" }, | ||||
| } | ||||
							
								
								
									
										7
									
								
								lua/custom/plugins/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								lua/custom/plugins/init.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| return { | ||||
|   require "custom.plugins.astrocore", | ||||
|   require "custom.plugins.colorschemes", | ||||
|   require "custom.plugins.neo-tree", | ||||
|   -- require "custom.plugins.telescope", | ||||
|   require "custom.plugins.others", | ||||
| } | ||||
							
								
								
									
										27
									
								
								lua/custom/plugins/neo-tree.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								lua/custom/plugins/neo-tree.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| return { | ||||
|   { | ||||
|     "nvim-neo-tree/neo-tree.nvim", | ||||
|     opts = { | ||||
|       window = { | ||||
|         width = 50, | ||||
|         mappings = { | ||||
|           ["<space>"] = false, -- disable space until we figure out which-key disabling | ||||
|           [">"] = "next_source", | ||||
|           ["<"] = "prev_source", | ||||
|         }, | ||||
|       }, | ||||
|       event_handlers = { | ||||
|         { | ||||
|           event = "file_opened", | ||||
|           handler = function(file_path) | ||||
|             -- auto close | ||||
|             -- vimc.cmd("Neotree close") | ||||
|             -- OR | ||||
|             require("neo-tree.command").execute({ action = "close" }) | ||||
|           end | ||||
|         }, | ||||
|       }, | ||||
|       close_if_last_window = true, | ||||
|     }, | ||||
|   } | ||||
| } | ||||
							
								
								
									
										4
									
								
								lua/custom/plugins/others.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								lua/custom/plugins/others.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| return { | ||||
|   -- direnv | ||||
|   { "direnv/direnv.vim", lazy = false }, | ||||
| } | ||||
							
								
								
									
										13
									
								
								lua/custom/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								lua/custom/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| return { | ||||
|   "nvim-telescope/telescope.nvim", | ||||
|   dependencies = { | ||||
|     "nvim-telescope/telescope-file-browser.nvim", | ||||
|     "da-moon/telescope-toggleterm.nvim", | ||||
|   }, | ||||
|   config = function(...) | ||||
|     require "plugins.configs.telescope"(...) | ||||
|     local telescope = require "telescope" | ||||
|     telescope.load_extension "file_browser" | ||||
|     telescope.load_extension "toggleterm" | ||||
|   end, | ||||
| } | ||||
							
								
								
									
										32
									
								
								lua/lazy_setup.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								lua/lazy_setup.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| require("lazy").setup({ | ||||
|   { | ||||
|     "AstroNvim/AstroNvim", | ||||
|     version = "^4", -- Remove version tracking to elect for nighly AstroNvim | ||||
|     import = "astronvim.plugins", | ||||
|     opts = { -- AstroNvim options must be set here with the `import` key | ||||
|       mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up | ||||
|       maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up | ||||
|       icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available) | ||||
|       pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override | ||||
|       update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins | ||||
|     }, | ||||
|   }, | ||||
|   { import = "community" }, | ||||
|   { import = "plugins" }, | ||||
| } --[[@as LazySpec]], { | ||||
|   -- Configure any other `lazy.nvim` configuration options here | ||||
|   install = { colorscheme = { "astrodark", "habamax" } }, | ||||
|   ui = { backdrop = 100 }, | ||||
|   performance = { | ||||
|     rtp = { | ||||
|       -- disable some rtp plugins, add more to your liking | ||||
|       disabled_plugins = { | ||||
|         "gzip", | ||||
|         "netrwPlugin", | ||||
|         "tarPlugin", | ||||
|         "tohtml", | ||||
|         "zipPlugin", | ||||
|       }, | ||||
|     }, | ||||
|   }, | ||||
| } --[[@as LazyConfig]]) | ||||
							
								
								
									
										74
									
								
								lua/plugins/astrocore.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								lua/plugins/astrocore.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE | ||||
|  | ||||
| -- AstroCore provides a central place to modify mappings, vim options, autocommands, and more! | ||||
| -- Configuration documentation can be found with `:h astrocore` | ||||
| -- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) | ||||
| --       as this provides autocomplete and documentation while editing | ||||
|  | ||||
| ---@type LazySpec | ||||
| return { | ||||
|   "AstroNvim/astrocore", | ||||
|   ---@type AstroCoreOpts | ||||
|   opts = { | ||||
|     -- Configure core features of AstroNvim | ||||
|     features = { | ||||
|       large_buf = { size = 1024 * 500, lines = 10000 }, -- set global limits for large files for disabling features like treesitter | ||||
|       autopairs = true, -- enable autopairs at start | ||||
|       cmp = true, -- enable completion at start | ||||
|       diagnostics_mode = 3, -- diagnostic mode on start (0 = off, 1 = no signs/virtual text, 2 = no virtual text, 3 = on) | ||||
|       highlighturl = true, -- highlight URLs at start | ||||
|       notifications = true, -- enable notifications at start | ||||
|     }, | ||||
|     -- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on | ||||
|     diagnostics = { | ||||
|       virtual_text = true, | ||||
|       underline = true, | ||||
|     }, | ||||
|     -- vim options can be configured here | ||||
|     options = { | ||||
|       opt = { -- vim.opt.<key> | ||||
|         relativenumber = true, -- sets vim.opt.relativenumber | ||||
|         number = true, -- sets vim.opt.number | ||||
|         spell = false, -- sets vim.opt.spell | ||||
|         signcolumn = "auto", -- sets vim.opt.signcolumn to auto | ||||
|         wrap = false, -- sets vim.opt.wrap | ||||
|       }, | ||||
|       g = { -- vim.g.<key> | ||||
|         -- configure global vim variables (vim.g) | ||||
|         -- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup` | ||||
|         -- This can be found in the `lua/lazy_setup.lua` file | ||||
|       }, | ||||
|     }, | ||||
|     -- Mappings can be configured through AstroCore as well. | ||||
|     -- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized | ||||
|     mappings = { | ||||
|       -- first key is the mode | ||||
|       n = { | ||||
|         -- second key is the lefthand side of the map | ||||
|  | ||||
|         -- navigate buffer tabs with `H` and `L` | ||||
|         L = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" }, | ||||
|         H = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" }, | ||||
|  | ||||
|         -- mappings seen under group name "Buffer" | ||||
|         ["<Leader>bD"] = { | ||||
|           function() | ||||
|             require("astroui.status.heirline").buffer_picker( | ||||
|               function(bufnr) require("astrocore.buffer").close(bufnr) end | ||||
|             ) | ||||
|           end, | ||||
|           desc = "Pick to close", | ||||
|         }, | ||||
|         -- tables with just a `desc` key will be registered with which-key if it's installed | ||||
|         -- this is useful for naming menus | ||||
|         ["<Leader>b"] = { desc = "Buffers" }, | ||||
|         -- quick save | ||||
|         -- ["<C-s>"] = { ":w!<cr>", desc = "Save File" },  -- change description but the same command | ||||
|       }, | ||||
|       t = { | ||||
|         -- setting a mapping to false will disable it | ||||
|         -- ["<esc>"] = false, | ||||
|       }, | ||||
|     }, | ||||
|   }, | ||||
| } | ||||
							
								
								
									
										108
									
								
								lua/plugins/astrolsp.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								lua/plugins/astrolsp.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,108 @@ | ||||
| if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE | ||||
|  | ||||
| -- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine | ||||
| -- Configuration documentation can be found with `:h astrolsp` | ||||
| -- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) | ||||
| --       as this provides autocomplete and documentation while editing | ||||
|  | ||||
| ---@type LazySpec | ||||
| return { | ||||
|   "AstroNvim/astrolsp", | ||||
|   ---@type AstroLSPOpts | ||||
|   opts = { | ||||
|     -- Configuration table of features provided by AstroLSP | ||||
|     features = { | ||||
|       autoformat = true, -- enable or disable auto formatting on start | ||||
|       codelens = true, -- enable/disable codelens refresh on start | ||||
|       inlay_hints = false, -- enable/disable inlay hints on start | ||||
|       semantic_tokens = true, -- enable/disable semantic token highlighting | ||||
|     }, | ||||
|     -- customize lsp formatting options | ||||
|     formatting = { | ||||
|       -- control auto formatting on save | ||||
|       format_on_save = { | ||||
|         enabled = true, -- enable or disable format on save globally | ||||
|         allow_filetypes = { -- enable format on save for specified filetypes only | ||||
|           -- "go", | ||||
|         }, | ||||
|         ignore_filetypes = { -- disable format on save for specified filetypes | ||||
|           -- "python", | ||||
|         }, | ||||
|       }, | ||||
|       disabled = { -- disable formatting capabilities for the listed language servers | ||||
|         -- disable lua_ls formatting capability if you want to use StyLua to format your lua code | ||||
|         -- "lua_ls", | ||||
|       }, | ||||
|       timeout_ms = 1000, -- default format timeout | ||||
|       -- filter = function(client) -- fully override the default formatting function | ||||
|       --   return true | ||||
|       -- end | ||||
|     }, | ||||
|     -- enable servers that you already have installed without mason | ||||
|     servers = { | ||||
|       -- "pyright" | ||||
|     }, | ||||
|     -- customize language server configuration options passed to `lspconfig` | ||||
|     ---@diagnostic disable: missing-fields | ||||
|     config = { | ||||
|       -- clangd = { capabilities = { offsetEncoding = "utf-8" } }, | ||||
|     }, | ||||
|     -- customize how language servers are attached | ||||
|     handlers = { | ||||
|       -- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server | ||||
|       -- function(server, opts) require("lspconfig")[server].setup(opts) end | ||||
|  | ||||
|       -- the key is the server that is being setup with `lspconfig` | ||||
|       -- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server | ||||
|       -- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed | ||||
|     }, | ||||
|     -- Configure buffer local auto commands to add when attaching a language server | ||||
|     autocmds = { | ||||
|       -- first key is the `augroup` to add the auto commands to (:h augroup) | ||||
|       lsp_document_highlight = { | ||||
|         -- Optional condition to create/delete auto command group | ||||
|         -- can either be a string of a client capability or a function of `fun(client, bufnr): boolean` | ||||
|         -- condition will be resolved for each client on each execution and if it ever fails for all clients, | ||||
|         -- the auto commands will be deleted for that buffer | ||||
|         cond = "textDocument/documentHighlight", | ||||
|         -- cond = function(client, bufnr) return client.name == "lua_ls" end, | ||||
|         -- list of auto commands to set | ||||
|         { | ||||
|           -- events to trigger | ||||
|           event = { "CursorHold", "CursorHoldI" }, | ||||
|           -- the rest of the autocmd options (:h nvim_create_autocmd) | ||||
|           desc = "Document Highlighting", | ||||
|           callback = function() vim.lsp.buf.document_highlight() end, | ||||
|         }, | ||||
|         { | ||||
|           event = { "CursorMoved", "CursorMovedI", "BufLeave" }, | ||||
|           desc = "Document Highlighting Clear", | ||||
|           callback = function() vim.lsp.buf.clear_references() end, | ||||
|         }, | ||||
|       }, | ||||
|     }, | ||||
|     -- mappings to be set up on attaching of a language server | ||||
|     mappings = { | ||||
|       n = { | ||||
|         gl = { function() vim.diagnostic.open_float() end, desc = "Hover diagnostics" }, | ||||
|         -- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean | ||||
|         -- gD = { | ||||
|         --   function() vim.lsp.buf.declaration() end, | ||||
|         --   desc = "Declaration of current symbol", | ||||
|         --   cond = "textDocument/declaration", | ||||
|         -- }, | ||||
|         -- ["<Leader>uY"] = { | ||||
|         --   function() require("astrolsp.toggles").buffer_semantic_tokens() end, | ||||
|         --   desc = "Toggle LSP semantic highlight (buffer)", | ||||
|         --   cond = function(client) return client.server_capabilities.semanticTokensProvider and vim.lsp.semantic_tokens end, | ||||
|         -- }, | ||||
|       }, | ||||
|     }, | ||||
|     -- A custom `on_attach` function to be run after the default `on_attach` function | ||||
|     -- takes two parameters `client` and `bufnr`  (`:h lspconfig-setup`) | ||||
|     on_attach = function(client, bufnr) | ||||
|       -- this would disable semanticTokensProvider for all clients | ||||
|       -- client.server_capabilities.semanticTokensProvider = nil | ||||
|     end, | ||||
|   }, | ||||
| } | ||||
							
								
								
									
										39
									
								
								lua/plugins/astroui.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								lua/plugins/astroui.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE | ||||
|  | ||||
| -- AstroUI provides the basis for configuring the AstroNvim User Interface | ||||
| -- Configuration documentation can be found with `:h astroui` | ||||
| -- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) | ||||
| --       as this provides autocomplete and documentation while editing | ||||
|  | ||||
| ---@type LazySpec | ||||
| return { | ||||
|   "AstroNvim/astroui", | ||||
|   ---@type AstroUIOpts | ||||
|   opts = { | ||||
|     -- change colorscheme | ||||
|     colorscheme = "astrodark", | ||||
|     -- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes | ||||
|     highlights = { | ||||
|       init = { -- this table overrides highlights in all themes | ||||
|         -- Normal = { bg = "#000000" }, | ||||
|       }, | ||||
|       astrodark = { -- a table of overrides/changes when applying the astrotheme theme | ||||
|         -- Normal = { bg = "#000000" }, | ||||
|       }, | ||||
|     }, | ||||
|     -- Icons can be configured throughout the interface | ||||
|     icons = { | ||||
|       -- configure the loading of the lsp in the status line | ||||
|       LSPLoading1 = "⠋", | ||||
|       LSPLoading2 = "⠙", | ||||
|       LSPLoading3 = "⠹", | ||||
|       LSPLoading4 = "⠸", | ||||
|       LSPLoading5 = "⠼", | ||||
|       LSPLoading6 = "⠴", | ||||
|       LSPLoading7 = "⠦", | ||||
|       LSPLoading8 = "⠧", | ||||
|       LSPLoading9 = "⠇", | ||||
|       LSPLoading10 = "⠏", | ||||
|     }, | ||||
|   }, | ||||
| } | ||||
							
								
								
									
										3
									
								
								lua/plugins/custom.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								lua/plugins/custom.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| return { | ||||
|   require "custom.plugins", | ||||
| } | ||||
							
								
								
									
										43
									
								
								lua/plugins/mason.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								lua/plugins/mason.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE | ||||
|  | ||||
| -- Customize Mason plugins | ||||
|  | ||||
| ---@type LazySpec | ||||
| return { | ||||
|   -- use mason-lspconfig to configure LSP installations | ||||
|   { | ||||
|     "williamboman/mason-lspconfig.nvim", | ||||
|     -- overrides `require("mason-lspconfig").setup(...)` | ||||
|     opts = function(_, opts) | ||||
|       -- add more things to the ensure_installed table protecting against community packs modifying it | ||||
|       opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, { | ||||
|         "lua_ls", | ||||
|         -- add more arguments for adding more language servers | ||||
|       }) | ||||
|     end, | ||||
|   }, | ||||
|   -- use mason-null-ls to configure Formatters/Linter installation for null-ls sources | ||||
|   { | ||||
|     "jay-babu/mason-null-ls.nvim", | ||||
|     -- overrides `require("mason-null-ls").setup(...)` | ||||
|     opts = function(_, opts) | ||||
|       -- add more things to the ensure_installed table protecting against community packs modifying it | ||||
|       opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, { | ||||
|         "prettier", | ||||
|         "stylua", | ||||
|         -- add more arguments for adding more null-ls sources | ||||
|       }) | ||||
|     end, | ||||
|   }, | ||||
|   { | ||||
|     "jay-babu/mason-nvim-dap.nvim", | ||||
|     -- overrides `require("mason-nvim-dap").setup(...)` | ||||
|     opts = function(_, opts) | ||||
|       -- add more things to the ensure_installed table protecting against community packs modifying it | ||||
|       opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, { | ||||
|         "python", | ||||
|         -- add more arguments for adding more debuggers | ||||
|       }) | ||||
|     end, | ||||
|   }, | ||||
| } | ||||
							
								
								
									
										22
									
								
								lua/plugins/none-ls.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								lua/plugins/none-ls.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE | ||||
|  | ||||
| -- Customize None-ls sources | ||||
|  | ||||
| ---@type LazySpec | ||||
| return { | ||||
|   "nvimtools/none-ls.nvim", | ||||
|   opts = function(_, config) | ||||
|     -- config variable is the default configuration table for the setup function call | ||||
|     -- local null_ls = require "null-ls" | ||||
|  | ||||
|     -- Check supported formatters and linters | ||||
|     -- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting | ||||
|     -- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics | ||||
|     config.sources = { | ||||
|       -- Set a formatter | ||||
|       -- null_ls.builtins.formatting.stylua, | ||||
|       -- null_ls.builtins.formatting.prettier, | ||||
|     } | ||||
|     return config -- return final config table | ||||
|   end, | ||||
| } | ||||
							
								
								
									
										16
									
								
								lua/plugins/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								lua/plugins/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE | ||||
|  | ||||
| -- Customize Treesitter | ||||
|  | ||||
| ---@type LazySpec | ||||
| return { | ||||
|   "nvim-treesitter/nvim-treesitter", | ||||
|   opts = function(_, opts) | ||||
|     -- add more things to the ensure_installed table protecting against community packs modifying it | ||||
|     opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, { | ||||
|       "lua", | ||||
|       "vim", | ||||
|       -- add more arguments for adding more treesitter parsers | ||||
|     }) | ||||
|   end, | ||||
| } | ||||
							
								
								
									
										85
									
								
								lua/plugins/user.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								lua/plugins/user.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,85 @@ | ||||
| if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE | ||||
|  | ||||
| -- You can also add or configure plugins by creating files in this `plugins/` folder | ||||
| -- Here are some examples: | ||||
|  | ||||
| ---@type LazySpec | ||||
| return { | ||||
|  | ||||
|   -- == Examples of Adding Plugins == | ||||
|  | ||||
|   "andweeb/presence.nvim", | ||||
|   { | ||||
|     "ray-x/lsp_signature.nvim", | ||||
|     event = "BufRead", | ||||
|     config = function() require("lsp_signature").setup() end, | ||||
|   }, | ||||
|  | ||||
|   -- == Examples of Overriding Plugins == | ||||
|  | ||||
|   -- customize alpha options | ||||
|   { | ||||
|     "goolord/alpha-nvim", | ||||
|     opts = function(_, opts) | ||||
|       -- customize the dashboard header | ||||
|       opts.section.header.val = { | ||||
|         " █████  ███████ ████████ ██████   ██████", | ||||
|         "██   ██ ██         ██    ██   ██ ██    ██", | ||||
|         "███████ ███████    ██    ██████  ██    ██", | ||||
|         "██   ██      ██    ██    ██   ██ ██    ██", | ||||
|         "██   ██ ███████    ██    ██   ██  ██████", | ||||
|         " ", | ||||
|         "    ███    ██ ██    ██ ██ ███    ███", | ||||
|         "    ████   ██ ██    ██ ██ ████  ████", | ||||
|         "    ██ ██  ██ ██    ██ ██ ██ ████ ██", | ||||
|         "    ██  ██ ██  ██  ██  ██ ██  ██  ██", | ||||
|         "    ██   ████   ████   ██ ██      ██", | ||||
|       } | ||||
|       return opts | ||||
|     end, | ||||
|   }, | ||||
|  | ||||
|   -- You can disable default plugins as follows: | ||||
|   { "max397574/better-escape.nvim", enabled = false }, | ||||
|  | ||||
|   -- You can also easily customize additional setup of plugins that is outside of the plugin's setup call | ||||
|   { | ||||
|     "L3MON4D3/LuaSnip", | ||||
|     config = function(plugin, opts) | ||||
|       require "astronvim.plugins.configs.luasnip"(plugin, opts) -- include the default astronvim config that calls the setup call | ||||
|       -- add more custom luasnip configuration such as filetype extend or custom snippets | ||||
|       local luasnip = require "luasnip" | ||||
|       luasnip.filetype_extend("javascript", { "javascriptreact" }) | ||||
|     end, | ||||
|   }, | ||||
|  | ||||
|   { | ||||
|     "windwp/nvim-autopairs", | ||||
|     config = function(plugin, opts) | ||||
|       require "astronvim.plugins.configs.nvim-autopairs"(plugin, opts) -- include the default astronvim config that calls the setup call | ||||
|       -- add more custom autopairs configuration such as custom rules | ||||
|       local npairs = require "nvim-autopairs" | ||||
|       local Rule = require "nvim-autopairs.rule" | ||||
|       local cond = require "nvim-autopairs.conds" | ||||
|       npairs.add_rules( | ||||
|         { | ||||
|           Rule("$", "$", { "tex", "latex" }) | ||||
|             -- don't add a pair if the next character is % | ||||
|             :with_pair(cond.not_after_regex "%%") | ||||
|             -- don't add a pair if  the previous character is xxx | ||||
|             :with_pair( | ||||
|               cond.not_before_regex("xxx", 3) | ||||
|             ) | ||||
|             -- don't move right when repeat character | ||||
|             :with_move(cond.none()) | ||||
|             -- don't delete if the next character is xx | ||||
|             :with_del(cond.not_after_regex "xx") | ||||
|             -- disable adding a newline when you press <cr> | ||||
|             :with_cr(cond.none()), | ||||
|         }, | ||||
|         -- disable for .vim files, but it work for another filetypes | ||||
|         Rule("a", "a", "-vim") | ||||
|       ) | ||||
|     end, | ||||
|   }, | ||||
| } | ||||
							
								
								
									
										9
									
								
								lua/polish.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								lua/polish.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| -- This will run last in the setup process and is a good place to configure | ||||
| -- things like custom filetypes. This just pure lua so anything that doesn't | ||||
| -- fit in the normal config locations above can go here | ||||
|  | ||||
| -- Set up custom autocmds | ||||
| require "custom.autocmds" | ||||
|  | ||||
| -- Set up custom filetypes | ||||
| require "custom.filetypes" | ||||
							
								
								
									
										6
									
								
								neovim.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								neovim.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| --- | ||||
| base: lua51 | ||||
|  | ||||
| globals: | ||||
|   vim: | ||||
|     any: true | ||||
							
								
								
									
										8
									
								
								selene.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								selene.toml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| std = "neovim" | ||||
|  | ||||
| [rules] | ||||
| global_usage = "allow" | ||||
| if_same_then_else = "allow" | ||||
| incorrect_standard_library_use = "allow" | ||||
| mixed_table = "allow" | ||||
| multiple_statements = "allow" | ||||
		Reference in New Issue
	
	Block a user