Initial setup
This commit is contained in:
		
							
								
								
									
										1
									
								
								after/plugin/fugitive.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								after/plugin/fugitive.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | vim.keymap.set("n", "<leader>gs", vim.cmd.Git) | ||||||
							
								
								
									
										66
									
								
								after/plugin/lsp.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								after/plugin/lsp.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | |||||||
|  | vim.lsp.config('lua_ls', { | ||||||
|  |   on_init = function(client) | ||||||
|  |     if client.workspace_folders then | ||||||
|  |       local path = client.workspace_folders[1].name | ||||||
|  |       if | ||||||
|  |         path ~= vim.fn.stdpath('config') | ||||||
|  |         and (vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc')) | ||||||
|  |       then | ||||||
|  |         return | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |  | ||||||
|  |     client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, { | ||||||
|  |       runtime = { | ||||||
|  |         -- Tell the language server which version of Lua you're using (most | ||||||
|  |         -- likely LuaJIT in the case of Neovim) | ||||||
|  |         version = 'LuaJIT', | ||||||
|  |         -- Tell the language server how to find Lua modules same way as Neovim | ||||||
|  |         -- (see `:h lua-module-load`) | ||||||
|  |         path = { | ||||||
|  |           'lua/?.lua', | ||||||
|  |           'lua/?/init.lua', | ||||||
|  |         }, | ||||||
|  |       }, | ||||||
|  |       -- Make the server aware of Neovim runtime files | ||||||
|  |       workspace = { | ||||||
|  |         checkThirdParty = false, | ||||||
|  |         library = { | ||||||
|  |           vim.env.VIMRUNTIME | ||||||
|  |           -- Depending on the usage, you might want to add additional paths | ||||||
|  |           -- here. | ||||||
|  |           -- '${3rd}/luv/library' | ||||||
|  |           -- '${3rd}/busted/library' | ||||||
|  |         } | ||||||
|  |         -- Or pull in all of 'runtimepath'. | ||||||
|  |         -- NOTE: this is a lot slower and will cause issues when working on | ||||||
|  |         -- your own configuration. | ||||||
|  |         -- See https://github.com/neovim/nvim-lspconfig/issues/3189 | ||||||
|  |         -- library = { | ||||||
|  |         --   vim.api.nvim_get_runtime_file('', true), | ||||||
|  |         -- } | ||||||
|  |       } | ||||||
|  |     }) | ||||||
|  |   end, | ||||||
|  |   settings = { | ||||||
|  |     Lua = {} | ||||||
|  |   } | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | vim.lsp.config('rust_analyzer', { | ||||||
|  |     settings = { | ||||||
|  |         ['rust-analyzer'] = { | ||||||
|  |             checkOnSave = { | ||||||
|  |                 command = "clippy" | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | vim.api.nvim_create_autocmd("LspAttach", { | ||||||
|  |     callback = function(ev) | ||||||
|  |         print("LspAttach called") | ||||||
|  |         local opts = {buffer = ev.buf, remap = false} | ||||||
|  |         vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) | ||||||
|  |     end | ||||||
|  | }) | ||||||
							
								
								
									
										6
									
								
								after/plugin/telescope.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								after/plugin/telescope.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | local builtin = require('telescope.builtin') | ||||||
|  | vim.keymap.set('n', '<leader>pf', builtin.find_files, { desc = 'Telescope find files' }) | ||||||
|  | vim.keymap.set('n', '<C-p>', builtin.git_files, {}) | ||||||
|  | vim.keymap.set('n', '<leader>ps', function() | ||||||
|  |   builtin.grep_string({ search = vim.fn.input("Grep > ") }) | ||||||
|  | end) | ||||||
							
								
								
									
										10
									
								
								after/plugin/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								after/plugin/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | require'nvim-treesitter.configs'.setup { | ||||||
|  |   ensure_installed = { "javascript", "typescript", "rust", "c", "lua", "vim", "vimdoc", "query", "markdown", "markdown_inline" }, | ||||||
|  |   sync_install = false, | ||||||
|  |   auto_install = true, | ||||||
|  |   highlight = { | ||||||
|  |     enable = true, | ||||||
|  |     additional_vim_regex_highlighting = false, | ||||||
|  |   }, | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										1
									
								
								after/plugin/undotree.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								after/plugin/undotree.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle) | ||||||
							
								
								
									
										14
									
								
								lazy-lock.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								lazy-lock.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | { | ||||||
|  |   "coq.artifacts": { "branch": "artifacts", "commit": "ef5f21d638ccc456cfa5b8d0ab37093cefe48c8b" }, | ||||||
|  |   "coq.thirdparty": { "branch": "3p", "commit": "6ee3c221c308dca7071387267ac76c9272b184a9" }, | ||||||
|  |   "coq_nvim": { "branch": "coq", "commit": "666efec5bb8fdb6dbb4bc99a069b3340951d28a0" }, | ||||||
|  |   "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, | ||||||
|  |   "nvim-lspconfig": { "branch": "master", "commit": "ac1dfbe3b60e5e23a2cff90e3bd6a3bc88031a57" }, | ||||||
|  |   "nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" }, | ||||||
|  |   "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, | ||||||
|  |   "rose-pine": { "branch": "main", "commit": "491a0c77abc7ecb955c27a974091a5968232995f" }, | ||||||
|  |   "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, | ||||||
|  |   "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, | ||||||
|  |   "undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" }, | ||||||
|  |   "vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" } | ||||||
|  | } | ||||||
							
								
								
									
										3
									
								
								lua/nrx/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								lua/nrx/init.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | require("nrx.set") | ||||||
|  | require("nrx.remap") | ||||||
|  | require("nrx.lazy") | ||||||
							
								
								
									
										35
									
								
								lua/nrx/lazy.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								lua/nrx/lazy.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | |||||||
|  | -- Bootstrap lazy.nvim | ||||||
|  | local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" | ||||||
|  | if not (vim.uv or vim.loop).fs_stat(lazypath) then | ||||||
|  |   local lazyrepo = "https://github.com/folke/lazy.nvim.git" | ||||||
|  |   local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) | ||||||
|  |   if vim.v.shell_error ~= 0 then | ||||||
|  |     vim.api.nvim_echo({ | ||||||
|  |       { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, | ||||||
|  |       { out, "WarningMsg" }, | ||||||
|  |       { "\nPress any key to exit..." }, | ||||||
|  |     }, true, {}) | ||||||
|  |     vim.fn.getchar() | ||||||
|  |     os.exit(1) | ||||||
|  |   end | ||||||
|  | end | ||||||
|  | vim.opt.rtp:prepend(lazypath) | ||||||
|  |  | ||||||
|  | -- Make sure to setup `mapleader` and `maplocalleader` before | ||||||
|  | -- loading lazy.nvim so that mappings are correct. | ||||||
|  | -- This is also a good place to setup other settings (vim.opt) | ||||||
|  | vim.g.mapleader = " " | ||||||
|  | vim.g.maplocalleader = "\\" | ||||||
|  |  | ||||||
|  | -- Setup lazy.nvim | ||||||
|  | require("lazy").setup({ | ||||||
|  |     spec = { | ||||||
|  |         -- import your plugins | ||||||
|  |         { import = "plugins" }, | ||||||
|  |     }, | ||||||
|  |     -- Configure any other settings here. See the documentation for more details. | ||||||
|  |     -- colorscheme that will be used when installing plugins. | ||||||
|  |     install = { colorscheme = { "habamax" } }, | ||||||
|  |     -- automatically check for plugin updates | ||||||
|  |     checker = { enabled = true }, | ||||||
|  | }) | ||||||
							
								
								
									
										2
									
								
								lua/nrx/remap.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								lua/nrx/remap.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | vim.g.mapleader = " " | ||||||
|  | vim.keymap.set("n", "<leader>pv", vim.cmd.Ex) | ||||||
							
								
								
									
										33
									
								
								lua/nrx/set.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								lua/nrx/set.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | |||||||
|  | vim.opt.guicursor = "" | ||||||
|  |  | ||||||
|  | vim.opt.nu = true | ||||||
|  |  | ||||||
|  | vim.opt.tabstop = 4 | ||||||
|  | vim.opt.softtabstop = 4 | ||||||
|  | vim.opt.shiftwidth = 4 | ||||||
|  | vim.opt.expandtab = true | ||||||
|  |  | ||||||
|  | vim.opt.smartindent = true | ||||||
|  |  | ||||||
|  | vim.opt.wrap = false | ||||||
|  |  | ||||||
|  | vim.opt.swapfile = false | ||||||
|  | vim.opt.backup = false | ||||||
|  | vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir" | ||||||
|  | vim.opt.undofile = true | ||||||
|  |  | ||||||
|  | vim.opt.hlsearch = false | ||||||
|  | vim.opt.incsearch = true | ||||||
|  |  | ||||||
|  | vim.opt.termguicolors = true | ||||||
|  |  | ||||||
|  | vim.opt.scrolloff = 8 | ||||||
|  |  | ||||||
|  | vim.opt.signcolumn = "yes" | ||||||
|  |  | ||||||
|  | vim.opt.colorcolumn = "80" | ||||||
|  |  | ||||||
|  | vim.opt.updatetime = 50 | ||||||
|  |  | ||||||
|  | vim.g.mapleader = " " | ||||||
|  |  | ||||||
							
								
								
									
										61
									
								
								lua/plugins/plugins.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								lua/plugins/plugins.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | |||||||
|  | return { | ||||||
|  |     { | ||||||
|  |         "nvim-telescope/telescope.nvim", | ||||||
|  |         dependencies = { "nvim-lua/plenary.nvim" } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         "nvim-treesitter/nvim-treesitter", | ||||||
|  |         build = ":TSUpdate" | ||||||
|  |     }, | ||||||
|  |     { "mbbill/undotree" }, | ||||||
|  |     { "tpope/vim-fugitive" }, | ||||||
|  |     { | ||||||
|  |         "rose-pine/neovim", | ||||||
|  |         name = "rose-pine", | ||||||
|  |         config = function() | ||||||
|  |             vim.cmd("colorscheme rose-pine") | ||||||
|  |         end | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         "neovim/nvim-lspconfig", | ||||||
|  |         lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup | ||||||
|  |         dependencies = { | ||||||
|  |             -- main one | ||||||
|  |             { "ms-jpq/coq_nvim", branch = "coq" }, | ||||||
|  |  | ||||||
|  |             -- 9000+ Snippets | ||||||
|  |             { "ms-jpq/coq.artifacts", branch = "artifacts" }, | ||||||
|  |  | ||||||
|  |             -- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty | ||||||
|  |             -- Need to **configure separately** | ||||||
|  |             { 'ms-jpq/coq.thirdparty', branch = "3p" } | ||||||
|  |             -- - shell repl | ||||||
|  |             -- - nvim lua api | ||||||
|  |             -- - scientific calculator | ||||||
|  |             -- - comment banner | ||||||
|  |             -- - etc | ||||||
|  |         }, | ||||||
|  |         init = function() | ||||||
|  |             vim.g.coq_settings = { | ||||||
|  |                 auto_start = true, -- if you want to start COQ at startup | ||||||
|  |                 -- Your COQ settings here | ||||||
|  |             } | ||||||
|  |         end, | ||||||
|  |         config = function() | ||||||
|  |             vim.lsp.enable("rust_analyzer") | ||||||
|  |             vim.lsp.enable("lua_ls") | ||||||
|  |         end | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         "folke/trouble.nvim", | ||||||
|  |         opts = {}, -- for default options, refer to the configuration section for custom setup. | ||||||
|  |         cmd = "Trouble", | ||||||
|  |         keys = { | ||||||
|  |             { | ||||||
|  |                 "<leader>xx", | ||||||
|  |                 "<cmd>Trouble diagnostics toggle<cr>", | ||||||
|  |                 desc = "Diagnostics (Trouble)", | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user