Updated to v3 format, removed extra files

This commit is contained in:
Ismo Vuorinen
2023-02-21 12:32:58 +02:00
parent b7dea1ae66
commit 95fb4042a7
28 changed files with 339 additions and 838 deletions

View File

@@ -1,4 +0,0 @@
vim.api.nvim_create_autocmd(
{ "BufRead", "BufNewFile" },
{ pattern = { "*.txt", "*.md", "*.tex" }, command = "setlocal spell" }
)

View File

@@ -1,12 +0,0 @@
-- 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
return {
nvim_lsp = 1000,
luasnip = 750,
buffer = 500,
path = 250,
}

View File

@@ -1,2 +0,0 @@
-- Set colorscheme to use
return "default_theme"

View File

@@ -1,12 +0,0 @@
-- Modify the color palette for the default theme
return function(hl)
local C = require "default_theme.colors"
hl.Normal = { fg = C.fg, bg = C.bg }
hl.DiagnosticError.bold = true
hl.DiagnosticHint.bold = true
hl.DiagnosticInfo.bold = true
hl.DiagnosticWarn.bold = true
return hl
end

View File

@@ -1,17 +0,0 @@
-- enable or disable highlighting for extra plugins
return {
aerial = true,
bufferline = true,
cmp = true,
dashboard = true,
highlighturl = true,
indent_blankline = true,
["neo-tree"] = true,
notify = true,
["nvim-web-devicons"] = true,
rainbow = true,
telescope = true,
treesitter = true,
vimwiki = false,
["which-key"] = true,
}

View File

@@ -1,5 +0,0 @@
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
return {
virtual_text = true,
underline = true,
}

View File

@@ -1,70 +0,0 @@
-- Add highlight groups in any theme
return {
BufferLineTabClose = { fg = "#1e222a", bg = "#1e222a" },
BufferLineBufferSelected = { fg = "#abb2bf", bg = "#1e222a" },
NormalNC = { fg = "#abb2bf", bg = "#1e222a" },
WinBar = { fg = "#5c6370", bg = "#1e222a" },
WinBarNC = { fg = "#5c6370", bg = "#1e222a" },
--VS code cmp
CmpItemKindConstructor = { fg = "#f28b25" },
CmpItemKindUnit = { fg = "#D4D4D4" },
CmpItemKindProperty = { fg = "#D4D4D4" },
CmpItemKindKeyword = { fg = "#D4D4D4" },
CmpItemKindMethod = { fg = "#C586C0" },
CmpItemKindFunction = { fg = "#C586C0" },
CmpItemKindColor = { fg = "#C586C0" },
CmpItemKindText = { fg = "#9CDCFE" },
CmpItemKindInterface = { fg = "#9CDCFE" },
CmpItemKindVariable = { fg = "#9CDCFE" },
CmpItemKindField = { fg = "#9CDCFE" },
CmpItemKindValue = { fg = "#9CDCFE" },
CmpItemKindEnum = { fg = "#9CDCFE" },
CmpItemKindEnumMember = { fg = "#9CDCFE" },
CmpItemKindStruct = { fg = "#9CDCFE" },
CmpItemKindReference = { fg = "#9CDCFE" },
CmpItemKindTypeParameter = { fg = "#9CDCFE" },
CmpItemKindSnippet = { fg = "#D4D4D4" },
CmpItemKindClass = { fg = "#f28b25" },
CmpItemKindModule = { fg = "#D4D4D4" },
CmpItemKindOperator = { fg = "#D4D4D4" },
CmpItemKindConstant = { fg = "#D4D4D4" },
CmpItemKindFile = { fg = "#D4D4D4" },
CmpItemKindFolder = { fg = "#D4D4D4" },
CmpItemKindEvent = { fg = "#D4D4D4" },
CmpItemAbbrMatch = { fg = "#18a2fe", bold = true },
CmpItemAbbrMatchFuzzy = { fg = "#18a2fe", bold = true },
CmpItemMenu = { fg = "#777d86" },
-- VS code tree
AerialArrayIcon = { fg = "" },
AerialClassIcon = { fg = "#f28b25" },
AerialConstantIcon = { fg = "#D4D4D4" },
AerialConstructorIcon = { fg = "#f28b25" },
AerialEnumIcon = { fg = "#9CDCFE" },
AeiralEnumMember = { fg = "#9CDCFE" },
AerialEventIcon = { fg = "#D4D4D4" },
AerialFieldIcon = { fg = "#9CDCFE" },
AerialFileIcon = { fg = "#D4D4D4" },
AerialFunctionIcon = { fg = "#C586C0" },
AerialInterfaceIcon = { fg = "#9CDCFE" },
AerialKeyIcon = { fg = "#D4D4D4" },
AerialMethodIcon = { fg = "#C586C0" },
AerialModuleIcon = { fg = "#D4D4D4" },
AerialNamespaceIcon = { fg = "#D4D4D4" },
AerialNullIcon = { fg = "#D4D4D4" },
AerialNumberIcon = { fg = "#D4D4D4" },
AerialObjectIcon = { fg = "#f28b25" },
AerialOperatorIcon = { fg = "#D4D4D4" },
AerialPackageIcon = { fg = "#D4D4D4" },
AerialPropertyIcon = { fg = "#D4D4D4" },
AerialStringIcon = { fg = "#9CDCFE" },
AerialStructIcon = { fg = "#f28b25" },
AerialTypeParameter = { fg = "#9CDCFE" },
AerialVariableIcon = { fg = "#9CDCFE" },
-- Spell
SpellBad = { sp = "#ffbba6", undercurl = true },
SpellCap = { sp = "#ffbba6", undercurl = true },
SpellLocal = { sp = "#ffbba6", undercurl = true },
SpellRare = { sp = "#ffbba6", undercurl = true },
-- Inlay hint
LspInlayHint = { fg = "#777d86" },
}

489
init.lua
View File

@@ -1,5 +1,8 @@
-- AstroNvim Configuration Table
-- All configuration changes should go inside of the table below
--
-- A split up user configuration example can be found at: https://github.com/AstroNvim/split_user_example
--
-- You can think of a Lua "table" as a dictionary like data structure the
-- normal format is "key = value". These also handle array like data structures
-- where a value with no key simply has an implicit numeric key
@@ -7,18 +10,31 @@ local config = {
-- Configure AstroNvim updates
updater = {
remote = "origin", -- remote to use
channel = "stable", -- "stable" or "nightly"
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)
branch = "v3", -- branch name (NIGHTLY ONLY)
commit = nil, -- commit hash (NIGHTLY ONLY)
pin_plugins = true, -- nil, true, false (nil will pin plugins on stable 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
auto_reload = true, -- automatically reload and sync packer after a successful update
auto_quit = true -- automatically quit the current session after a successful update
auto_quit = true, -- automatically quit the current session after a successful 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 to use
colorscheme = "default_theme",
colorscheme = "astrodark",
-- Add highlight groups in any theme
highlights = {
-- init = { -- this table overrides highlights in all themes
-- Normal = { bg = "#000000" },
-- }
-- duskfox = { -- a table of overrides/changes to the duskfox theme
-- Normal = { bg = "#000000" },
-- },
},
-- set vim options here (vim.<first_key>.<second_key> = value)
options = {
opt = {
@@ -27,7 +43,7 @@ local config = {
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
wrap = true, -- sets vim.opt.wrap
},
g = {
mapleader = " ", -- sets vim.g.mapleader
@@ -38,8 +54,7 @@ local config = {
status_diagnostics_enabled = true, -- enable diagnostics in statusline
icons_enabled = true, -- disable icons in the UI (disable if no nerd font is available, requires :PackerSync after changing)
ui_notifications_enabled = true, -- disable notifications when toggling UI elements
heirline_bufferline = false -- enable new heirline based bufferline (requires :PackerSync after changing)
}
},
},
-- If you need more control, you can use the function()...end notation
-- options = function(local_vim)
@@ -51,62 +66,11 @@ local config = {
-- return local_vim
-- end,
-- Set dashboard header
header = {
" █████ ███████ ████████ ██████ ██████",
"██ ██ ██ ██ ██ ██ ██ ██",
"███████ ███████ ██ ██████ ██ ██",
"██ ██ ██ ██ ██ ██ ██ ██",
"██ ██ ███████ ██ ██ ██ ██████",
" ",
" ███  ██ ██  ██ ██ ███  ███",
" ████  ██ ██  ██ ██ ████  ████",
" ██ ██  ██ ██  ██ ██ ██ ████ ██",
" ██  ██ ██  ██  ██  ██ ██  ██  ██",
" ██   ████   ████   ██ ██  ██"
},
-- Default theme configuration
default_theme = {
-- Modify the color palette for the default theme
colors = { fg = "#abb2bf", bg = "#1e222a" },
highlights = function(hl) -- or a function that returns a new table of colors to set
local C = require("default_theme.colors")
hl.Normal = { fg = C.fg, bg = C.bg }
-- New approach instead of diagnostic_style
hl.DiagnosticError.italic = true
hl.DiagnosticHint.italic = true
hl.DiagnosticInfo.italic = true
hl.DiagnosticWarn.italic = true
return hl
end,
-- enable or disable highlighting for extra plugins
plugins = {
aerial = true,
beacon = false,
bufferline = true,
cmp = true,
dashboard = true,
highlighturl = true,
hop = false,
indent_blankline = true,
lightspeed = false,
["neo-tree"] = true,
notify = true,
["nvim-tree"] = false,
["nvim-web-devicons"] = true,
rainbow = true,
symbols_outline = false,
telescope = true,
treesitter = true,
vimwiki = false,
["which-key"] = true
}
},
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
diagnostics = { virtual_text = true, underline = true },
diagnostics = {
virtual_text = true,
underline = true,
},
-- Extend LSP configuration
lsp = {
-- enable servers that you already have installed without mason
@@ -122,12 +86,12 @@ local config = {
},
ignore_filetypes = { -- disable format on save for specified filetypes
-- "python",
}
},
},
disabled = { -- disable formatting capabilities for the listed language servers
-- "sumneko_lua",
-- "lua_ls",
},
timeout_ms = 1000 -- default format timeout
timeout_ms = 1000, -- default format timeout
-- filter = function(client) -- fully override the default formatting function
-- return true
-- end
@@ -136,32 +100,38 @@ local config = {
mappings = {
n = {
-- ["<leader>lf"] = false -- disable formatting keymap
}
},
},
-- add to the global LSP on_attach function
-- on_attach = function(client, bufnr)
-- end,
-- override the mason server-registration function
-- server_registration = function(server, opts)
-- require("lspconfig")[server].setup(opts)
-- end,
-- override the LSP setup handler function based on server name
-- setup_handlers = {
-- -- first function changes the default setup handler
-- function(server, opts) require("lspconfig")[server].setup(opts) end,
-- -- keys for a specific server name will be used for that LSP
-- lua_ls = function(server, opts)
-- -- custom lua_ls setup handler
-- require("lspconfig")["lua_ls"].setup(opts)
-- end,
-- },
-- Add overrides for LSP server settings, the keys are the name of the server
["server-settings"] = {
config = {
-- example for addings schemas to yamlls
-- yamlls = { -- override table for require("lspconfig").yamlls.setup({...})
-- 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}",
-- },
-- },
-- },
-- },
}
yamlls = { -- override table for require("lspconfig").yamlls.setup({...})
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}",
},
},
},
},
},
},
-- Mapping data with "desc" stored directly by vim.keymap.set().
--
@@ -174,89 +144,308 @@ local config = {
-- second key is the lefthand side of the map
-- mappings seen under group name "Buffer"
["<leader>bb"] = { "<cmd>tabnew<cr>", desc = "New tab" },
["<leader>bc"] = {
"<cmd>BufferLinePickClose<cr>",
desc = "Pick to close"
},
["<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"
}
["<leader>bt"] = { "<cmd>BufferLineSortByTabs<cr>", desc = "Sort by tabs" },
-- tables with the `name` key will be registered with which-key if it's installed
-- this is useful for naming menus
["<leader>b"] = { name = "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,
}
},
},
-- Configure require("lazy").setup() options
lazy = {
defaults = { lazy = true },
performance = {
rtp = {
-- customize default disabled vim plugins
disabled_plugins = { "tohtml", "gzip", "matchit", "zipPlugin", "netrwPlugin", "tarPlugin", "matchparen" },
},
},
},
-- Configure plugins
plugins = {
init = {
-- You can disable default plugins as follows:
-- ["goolord/alpha-nvim"] = { disable = true },
-- 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 "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 "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,
-- },
-- By adding to the which-key config and using our helper function you can add more which-key registered bindings
-- {
-- "folke/which-key.nvim",
-- config = function(plugin, opts)
-- require "plugins.configs.which-key"(plugin, opts)
-- -- Add bindings which show up as group name
-- local wk = require "which-key"
-- wk.register({
-- b = { name = "Buffer" },
-- }, { mode = "n", prefix = "<leader>" })
-- end,
-- },
-- You can also add new plugins here as well:
-- Add plugins, the packer syntax without the "use"
-- { "andweeb/presence.nvim" },
-- {
-- "ray-x/lsp_signature.nvim",
-- event = "BufRead",
-- config = function()
-- require("lsp_signature").setup()
-- end,
-- },
-- You can also add new plugins here as well:
-- Add plugins, the lazy syntax
"andweeb/presence.nvim",
-- {
-- "ray-x/lsp_signature.nvim",
-- event = "BufRead",
-- config = function()
-- require("lsp_signature").setup()
-- end,
-- },
-- We also support a key value style plugin definition similar to NvChad:
-- ["ray-x/lsp_signature.nvim"] = {
-- event = "BufRead",
-- config = function()
-- require("lsp_signature").setup()
-- end,
-- },
-- Plugin entries can also be used to override the default options for plugins as well
{
"goolord/alpha-nvim",
opts = function(_, opts)
-- customize the dashboard header
opts.section.header.val = {
" █████ ███████ ████████ ██████ ██████",
"██ ██ ██ ██ ██ ██ ██ ██",
"███████ ███████ ██ ██████ ██ ██",
"██ ██ ██ ██ ██ ██ ██ ██",
"██ ██ ███████ ██ ██ ██ ██████",
" ",
" ███  ██ ██  ██ ██ ███  ███",
" ████  ██ ██  ██ ██ ████  ████",
" ██ ██  ██ ██  ██ ██ ██ ████ ██",
" ██  ██ ██  ██  ██  ██ ██  ██  ██",
" ██   ████   ████   ██ ██  ██",
}
return opts
end,
},
-- All other entries override the require("<key>").setup({...}) call for default plugins
["null-ls"] = function(config) -- overrides `require("null-ls").setup(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/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.stylua,
-- null_ls.builtins.formatting.prettier,
}
return config -- return final config table
end,
treesitter = { -- overrides `require("treesitter").setup(...)`
-- ensure_installed = { "lua" },
{
"jose-elias-alvarez/null-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/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 = {
null_ls.builtins.code_actions.eslint,
null_ls.builtins.code_actions.refactoring,
null_ls.builtins.code_actions.shellcheck,
null_ls.builtins.code_actions.xo,
null_ls.builtins.diagnostics.actionlint,
null_ls.builtins.diagnostics.alex,
null_ls.builtins.diagnostics.ansiblelint,
null_ls.builtins.diagnostics.dotenv_linter,
null_ls.builtins.diagnostics.editorconfig_checker,
null_ls.builtins.diagnostics.eslint,
null_ls.builtins.diagnostics.flake8,
null_ls.builtins.diagnostics.jsonlint,
null_ls.builtins.diagnostics.luacheck,
null_ls.builtins.diagnostics.markdownlint,
null_ls.builtins.diagnostics.mypy,
null_ls.builtins.diagnostics.php,
null_ls.builtins.diagnostics.phpcs,
null_ls.builtins.diagnostics.phpmd,
null_ls.builtins.diagnostics.phpstan,
null_ls.builtins.diagnostics.psalm,
null_ls.builtins.diagnostics.pycodestyle,
null_ls.builtins.diagnostics.pydocstyle,
null_ls.builtins.diagnostics.pylint,
null_ls.builtins.diagnostics.semgrep,
null_ls.builtins.diagnostics.shellcheck,
null_ls.builtins.diagnostics.standardjs,
null_ls.builtins.diagnostics.stylelint,
null_ls.builtins.diagnostics.tfsec,
null_ls.builtins.diagnostics.trail_space,
null_ls.builtins.diagnostics.tsc,
null_ls.builtins.diagnostics.vacuum,
null_ls.builtins.diagnostics.vint,
null_ls.builtins.diagnostics.vulture,
null_ls.builtins.diagnostics.xo,
null_ls.builtins.diagnostics.yamllint,
null_ls.builtins.diagnostics.zsh,
null_ls.builtins.formatting.autoflake,
null_ls.builtins.formatting.autopep8,
null_ls.builtins.formatting.black,
null_ls.builtins.formatting.blade_formatter,
null_ls.builtins.formatting.cbfmt,
null_ls.builtins.formatting.clang_format,
null_ls.builtins.formatting.eslint,
null_ls.builtins.formatting.fixjson,
null_ls.builtins.formatting.isort,
null_ls.builtins.formatting.isort,
null_ls.builtins.formatting.jq,
null_ls.builtins.formatting.markdownlint,
null_ls.builtins.formatting.nginx_beautifier,
null_ls.builtins.formatting.pg_format,
null_ls.builtins.formatting.phpcsfixer,
null_ls.builtins.formatting.prettier_eslint,
null_ls.builtins.formatting.prettier,
null_ls.builtins.formatting.prettier,
null_ls.builtins.formatting.puppet_lint,
null_ls.builtins.formatting.rome,
null_ls.builtins.formatting.rustfmt,
null_ls.builtins.formatting.shfmt.with {
args = { "-i", "1", "-bn", "-ci", "-sr", "-kb", "-fn" }
},
null_ls.builtins.formatting.stylelint
}
return config -- return final config table
end,
},
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
"help",
"bash",
"c",
"cmake",
"comment",
"diff",
"dockerfile",
"gitignore",
"graphql",
"html",
"javascript",
"json",
"json5",
"latex",
"lua",
"markdown",
"php",
"phpdoc",
"python",
"scss",
"sql",
"terraform",
"todotxt",
"toml",
"typescript",
"vim",
"vue",
"yaml",
},
},
},
-- use mason-lspconfig to configure LSP installations
["mason-lspconfig"] = { -- overrides `require("mason-lspconfig").setup(...)`
-- ensure_installed = { "sumneko_lua" },
{
"williamboman/mason-lspconfig.nvim",
-- overrides `require("mason-lspconfig").setup(...)`
opts = {
ensure_installed = {
"ansiblels",
"bashls",
"clangd",
"codeqlls",
"cssls",
"diagnosticls",
"docker_compose_language_service",
"dockerls",
"emmet_ls",
"eslint",
"graphql",
"html",
"intelephense",
"jsonls",
"lua_ls",
"marksman",
"phpactor",
"psalm",
"pyright",
"stylelint_lsp",
"sqls",
"tailwindcss",
"tsserver",
"vuels",
"yamlls"
},
},
},
-- use mason-null-ls to configure Formatters/Linter installation for null-ls sources
["mason-null-ls"] = { -- overrides `require("mason-null-ls").setup(...)`
-- ensure_installed = { "prettier", "stylua" },
{
"jay-babu/mason-null-ls.nvim",
-- overrides `require("mason-null-ls").setup(...)`
opts = {
automatic_setup = true,
-- ensure_installed = { "prettier", "stylua" },
},
},
{
"jay-babu/mason-nvim-dap.nvim",
-- overrides `require("mason-nvim-dap").setup(...)`
opts = {
-- ensure_installed = { "python" },
},
},
{
"wakatime/vim-wakatime"
},
["mason-nvim-dap"] = { -- overrides `require("mason-nvim-dap").setup(...)`
-- ensure_installed = { "python" },
}
},
-- LuaSnip Options
luasnip = {
-- Extend filetypes
filetype_extend = {
-- javascript = { "javascriptreact" },
},
-- Configure luasnip loaders (vscode, lua, and/or snipmate)
vscode = {
-- Add paths for including more VS Code style snippets in luasnip
paths = {}
}
-- Customize Heirline options
heirline = {
-- -- Customize different separators between sections
-- separators = {
-- breadcrumbs = " > ",
-- tab = { "", "" },
-- },
-- -- Customize colors for each element each element has a `_fg` and a `_bg`
-- colors = function(colors)
-- colors.git_branch_fg = require("core.utils").get_hlgroup "Conditional"
-- return colors
-- end,
-- -- Customize attributes of highlighting in Heirline components
-- attributes = {
-- -- styling choices for each heirline element, check possible attributes with `:h attr-list`
-- git_branch = { bold = true }, -- bold the git branch statusline component
-- },
-- -- Customize if icons should be highlighted
-- icon_highlights = {
-- breadcrumbs = false, -- LSP symbols in the breadcrumbs
-- file_icon = {
-- winbar = false, -- Filetype icon in the winbar inactive windows
-- statusline = true, -- Filetype icon in the statusline
-- tabline = true, -- Filetype icon in the tabline
-- },
-- },
},
-- This function is run last and is a good place to configuring
-- augroups/autocommands and custom filetypes also this just pure lua so
@@ -274,7 +463,7 @@ local config = {
-- ["~/%.config/foo/.*"] = "fooscript",
-- },
-- }
end
end,
}
return config

View File

@@ -1,11 +0,0 @@
return function(client, bufnr)
if client.server_capabilities.inlayHintProvider then
local inlayhints_avail, inlayhints = pcall(require, "lsp-inlayhints")
if inlayhints_avail then
inlayhints.on_attach(client, bufnr)
vim.keymap.set("n", "<leader>uH",
function() inlayhints.toggle() end,
{ desc = "Toggle inlay hints" })
end
end
end

View File

@@ -1,5 +0,0 @@
return {
capabilities = {
offsetEncoding = "utf-8",
},
}

View File

@@ -1,7 +0,0 @@
return {
settings = {
Lua = {
hint = { enable = true },
},
},
}

View File

@@ -1,26 +0,0 @@
return {
settings = {
javascript = {
inlayHints = {
includeInlayEnumMemberValueHints = true,
includeInlayFunctionLikeReturnTypeHints = true,
includeInlayFunctionParameterTypeHints = true,
includeInlayParameterNameHints = "all", -- 'none' | 'literals' | 'all';
includeInlayParameterNameHintsWhenArgumentMatchesName = true,
includeInlayPropertyDeclarationTypeHints = true,
includeInlayVariableTypeHints = true,
},
},
typescript = {
inlayHints = {
includeInlayEnumMemberValueHints = true,
includeInlayFunctionLikeReturnTypeHints = true,
includeInlayFunctionParameterTypeHints = true,
includeInlayParameterNameHints = "all", -- 'none' | 'literals' | 'all';
includeInlayParameterNameHintsWhenArgumentMatchesName = true,
includeInlayPropertyDeclarationTypeHints = true,
includeInlayVariableTypeHints = true,
},
},
},
}

View File

@@ -1,11 +0,0 @@
return {
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}",
},
},
},
}

View File

@@ -1,31 +0,0 @@
-- Mapping data with "desc" stored directly by vim.keymap.set().
-- Please use this mappings table to set keyboard mapping since this is the
-- lower level configuration and more robust one. (which-key will
-- automatically pick-up stored data by this setting.)
return {
-- first key is the mode
n = {
-- second key is the lefthand side of the map
-- mappings seen under group name "Buffer"
["<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" },
-- Open file in browser
["<space>r"] = { ":exe ':silent !firefox %'<cr>", desc = "Run Browser" },
-- View treesitter highlight groups
["<space>k"] = { ":TSHighlightCapturesUnderCursor<cr>", desc = "View Highlight Group" },
-- Easy splits
-- ["\\"] = { "<cmd>split<cr>", desc = "Horizontal split" },
-- ["|"] = { "<cmd>vsplit<cr>", desc = "Vertical split" },
-- Search highlight groups
["<space>sg"] = { "<cmd>Telescope highlights<cr>", desc = "Highlight groups" },
-- 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,
},
}

View File

@@ -1,36 +0,0 @@
return {
-- set vim options here (vim.<first_key>.<second_key> = value)
opt = {
-- set to true or false etc.
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 = true, -- sets vim.opt.wrap
conceallevel = 2, -- enable conceal
foldenable = false,
foldexpr = "nvim_treesitter#foldexpr()", -- set Treesitter based folding
foldmethod = "expr",
linebreak = true, -- linebreak soft wrap at words
list = true, -- show whitespace characters
listchars = {
tab = "",
extends = "",
precedes = "",
trail = "·",
eol = ""
},
showbreak = ""
},
g = {
mapleader = " ", -- sets vim.g.mapleader
-- enable or disable auto formatting at start (lsp.formatting.format_on_save must be enabled)
autoformat_enabled = true,
cmp_enabled = true, -- enable completion at start
autopairs_enabled = true, -- enable autopairs at start
diagnostics_enabled = true, -- enable diagnostics at start
status_diagnostics_enabled = true, -- enable diagnostics in statusline
-- disable icons in the UI (disable if no nerd font is available, requires :PackerSync after changing)
icons_enabled = true
}
}

View File

@@ -1,105 +0,0 @@
local colors = {
red = "#d47d85",
red_1 = "#ec5f67",
grey = "#abb2bf",
grey_1 = "#787e87",
grey_2 = "#D3D3D3",
black = "#1e222a",
black_1 = "#252931",
black_2 = "#2c323c",
green = "#95be76",
none = "NONE",
}
return {
highlights = {
background = {
fg = colors.grey_1,
bg = colors.black_2,
},
-- Buffers
buffer_selected = {
fg = colors.grey,
bg = colors.black,
},
buffer_visible = {
fg = colors.grey,
bg = colors.black,
},
-- Diagnostics
error = {
fg = colors.red_1,
bg = colors.red_1,
},
error_diagnostic = {
fg = colors.red_1,
bg = colors.red_1,
},
-- Close buttons
close_button = {
fg = colors.grey_1,
bg = colors.black_2,
},
close_button_visible = {
fg = colors.grey_2,
bg = colors.black,
},
close_button_selected = {
fg = colors.red,
bg = colors.black,
},
fill = {
fg = colors.grey_1,
bg = colors.black_2,
},
indicator_selected = {
fg = colors.black,
bg = colors.black,
},
-- Modified
modified = {
fg = colors.red,
bg = colors.black_2,
},
modified_visible = {
fg = colors.grey,
bg = colors.black,
},
modified_selected = {
fg = colors.green,
bg = colors.black,
},
-- Separators
separator = {
fg = colors.black_2,
bg = colors.black_2,
},
separator_visible = {
fg = colors.black,
bg = colors.black,
},
separator_selected = {
fg = colors.black_2,
bg = colors.black_2,
},
-- Tabs
tab = {
fg = colors.grey,
bg = colors.black,
},
tab_selected = {
fg = colors.black,
bg = colors.black,
},
tab_close = {
fg = colors.black,
bg = colors.black,
},
},
}

View File

@@ -1,32 +0,0 @@
local cmp = require "cmp"
local luasnip = require "luasnip"
return {
completion = {
completeopt = "menu,menuone,noinsert",
},
window = {
documentation = {
max_width = 40,
},
},
mapping = {
["<C-p>"] = cmp.mapping.select_prev_item { behavior = cmp.SelectBehavior.Select },
["<C-n>"] = cmp.mapping.select_next_item { behavior = cmp.SelectBehavior.Select },
["<C-k>"] = cmp.mapping.select_prev_item { behavior = cmp.SelectBehavior.Select },
["<C-j>"] = cmp.mapping.select_next_item { behavior = cmp.SelectBehavior.Select },
["<Tab>"] = cmp.mapping(function(fallback)
if luasnip.jumpable(1) then
luasnip.jump(1)
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { "i", "s" }),
},
}

View File

@@ -1,22 +0,0 @@
return {
["wakatime/vim-wakatime"] = {
opt = true,
setup = function() table.insert(astronvim.file_plugins, "vim-wakatime") end,
},
["folke/zen-mode.nvim"] = {
cmd = { "ZenMode" },
config = function() require("user.plugins.zen-mode").config() end,
},
["nvim-treesitter/playground"] = {
cmd = "TSHighlightCapturesUnderCursor",
},
["karb94/neoscroll.nvim"] = {
opt = true,
setup = function() table.insert(astronvim.file_plugins, "neoscroll.nvim") end,
config = function() require("user.plugins.neoscroll").config() end,
},
["lvimuser/lsp-inlayhints.nvim"] = {
module = "lsp-inlayhints",
config = function() require "user.plugins.lsp-inlayhints" end,
},
}

View File

@@ -1 +0,0 @@
require("lsp-inlayhints").setup()

View File

@@ -1,31 +0,0 @@
return function(config)
config.preset = "codicons"
config.symbol_map = {
Text = "",
Method = "",
Function = "",
Constructor = "",
Field = "",
Variable = "",
Class = "",
Interface = "",
Module = "",
Property = "",
Unit = "",
Value = "",
Enum = "",
Keyword = "",
Snippet = "",
Color = "",
File = "",
Reference = "",
Folder = "",
EnumMember = "",
Constant = "",
Struct = "",
Event = "",
Operator = "",
TypeParameter = "",
}
return config
end

View File

@@ -1,31 +0,0 @@
-- use mason-lspconfig to configure LSP installations
return {
automatic_installation = true,
ensure_installed = {
"ansiblels",
"bashls",
"clangd",
"codeqlls",
"cssls",
"diagnosticls",
"docker_compose_language_service",
"dockerls",
"emmet_ls",
"eslint",
"graphql",
"html",
"intelephense",
"jsonls",
"lua_ls",
"marksman",
"phpactor",
"psalm",
"pyright",
"stylelint_lsp",
"sqls",
"tailwindcss",
"tsserver",
"vuels",
"yamlls"
}
}

View File

@@ -1,21 +0,0 @@
local M = {}
function M.config()
local status_ok, neoscroll = pcall(require, "neoscroll")
if not status_ok then return end
neoscroll.setup(require("core.utils").user_plugin_opts("plugins.neoscroll", {
-- All these keys will be mapped to their corresponding default scrolling animation
mappings = { "<C-u>", "<C-d>", "<C-b>", "<C-f>", "<C-y>", "<C-e>", "zt", "zz", "zb" },
hide_cursor = true, -- Hide cursor while scrolling
stop_eof = true, -- Stop at <EOF> when scrolling downwards
use_local_scrolloff = false, -- Use the local scope of scrolloff instead of the global scope
respect_scrolloff = false, -- Stop scrolling when the cursor reaches the scrolloff margin of the file
cursor_scrolls_alone = true, -- The cursor will keep on scrolling even if the window cannot scroll further
easing_function = nil, -- Default easing function
pre_hook = nil, -- Function to run before the scrolling animation starts
post_hook = nil, -- Function to run after the scrolling animation ends
}))
end
return M

View File

@@ -1,75 +0,0 @@
return function(config)
local null_ls = require "null-ls"
config.sources = {
null_ls.builtins.code_actions.eslint,
null_ls.builtins.code_actions.shellcheck,
null_ls.builtins.code_actions.xo,
null_ls.builtins.diagnostics.actionlint,
null_ls.builtins.diagnostics.ansiblelint,
null_ls.builtins.diagnostics.dotenv_linter,
null_ls.builtins.diagnostics.editorconfig_checker,
null_ls.builtins.diagnostics.eslint,
null_ls.builtins.diagnostics.flake8,
null_ls.builtins.diagnostics.jsonlint,
null_ls.builtins.diagnostics.luacheck,
null_ls.builtins.diagnostics.markdownlint,
null_ls.builtins.diagnostics.mypy,
null_ls.builtins.diagnostics.php,
null_ls.builtins.diagnostics.phpcs,
null_ls.builtins.diagnostics.phpmd,
null_ls.builtins.diagnostics.phpstan,
null_ls.builtins.diagnostics.psalm,
null_ls.builtins.diagnostics.pycodestyle,
null_ls.builtins.diagnostics.pydocstyle,
null_ls.builtins.diagnostics.pylint,
null_ls.builtins.diagnostics.semgrep,
null_ls.builtins.diagnostics.shellcheck,
null_ls.builtins.diagnostics.standardjs,
null_ls.builtins.diagnostics.stylelint,
null_ls.builtins.diagnostics.tfsec,
null_ls.builtins.diagnostics.trail_space,
null_ls.builtins.diagnostics.tsc,
null_ls.builtins.diagnostics.vacuum,
null_ls.builtins.diagnostics.vint,
null_ls.builtins.diagnostics.vulture,
null_ls.builtins.diagnostics.xo,
null_ls.builtins.diagnostics.yamllint,
null_ls.builtins.diagnostics.zsh,
null_ls.builtins.formatting.autoflake,
null_ls.builtins.formatting.autopep8,
null_ls.builtins.formatting.black,
null_ls.builtins.formatting.blade_formatter,
null_ls.builtins.formatting.cbfmt,
null_ls.builtins.formatting.clang_format,
null_ls.builtins.formatting.eslint,
null_ls.builtins.formatting.fixjson,
null_ls.builtins.formatting.isort,
null_ls.builtins.formatting.isort,
null_ls.builtins.formatting.jq,
null_ls.builtins.formatting.markdownlint,
null_ls.builtins.formatting.nginx_beautifier,
null_ls.builtins.formatting.pg_format,
null_ls.builtins.formatting.phpcsfixer,
null_ls.builtins.formatting.prettier_eslint,
null_ls.builtins.formatting.prettier,
null_ls.builtins.formatting.prettier,
null_ls.builtins.formatting.puppet_lint,
null_ls.builtins.formatting.rome,
null_ls.builtins.formatting.rustfmt,
null_ls.builtins.formatting.shfmt.with {
args = { "-i", "1", "-bn", "-ci", "-sr", "-kb", "-fn" }
},
null_ls.builtins.formatting.stylelint,
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.terrafmt,
null_ls.builtins.formatting.terraform_fmt,
null_ls.builtins.formatting.tidy,
null_ls.builtins.formatting.yamlfmt,
null_ls.builtins.hover.dictionary,
null_ls.builtins.hover.printenv,
}
return config
end

View File

@@ -1,35 +0,0 @@
return {
-- Automatically install missing parsers when entering buffer
auto_install = true,
ensure_installed = {
"help",
"bash",
"c",
"cmake",
"comment",
"diff",
"dockerfile",
"gitignore",
"graphql",
"html",
"javascript",
"json",
"json5",
"latex",
"lua",
"markdown",
"php",
"phpdoc",
"python",
"scss",
"sql",
"terraform",
"todotxt",
"toml",
"typescript",
"vim",
"vue",
"yaml",
}
}

View File

@@ -1,51 +0,0 @@
local M = {}
function M.config()
local status_ok, zen_mode = pcall(require, "zen-mode")
if status_ok then
zen_mode.setup {
window = {
backdrop = 0.95, -- shade the backdrop of the Zen window. Set to 1 to keep the same as Normal
-- height and width can be:
-- * an absolute number of cells when > 1
-- * a percentage of the width / height of the editor when <= 1
-- * a function that returns the width or the height
width = 120, -- width of the Zen window
height = 1, -- height of the Zen window
-- by default, no options are changed for the Zen window
-- uncomment any of the options below, or add other vim.wo options you want to apply
options = {
-- signcolumn = "no", -- disable signcolumn
-- number = false, -- disable number column
-- relativenumber = false, -- disable relative numbers
-- cursorline = false, -- disable cursorline
-- cursorcolumn = false, -- disable cursor column
-- foldcolumn = "0", -- disable fold column
-- list = false, -- disable whitespace characters
},
},
plugins = {
-- disable some global vim options (vim.o...)
-- comment the lines to not apply the options
options = {
enabled = true,
ruler = false, -- disables the ruler text in the cmd line area
showcmd = false, -- disables the command in the last line of the screen
},
twilight = { enabled = true }, -- enable to start Twilight when zen mode opens
gitsigns = { enabled = false }, -- disables git signs
tmux = { enabled = false }, -- disables the tmux statusline
-- this will change the font size on kitty when in zen mode
-- to make this work, you need to set the following kitty options:
-- - allow_remote_control socket-only
-- - listen_on unix:/tmp/kitty
kitty = {
enabled = false,
font = "+4", -- font size increment
},
},
}
end
end
return M

View File

@@ -1,3 +0,0 @@
-- This function is run last and is a good place to configuring
-- anything that doesn't fit in the normal config can go here
return function() require "user.autocmds" end

View File

@@ -1,18 +0,0 @@
return {
-- Configure AstroNvim updates
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
auto_reload = false, -- automatically reload and sync packer after a successful update
auto_quit = false, -- automatically quit the current session after a successful 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
-- },
}

View File

@@ -1,14 +0,0 @@
-- Modify which-key registration
-- Add bindings which show up as group name
return {
-- first key is the mode, n == normal mode
-- n = {
-- second key is the prefix, <leader> prefixes
-- ["<leader>"] = {
-- third key is the key to bring up next level and its displayed
-- group name in which-key top level menu
-- ["n"] = { "<cmd>tabnew<cr>", "New Buffer" },
-- ["z"] = { "<cmd>ZenMode<cr>", "Zen Mode" },
-- },
-- },
}