Signature help messages will be shown automatically, for example, in the context of you calling a method it will show a floating window above with the signature of that specific method, i.e. `SomeClass.SomeMethod(string firstParameter)`. Inlay hints are extra information that the LSP may provide; in C# for example, methods and classes will have an inlay hint showing the amount of references that particular method/class has. Finally, virtual lines are exactly what they sound - fake lines added onto your editor, which are used to display diagnostics. I've also added the community recipe that makes so virtual lines are only shown when the active line has a diagnostic.
86 lines
3.8 KiB
Lua
86 lines
3.8 KiB
Lua
-- 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
|
|
signature_help = true, -- enable automatically showing signature help
|
|
inlay_hints = true, -- enable inlay hints globally
|
|
},
|
|
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
|
|
diagnostics = {
|
|
virtual_text = true,
|
|
virtual_lines = { current_line = true },
|
|
},
|
|
-- vim options can be configured here
|
|
options = {
|
|
opt = { -- vim.opt.<key>
|
|
autoindent = true, -- indents automatically based on context
|
|
expandtab = true, -- use spaces instead of tabs
|
|
grepprg = "rg --vimgrep", -- use ripgrep on grep actions
|
|
number = true, -- sets vim.opt.number
|
|
relativenumber = true, -- sets vim.opt.relativenumber
|
|
shiftwidth = 2, -- how many spaces after indentation
|
|
signcolumn = "auto", -- sets vim.opt.signcolumn to auto
|
|
smartindent = true, -- smartly indent
|
|
spell = false, -- sets vim.opt.spell
|
|
tabstop = 2, -- how many spaces to indent when pressing tab
|
|
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.count > 0 and vim.v.count or 1) end,
|
|
-- desc = "Next buffer",
|
|
-- },
|
|
-- H = {
|
|
-- function() require("astrocore.buffer").nav(-(vim.v.count > 0 and vim.v.count or 1)) 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,
|
|
},
|
|
},
|
|
},
|
|
}
|