Init astronvim
This commit is contained in:
		
							parent
							
								
									68a92323e4
								
							
						
					
					
						commit
						5c1bfe5b3c
					
				
					 2 changed files with 249 additions and 0 deletions
				
			
		
							
								
								
									
										230
									
								
								.config/astronvim/lua/user/init.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										230
									
								
								.config/astronvim/lua/user/init.lua
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,230 @@
 | 
			
		|||
local config = {
 | 
			
		||||
 | 
			
		||||
	-- Configure AstroNvim updates
 | 
			
		||||
	updater = {
 | 
			
		||||
		remote = "origin", -- remote to use
 | 
			
		||||
		channel = "nightly", -- "stable" or "nightly"
 | 
			
		||||
		version = "latest", -- "latest", tag name, or regex search like "v1.*" to only do updates before v2 (STABLE ONLY)
 | 
			
		||||
		branch = "main", -- branch name (NIGHTLY ONLY)
 | 
			
		||||
		commit = nil, -- commit hash (NIGHTLY ONLY)
 | 
			
		||||
		pin_plugins = nil, -- nil, true, false (nil will pin plugins on stable only)
 | 
			
		||||
		skip_prompts = false, -- skip prompts about breaking changes
 | 
			
		||||
		show_changelog = true, -- show the changelog after performing an update
 | 
			
		||||
		-- remotes = { -- easily add new remotes to track
 | 
			
		||||
		--   ["remote_name"] = "https://remote_url.come/repo.git", -- full remote url
 | 
			
		||||
		--   ["remote2"] = "github_user/repo", -- GitHub user/repo shortcut,
 | 
			
		||||
		--   ["remote3"] = "github_user", -- GitHub user assume AstroNvim fork
 | 
			
		||||
		-- },
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- Set colorscheme
 | 
			
		||||
	colorscheme = "dracula",
 | 
			
		||||
 | 
			
		||||
	-- Override highlight groups in any theme
 | 
			
		||||
	highlights = {
 | 
			
		||||
		-- duskfox = { -- a table of overrides
 | 
			
		||||
		--   Normal = { bg = "#000000" },
 | 
			
		||||
		-- },
 | 
			
		||||
		default_theme = function(highlights) -- or a function that returns one
 | 
			
		||||
			local C = require "default_theme.colors"
 | 
			
		||||
 | 
			
		||||
			highlights.Normal = { fg = C.fg, bg = C.bg }
 | 
			
		||||
			return highlights
 | 
			
		||||
		end,
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- set vim options here (vim.<first_key>.<second_key> =  value)
 | 
			
		||||
	options = {
 | 
			
		||||
		opt = {
 | 
			
		||||
			relativenumber = true,
 | 
			
		||||
		},
 | 
			
		||||
		g = {
 | 
			
		||||
			mapleader = " ",
 | 
			
		||||
			dracula_colorterm = 0,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- Disable AstroNvim ui features
 | 
			
		||||
	ui = {
 | 
			
		||||
		nui_input = true,
 | 
			
		||||
		telescope_select = true,
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- Configure plugins
 | 
			
		||||
	plugins = {
 | 
			
		||||
		-- All other entries override the setup() call for default plugins
 | 
			
		||||
		notify = {
 | 
			
		||||
			background_colour = "#000000"
 | 
			
		||||
		},
 | 
			
		||||
		["null-ls"] = function(config)
 | 
			
		||||
			local null_ls = require "null-ls"
 | 
			
		||||
			-- Check supported formatters and linters
 | 
			
		||||
			-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting
 | 
			
		||||
			-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
 | 
			
		||||
			config.sources = {
 | 
			
		||||
				-- Set a formatter
 | 
			
		||||
				null_ls.builtins.formatting.rufo,
 | 
			
		||||
				-- Set a linter
 | 
			
		||||
				null_ls.builtins.diagnostics.rubocop,
 | 
			
		||||
			}
 | 
			
		||||
			-- set up null-ls's on_attach function
 | 
			
		||||
			config.on_attach = function(client)
 | 
			
		||||
				-- NOTE: You can remove this on attach function to disable format on save
 | 
			
		||||
				if client.resolved_capabilities.document_formatting then
 | 
			
		||||
					vim.api.nvim_create_autocmd("BufWritePre", {
 | 
			
		||||
							desc = "Auto format before save",
 | 
			
		||||
							pattern = "<buffer>",
 | 
			
		||||
							callback = vim.lsp.buf.formatting_sync,
 | 
			
		||||
						})
 | 
			
		||||
				end
 | 
			
		||||
			end
 | 
			
		||||
			return config -- return final config table
 | 
			
		||||
		end,
 | 
			
		||||
		treesitter = {
 | 
			
		||||
			ensure_installed = {
 | 
			
		||||
				"lua",
 | 
			
		||||
				"php",
 | 
			
		||||
				"rust",
 | 
			
		||||
				"toml",
 | 
			
		||||
				"typescript",
 | 
			
		||||
				"yaml",
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		["nvim-lsp-installer"] = {
 | 
			
		||||
			ensure_installed = {
 | 
			
		||||
				"clangd",
 | 
			
		||||
				"rust_analyzer",
 | 
			
		||||
				"sumneko_lua",
 | 
			
		||||
				"tsserver",
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		packer = {
 | 
			
		||||
			compile_path = vim.fn.stdpath "data" .. "/packer_compiled.lua",
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- LuaSnip Options
 | 
			
		||||
	luasnip = {
 | 
			
		||||
		-- Add paths for including more VS Code style snippets in luasnip
 | 
			
		||||
		vscode_snippet_paths = {},
 | 
			
		||||
		-- Extend filetypes
 | 
			
		||||
		filetype_extend = {
 | 
			
		||||
			javascript = { "javascriptreact" },
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- Modify which-key registration
 | 
			
		||||
	["which-key"] = {
 | 
			
		||||
		-- Add bindings
 | 
			
		||||
		register_mappings = {
 | 
			
		||||
			-- first key is the mode, n == normal mode
 | 
			
		||||
			n = {
 | 
			
		||||
				-- second key is the prefix, <leader> prefixes
 | 
			
		||||
				["<leader>"] = {
 | 
			
		||||
					-- which-key registration table for normal mode, leader prefix
 | 
			
		||||
					-- ["N"] = { "<cmd>tabnew<cr>", "New Buffer" },
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- CMP Source Priorities
 | 
			
		||||
	-- modify here the priorities of default cmp sources
 | 
			
		||||
	-- higher value == higher priority
 | 
			
		||||
	-- The value can also be set to a boolean for disabling default sources:
 | 
			
		||||
	-- false == disabled
 | 
			
		||||
	-- true == 1000
 | 
			
		||||
	cmp = {
 | 
			
		||||
		source_priority = {
 | 
			
		||||
			nvim_lsp = 1000,
 | 
			
		||||
			luasnip = 750,
 | 
			
		||||
			buffer = 500,
 | 
			
		||||
			path = 250,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- Extend LSP configuration
 | 
			
		||||
	lsp = {
 | 
			
		||||
		-- enable servers that you already have installed without lsp-installer
 | 
			
		||||
		servers = {
 | 
			
		||||
			-- "pyright"
 | 
			
		||||
		},
 | 
			
		||||
		-- easily add or disable built in mappings added during LSP attaching
 | 
			
		||||
		mappings = {
 | 
			
		||||
			n = {
 | 
			
		||||
				-- ["<leader>lf"] = false -- disable formatting keymap
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		-- add to the server on_attach function
 | 
			
		||||
		-- on_attach = function(client, bufnr)
 | 
			
		||||
		-- end,
 | 
			
		||||
 | 
			
		||||
		-- override the lsp installer server-registration function
 | 
			
		||||
		-- server_registration = function(server, opts)
 | 
			
		||||
		--   require("lspconfig")[server].setup(opts)
 | 
			
		||||
		-- end,
 | 
			
		||||
 | 
			
		||||
		-- Add overrides for LSP server settings, the keys are the name of the server
 | 
			
		||||
		["server-settings"] = {
 | 
			
		||||
			-- example for addings schemas to yamlls
 | 
			
		||||
			-- yamlls = {
 | 
			
		||||
			--   settings = {
 | 
			
		||||
			--     yaml = {
 | 
			
		||||
			--       schemas = {
 | 
			
		||||
			--         ["http://json.schemastore.org/github-workflow"] = ".github/workflows/*.{yml,yaml}",
 | 
			
		||||
			--         ["http://json.schemastore.org/github-action"] = ".github/action.{yml,yaml}",
 | 
			
		||||
			--         ["http://json.schemastore.org/ansible-stable-2.9"] = "roles/tasks/*.{yml,yaml}",
 | 
			
		||||
			--       },
 | 
			
		||||
			--     },
 | 
			
		||||
			--   },
 | 
			
		||||
			-- },
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- Diagnostics configuration (for vim.diagnostics.config({}))
 | 
			
		||||
	diagnostics = {
 | 
			
		||||
		virtual_text = true,
 | 
			
		||||
		underline = true,
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	mappings = {
 | 
			
		||||
		-- first key is the mode
 | 
			
		||||
		n = {
 | 
			
		||||
			-- second key is the lefthand side of the map
 | 
			
		||||
			["<C-s>"] = { ":w!<cr>", desc = "Save File" },
 | 
			
		||||
		},
 | 
			
		||||
		t = {
 | 
			
		||||
			-- setting a mapping to false will disable it
 | 
			
		||||
			-- ["<esc>"] = false,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- This function is run last
 | 
			
		||||
	-- good place to configuring augroups/autocommands and custom filetypes
 | 
			
		||||
	polish = function()
 | 
			
		||||
		-- Set key binding
 | 
			
		||||
		-- Set autocommands
 | 
			
		||||
		vim.api.nvim_create_augroup("packer_conf", { clear = true })
 | 
			
		||||
		vim.api.nvim_create_autocmd("BufWritePost", {
 | 
			
		||||
				desc = "Sync packer after modifying plugins.lua",
 | 
			
		||||
				group = "packer_conf",
 | 
			
		||||
				pattern = "plugins.lua",
 | 
			
		||||
				command = "source <afile> | PackerSync",
 | 
			
		||||
			})
 | 
			
		||||
 | 
			
		||||
		-- Set up custom filetypes
 | 
			
		||||
		-- vim.filetype.add {
 | 
			
		||||
		--   extension = {
 | 
			
		||||
		--     foo = "fooscript",
 | 
			
		||||
		--   },
 | 
			
		||||
		--   filename = {
 | 
			
		||||
		--     ["Foofile"] = "fooscript",
 | 
			
		||||
		--   },
 | 
			
		||||
		--   pattern = {
 | 
			
		||||
		--     ["~/%.config/foo/.*"] = "fooscript",
 | 
			
		||||
		--   },
 | 
			
		||||
		-- }
 | 
			
		||||
	end,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
return config
 | 
			
		||||
							
								
								
									
										19
									
								
								.config/astronvim/lua/user/plugins/init.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.config/astronvim/lua/user/plugins/init.lua
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
return {
 | 
			
		||||
	-- Tools
 | 
			
		||||
	{ "machakann/vim-swap" },
 | 
			
		||||
 | 
			
		||||
	-- Background Tools
 | 
			
		||||
	{ "editorconfig/editorconfig-vim" },
 | 
			
		||||
 | 
			
		||||
	-- Eye-Candy
 | 
			
		||||
	{ "dracula/vim" },
 | 
			
		||||
	{
 | 
			
		||||
		"lukas-reineke/indent-blankline.nvim",
 | 
			
		||||
		config = function()
 | 
			
		||||
			require("indent_blankline").setup({
 | 
			
		||||
					show_current_context = true,
 | 
			
		||||
					show_current_context_start = true,
 | 
			
		||||
				})
 | 
			
		||||
		end,
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue