aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim-lazy/lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim-lazy/lua')
-rw-r--r--.config/nvim-lazy/lua/caelus/init.lua100
-rwxr-xr-x.config/nvim-lazy/lua/config/keymaps.lua13
-rw-r--r--.config/nvim-lazy/lua/config/lazy.lua35
-rwxr-xr-x.config/nvim-lazy/lua/config/options.lua40
-rwxr-xr-x.config/nvim-lazy/lua/plugins/auto-pairs.lua24
-rw-r--r--.config/nvim-lazy/lua/plugins/blink.lua53
-rwxr-xr-x.config/nvim-lazy/lua/plugins/colorizer.lua6
-rwxr-xr-x.config/nvim-lazy/lua/plugins/eslint.lua41
-rw-r--r--.config/nvim-lazy/lua/plugins/everpuccin.lua.bkp330
-rwxr-xr-x.config/nvim-lazy/lua/plugins/harpoon.lua26
-rwxr-xr-x.config/nvim-lazy/lua/plugins/highlight-colors.lua8
-rwxr-xr-x.config/nvim-lazy/lua/plugins/lspconfig.lua35
-rwxr-xr-x.config/nvim-lazy/lua/plugins/lualine.lua12
-rwxr-xr-x.config/nvim-lazy/lua/plugins/markdown.lua9
-rw-r--r--.config/nvim-lazy/lua/plugins/mason-lspconfig.lua8
-rw-r--r--.config/nvim-lazy/lua/plugins/mason.lua13
-rw-r--r--.config/nvim-lazy/lua/plugins/nim.lua3
-rw-r--r--.config/nvim-lazy/lua/plugins/oil.lua20
-rwxr-xr-x.config/nvim-lazy/lua/plugins/orgmode.lua17
-rwxr-xr-x.config/nvim-lazy/lua/plugins/telescope.lua25
-rwxr-xr-x.config/nvim-lazy/lua/plugins/treesitter.lua15
-rw-r--r--.config/nvim-lazy/lua/plugins/trouble.lua37
-rwxr-xr-x.config/nvim-lazy/lua/plugins/undotree.lua8
-rw-r--r--.config/nvim-lazy/lua/plugins/vlang.lua7
24 files changed, 885 insertions, 0 deletions
diff --git a/.config/nvim-lazy/lua/caelus/init.lua b/.config/nvim-lazy/lua/caelus/init.lua
new file mode 100644
index 0000000..dec0a41
--- /dev/null
+++ b/.config/nvim-lazy/lua/caelus/init.lua
@@ -0,0 +1,100 @@
+local M = {};
+
+local colors = {
+ bg = "#0f0f0f",
+ gray0 = "#141514";
+ gray1 = "#1e1f1e";
+ gray2 = "#272a28";
+ gray3 = "#3b403c";
+ gray4 = "#585f5b";
+ gray5 = "#6c756f";
+ gray6 = "#888e7b";
+ gray7 = "#9a9c8b";
+ gray8 = "#b6b69a";
+ gray9 = "#d9cdb5";
+ gray10 = "#e3d6c9";
+ fg = "#f4decd",
+ red = "#f16e65";
+ lred = "#ef968f";
+ orange = "#ef934d";
+ yellow = "#efbf71";
+ green = "#7ec97e";
+ lgreen = "#a4daa4";
+ cyan = "#7ec9a3";
+ lcyan = "#abd4bf";
+ blue = "#71b4d6";
+ lblue = "#b0d4e8";
+ magenta = "#e28dc6";
+ lmagenta = "#ebadd6";
+}
+
+function M.colorscheme()
+ vim.cmd("highlight clear")
+ vim.cmd("syntax reset")
+
+ vim.o.background = "dark";
+ vim.g.colors_name = "caelus";
+
+ local set = vim.api.nvim_set_hl
+
+ -- ui
+ set(0, "Normal", { fg = colors.fg, bg = colors.bg })
+ set(0, "NormalFloat", { fg = colors.fg, bg = colors.bg })
+ set(0, "FloatBorder", { fg = colors.fg, bg = colors.bg })
+ set(0, "CursorLine", { bg = colors.gray2 })
+ set(0, "Visual", { bg = colors.gray3 })
+ set(0, "Search", { fg = colors.bg, bg = colors.orange })
+ set(0, "IncSearch", { fg = colors.bg, bg = colors.orange })
+ set(0, "StatusLine", { bg = colors.gray2 })
+ set(0, "StatusLineNC", { bg = colors.orange })
+ set(0, "VertSplit", { fg = colors.gray8 })
+ set(0, "WinSeparator", { fg = colors.gray8 })
+ set(0, "LineNr", { fg = colors.gray6 })
+ set(0, "CursorLineNr", { fg = colors.orange, bold = true })
+ set(0, "SignColumn", { bg = colors.bg })
+ set(0, "Folded", { fg = colors.gray8, bg = colors.gray3 })
+
+ -- popup
+ set(0, "Pmenu", { fg = colors.fg, bg = colors.gray10 })
+ set(0, "PmenuSel", { fg = colors.bg, bg = colors.orange })
+ set(0, "PmenuSbar", { bg = colors.gray10 })
+ set(0, "PmenuThumb", { bg = colors.orange })
+
+ -- syntax
+ set(0, "Comment", { fg = colors.gray8, italic = true })
+ set(0, "Constant", { fg = colors.magenta })
+ set(0, "String", { fg = colors.green })
+ set(0, "Identifier", { fg = colors.blue })
+ set(0, "Function", { fg = colors.yellow })
+ set(0, "Statement", { fg = colors.red })
+ set(0, "Type", { fg = colors.cyan, bold = true })
+ set(0, "Special", { fg = colors.yellow })
+ set(0, "Error", { fg = colors.red, bold = true })
+ set(0, "Keyword", { fg = colors.red })
+ set(0, "Variable", { fg = colors.fg })
+ set(0, "TSKeyword", { fg = colors.red })
+ set(0, "TSFunction", { fg = colors.yellow })
+ set(0, "TSVariable", { fg = colors.fg })
+ set(0, "TSType", { fg = colors.cyan })
+
+ -- blink
+ set(0, "BlinkCmpMenu", { bg = colors.gray1 })
+ set(0, "BlinkCmpMenuBorder", { fg = colors.gray6, bg = colors.gray1 })
+ set(0, "BlinkCmpMenuSelection", { fg = colors.bg, bg = colors.orange })
+ set(0, "BlinkCmpLabel", { fg = colors.fg })
+ set(0, "BlinkCmpLabelDetail", { fg = colors.gray7 })
+ set(0, "BlinkCmpLabelDescription",{ fg = colors.gray8 })
+ set(0, "BlinkCmpLabelMatch", { fg = colors.orange, bold = true })
+ set(0, "BlinkCmpKind", { fg = colors.cyan })
+ set(0, "BlinkCmpDoc", { fg = colors.fg, bg = colors.gray2 })
+ set(0, "BlinkCmpDocBorder", { fg = colors.gray5, bg = colors.gray2 })
+
+ if package.loaded['lualine'] then
+ require('lualine').setup({
+ options = { theme = 'auto' },
+ })
+ end
+
+end
+
+return M
diff --git a/.config/nvim-lazy/lua/config/keymaps.lua b/.config/nvim-lazy/lua/config/keymaps.lua
new file mode 100755
index 0000000..e2987bc
--- /dev/null
+++ b/.config/nvim-lazy/lua/config/keymaps.lua
@@ -0,0 +1,13 @@
+localopts = { noremap = true, silent = true }
+
+vim.g.mapleader = " "
+vim.g.maplocalleader = " "
+
+vim.keymap.set({"n", "v"}, "y", '"+y', { noremap = true, silent = true })
+
+vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", { desc = "moves lines down in visual selection" })
+vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", { desc = "moves lines up in visual selection" })
+
+vim.keymap.set("n", "<leader>al", "<CMD>term<CR>", { desc = "Open terminal" })
+
+vim.keymap.set("n", "<leader>f", vim.lsp.buf.format)
diff --git a/.config/nvim-lazy/lua/config/lazy.lua b/.config/nvim-lazy/lua/config/lazy.lua
new file mode 100644
index 0000000..c381a4b
--- /dev/null
+++ b/.config/nvim-lazy/lua/config/lazy.lua
@@ -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 },
+})
diff --git a/.config/nvim-lazy/lua/config/options.lua b/.config/nvim-lazy/lua/config/options.lua
new file mode 100755
index 0000000..dac7c76
--- /dev/null
+++ b/.config/nvim-lazy/lua/config/options.lua
@@ -0,0 +1,40 @@
+vim.cmd("let g:netrw_banner = 0")
+vim.cmd("set termguicolors")
+
+vim.opt.guicursor = ""
+vim.opt.nu = true
+vim.opt.relativenumber = false
+
+vim.opt.tabstop = 2
+vim.opt.softtabstop = 2
+vim.opt.shiftwidth = 2
+vim.opt.expandtab = true
+vim.opt.autoindent = true
+vim.opt.smartindent = true
+vim.opt.wrap = true
+
+vim.opt.swapfile = false
+vim.opt.backup = false
+vim.opt.undofile = true
+
+vim.opt.incsearch = true
+vim.opt.inccommand = "split"
+vim.opt.ignorecase = true
+vim.opt.smartcase = true
+
+vim.opt.termguicolors = true
+vim.opt.background = "dark"
+vim.opt.scrolloff = 8
+vim.opt.signcolumn = "yes"
+
+vim.opt.backspace = { "start", "eol", "indent" }
+
+vim.opt.splitright = true
+vim.opt.splitbelow = true
+
+vim.opt.hlsearch = true
+
+vim.opt.mouse = "a"
+vim.g.editorconfig = true
+
+vim.g.markdown_folding = 1
diff --git a/.config/nvim-lazy/lua/plugins/auto-pairs.lua b/.config/nvim-lazy/lua/plugins/auto-pairs.lua
new file mode 100755
index 0000000..db98da2
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/auto-pairs.lua
@@ -0,0 +1,24 @@
+return {
+ "windwp/nvim-autopairs",
+ event = { "InsertEnter" },
+ dependencies = {
+ "hrsh7th/nvim-cmp",
+ },
+ config = function()
+ local autopairs = require("nvim-autopairs")
+
+ autopairs.setup({
+ check_ts = true,
+ ts_config = {
+ lua = { "string" },
+ javascript = { "template_string" },
+ java = false,
+ },
+ })
+
+ local cmp_autopairs = require("nvim-autopairs.completion.cmp")
+ local cmp = require("cmp")
+
+ cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done())
+ end,
+}
diff --git a/.config/nvim-lazy/lua/plugins/blink.lua b/.config/nvim-lazy/lua/plugins/blink.lua
new file mode 100644
index 0000000..e4dd63c
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/blink.lua
@@ -0,0 +1,53 @@
+return {
+ 'saghen/blink.cmp',
+ -- optional: provides snippets for the snippet source
+ dependencies = { 'rafamadriz/friendly-snippets' },
+
+ -- use a release tag to download pre-built binaries
+ version = '1.*',
+ -- AND/OR build from source
+ -- build = 'cargo build --release',
+ -- If you use nix, you can build from source with:
+ -- build = 'nix run .#build-plugin',
+
+ ---@module 'blink.cmp'
+ ---@type blink.cmp.Config
+ opts = {
+ -- 'default' (recommended) for mappings similar to built-in completions (C-y to accept)
+ -- 'super-tab' for mappings similar to vscode (tab to accept)
+ -- 'enter' for enter to accept
+ -- 'none' for no mappings
+ --
+ -- All presets have the following mappings:
+ -- C-space: Open menu or open docs if already open
+ -- C-n/C-p or Up/Down: Select next/previous item
+ -- C-e: Hide menu
+ -- C-k: Toggle signature help (if signature.enabled = true)
+ --
+ -- See :h blink-cmp-config-keymap for defining your own keymap
+ keymap = { preset = 'default' },
+
+ appearance = {
+ -- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
+ -- Adjusts spacing to ensure icons are aligned
+ nerd_font_variant = 'mono'
+ },
+
+ -- (Default) Only show the documentation popup when manually triggered
+ completion = { documentation = { auto_show = false } },
+
+ -- Default list of enabled providers defined so that you can extend it
+ -- elsewhere in your config, without redefining it, due to `opts_extend`
+ sources = {
+ default = { 'lsp', 'path', 'snippets', 'buffer' },
+ },
+
+ -- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
+ -- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
+ -- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
+ --
+ -- See the fuzzy documentation for more information
+ fuzzy = { implementation = "prefer_rust_with_warning" }
+ },
+ opts_extend = { "sources.default" }
+}
diff --git a/.config/nvim-lazy/lua/plugins/colorizer.lua b/.config/nvim-lazy/lua/plugins/colorizer.lua
new file mode 100755
index 0000000..dee6b43
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/colorizer.lua
@@ -0,0 +1,6 @@
+return {
+ "norcalli/nvim-colorizer.lua",
+ config = function()
+ require("colorizer").setup()
+ end,
+}
diff --git a/.config/nvim-lazy/lua/plugins/eslint.lua b/.config/nvim-lazy/lua/plugins/eslint.lua
new file mode 100755
index 0000000..ba74b8a
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/eslint.lua
@@ -0,0 +1,41 @@
+return {
+ "mfussenegger/nvim-lint",
+ event = { "BufReadPre", "BufNewFile" },
+ config = function()
+ local lint = require("lint")
+ local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
+ local eslint = lint.linters.eslint_d
+
+ -- if Eslint error configuration not found : change MasonInstall eslint@version or npm i -g eslint at a specific version
+ lint.linters_by_ft = {
+ javascript = { "eslint_d" },
+ typescript = { "eslint_d" },
+ javascriptreact = { "eslint_d" },
+ typescriptreact = { "eslint_d" },
+ svelte = { "eslint_d" },
+ python = { "pylint" },
+ }
+
+ eslint.args = {
+ "--no-warn-ignored",
+ "--format",
+ "json",
+ "--stdin",
+ "--stdin-filename",
+ function()
+ return vim.fn.expand("%:p")
+ end,
+ }
+
+ vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
+ group = lint_augroup,
+ callback = function()
+ lint.try_lint()
+ end,
+ })
+
+ vim.keymap.set("n", "<leader>l", function()
+ lint.try_lint()
+ end, { desc = "Trigger linting for current file" })
+ end,
+}
diff --git a/.config/nvim-lazy/lua/plugins/everpuccin.lua.bkp b/.config/nvim-lazy/lua/plugins/everpuccin.lua.bkp
new file mode 100644
index 0000000..876c20a
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/everpuccin.lua.bkp
@@ -0,0 +1,330 @@
+return {
+ "catppuccin/nvim",
+ name = "catppuccin",
+ lazy = false,
+ priority = 1000,
+ config = function()
+ require("catppuccin").setup({
+ background = {
+ light = "latte",
+ dark = "mocha",
+ },
+ color_overrides = {
+ macchiato = {
+ rosewater = "#ef958f",
+ flamingo = "#ef958f",
+ red = "#f16e65",
+ maroon = "#f16e65",
+ pink = "#ebadd6",
+ mauve = "#e28dc6",
+ peach = "#ef944d",
+ yellow = "#efbe71",
+ green = "#7dc97d",
+ teal = "#a4daa4",
+ sky = "#7dc9a3",
+ sapphire = "#abd4bf",
+ blue = "#b0d4e8",
+ lavender = "#72b4d6",
+ text = "#F9EEE5",
+ subtext1 = "#E3DAC9",
+ subtext0 = "#D8CCB4",
+ overlay2 = "#B6B69A",
+ overlay1 = "#999C8B",
+ overlay0 = "#878E7A",
+ surface2 = "#6B746E",
+ surface1 = "#585F5A",
+ surface0 = "#3A3F3C",
+ crust = "#272A28",
+ mantle = "#1D1F1E",
+ base = "#131414",
+ none = "#0f0f0f",
+ },
+ },
+ transparent_background = true,
+ show_end_of_buffer = false,
+ integration_default = false,
+ integrations = {
+ barbecue = { dim_dirname = true, bold_basename = true, dim_context = false, alt_background = false },
+ cmp = true,
+ gitsigns = true,
+ hop = true,
+ illuminate = { enabled = true },
+ native_lsp = { enabled = true, inlay_hints = { background = true } },
+ neogit = true,
+ neotree = true,
+ semantic_tokens = true,
+ treesitter = true,
+ treesitter_context = true,
+ vimwiki = true,
+ which_key = true,
+ },
+ highlight_overrides = {
+ all = function(colors)
+ return {
+ CmpItemMenu = { fg = colors.surface2 },
+ CursorLineNr = { fg = colors.text },
+ FloatBorder = { bg = colors.base, fg = colors.surface0 },
+ GitSignsChange = { fg = colors.peach },
+ LineNr = { fg = colors.overlay0 },
+ LspInfoBorder = { link = "FloatBorder" },
+ NeoTreeDirectoryIcon = { fg = colors.subtext1 },
+ NeoTreeDirectoryName = { fg = colors.subtext1 },
+ NeoTreeFloatBorder = { bg = colors.mantle, fg = colors.mantle },
+ -- NeoTreeFloatBorder = { bg = "None" },
+ NeoTreeGitConflict = { fg = colors.red },
+ NeoTreeGitDeleted = { fg = colors.red },
+ NeoTreeGitIgnored = { fg = colors.overlay0 },
+ NeoTreeGitModified = { fg = colors.peach },
+ NeoTreeGitStaged = { fg = colors.green },
+ NeoTreeGitUnstaged = { fg = colors.red },
+ NeoTreeGitUntracked = { fg = colors.green },
+ NeoTreeIndent = { fg = colors.surface1 },
+ NeoTreeNormal = { bg = colors.mantle },
+ NeoTreeNormalNC = { bg = colors.mantle },
+ NeoTreeRootName = { fg = colors.subtext1, style = { "bold" } },
+ NeoTreeTabActive = { fg = colors.text, bg = colors.mantle },
+ NeoTreeTabInactive = { fg = colors.surface2, bg = colors.crust },
+ NeoTreeTabSeparatorActive = { fg = colors.mantle, bg = colors.mantle },
+ NeoTreeTabSeparatorInactive = { fg = colors.crust, bg = colors.crust },
+ NeoTreeWinSeparator = { fg = colors.base, bg = colors.base },
+ NormalFloat = { bg = colors.base },
+ Pmenu = { bg = colors.mantle, fg = "" },
+ -- telescope prompt
+ TelescopePromptTitle = { fg = colors.mantle, bg = "#39fd9c", style = { "bold" } },
+ TelescopePromptCounter = { fg = colors.red, style = { "bold" } },
+ TelescopePromptBorder = { bg = colors.base },
+ -- telescope results
+ TelescopeResultsTitle = { link = "TelescopePromptTitle" },
+ TelescopeResultsBorder = { link = "TelescopePromptBorder" },
+ -- telescope preview
+ TelescopePreviewTitle = { link = "TelescopePromptTitle" },
+ TelescopePreviewBorder = { link = "TelescopePromptBorder" },
+ VertSplit = { bg = colors.base, fg = colors.surface0 },
+ WhichKeyFloat = { bg = colors.mantle },
+ YankHighlight = { bg = colors.surface2 },
+ FidgetTask = { fg = colors.subtext2 },
+ FidgetTitle = { fg = colors.peach },
+
+ IblIndent = { fg = colors.surface0 },
+ IblScope = { fg = colors.overlay0 },
+
+ Boolean = { fg = colors.mauve },
+ Number = { fg = colors.mauve },
+ Float = { fg = colors.mauve },
+
+ PreProc = { fg = colors.mauve },
+ PreCondit = { fg = colors.mauve },
+ Include = { fg = colors.mauve },
+ Define = { fg = colors.mauve },
+ Conditional = { fg = colors.red },
+ Repeat = { fg = colors.red },
+ Keyword = { fg = colors.red },
+ Typedef = { fg = colors.red },
+ Exception = { fg = colors.red },
+ Statement = { fg = colors.red },
+
+ Error = { fg = colors.red },
+ StorageClass = { fg = colors.peach },
+ Tag = { fg = colors.peach },
+ Label = { fg = colors.peach },
+ Structure = { fg = colors.peach },
+ Operator = { fg = colors.peach },
+ Title = { fg = colors.peach },
+ Special = { fg = colors.yellow },
+ SpecialChar = { fg = colors.yellow },
+ Type = { fg = colors.yellow, style = { "bold" } },
+ Function = { fg = colors.green, style = { "bold" } },
+ Delimiter = { fg = colors.subtext2 },
+ Ignore = { fg = colors.subtext2 },
+ Macro = { fg = colors.teal },
+
+ TSAnnotation = { fg = colors.mauve },
+ TSAttribute = { fg = colors.mauve },
+ TSBoolean = { fg = colors.mauve },
+ TSCharacter = { fg = colors.teal },
+ TSCharacterSpecial = { link = "SpecialChar" },
+ TSComment = { link = "Comment" },
+ TSConditional = { fg = colors.red },
+ TSConstBuiltin = { fg = colors.mauve },
+ TSConstMacro = { fg = colors.mauve },
+ TSConstant = { fg = colors.text },
+ TSConstructor = { fg = colors.green },
+ TSDebug = { link = "Debug" },
+ TSDefine = { link = "Define" },
+ TSEnvironment = { link = "Macro" },
+ TSEnvironmentName = { link = "Type" },
+ TSError = { link = "Error" },
+ TSException = { fg = colors.red },
+ TSField = { fg = colors.blue },
+ TSFloat = { fg = colors.mauve },
+ TSFuncBuiltin = { fg = colors.green },
+ TSFuncMacro = { fg = colors.green },
+ TSFunction = { fg = colors.green },
+ TSFunctionCall = { fg = colors.lavender },
+ TSInclude = { fg = colors.red },
+ TSKeyword = { fg = colors.red },
+ TSKeywordFunction = { fg = colors.red },
+ TSKeywordOperator = { fg = colors.peach },
+ TSKeywordReturn = { fg = colors.red },
+ TSLabel = { fg = colors.peach },
+ TSLiteral = { link = "String" },
+ TSMath = { fg = colors.blue },
+ TSMethod = { fg = colors.green },
+ TSMethodCall = { fg = colors.green },
+ TSNamespace = { fg = colors.yellow },
+ TSNone = { fg = colors.text },
+ TSNumber = { fg = colors.mauve },
+ TSOperator = { fg = colors.peach },
+ TSParameter = { fg = colors.text },
+ TSParameterReference = { fg = colors.text },
+ TSPreProc = { link = "PreProc" },
+ TSProperty = { fg = colors.blue },
+ TSPunctBracket = { fg = colors.text },
+ TSPunctDelimiter = { link = "Delimiter" },
+ TSPunctSpecial = { fg = colors.blue },
+ TSRepeat = { fg = colors.red },
+ TSStorageClass = { fg = colors.peach },
+ TSStorageClassLifetime = { fg = colors.peach },
+ TSStrike = { fg = colors.subtext2 },
+ TSString = { fg = colors.green },
+ TSStringEscape = { fg = colors.mauve },
+ TSStringRegex = { fg = colors.green },
+ TSStringSpecial = { link = "SpecialChar" },
+ TSSymbol = { fg = colors.text },
+ TSTag = { fg = colors.peach },
+ TSTagAttribute = { fg = colors.green },
+ TSTagDelimiter = { fg = colors.green },
+ TSText = { fg = colors.green },
+ TSTextReference = { link = "Constant" },
+ TSTitle = { link = "Title" },
+ TSTodo = { link = "Todo" },
+ TSType = { fg = colors.yellow, style = { "bold" } },
+ TSTypeBuiltin = { fg = colors.yellow, style = { "bold" } },
+ TSTypeDefinition = { fg = colors.yellow, style = { "bold" } },
+ TSTypeQualifier = { fg = colors.peach, style = { "bold" } },
+ TSURI = { fg = colors.blue },
+ TSVariable = { fg = colors.text },
+ TSVariableBuiltin = { fg = colors.mauve },
+
+ ["@annotation"] = { link = "TSAnnotation" },
+ ["@attribute"] = { link = "TSAttribute" },
+ ["@boolean"] = { link = "TSBoolean" },
+ ["@character"] = { link = "TSCharacter" },
+ ["@character.special"] = { link = "TSCharacterSpecial" },
+ ["@comment"] = { link = "TSComment" },
+ ["@conceal"] = { link = "Grey" },
+ ["@conditional"] = { link = "TSConditional" },
+ ["@constant"] = { link = "TSConstant" },
+ ["@constant.builtin"] = { link = "TSConstBuiltin" },
+ ["@constant.macro"] = { link = "TSConstMacro" },
+ ["@constructor"] = { link = "TSConstructor" },
+ ["@debug"] = { link = "TSDebug" },
+ ["@define"] = { link = "TSDefine" },
+ ["@error"] = { link = "TSError" },
+ ["@exception"] = { link = "TSException" },
+ ["@field"] = { link = "TSField" },
+ ["@float"] = { link = "TSFloat" },
+ ["@function"] = { link = "TSFunction" },
+ ["@function.builtin"] = { link = "TSFuncBuiltin" },
+ ["@function.call"] = { link = "TSFunctionCall" },
+ ["@function.macro"] = { link = "TSFuncMacro" },
+ ["@include"] = { link = "TSInclude" },
+ ["@keyword"] = { link = "TSKeyword" },
+ ["@keyword.function"] = { link = "TSKeywordFunction" },
+ ["@keyword.operator"] = { link = "TSKeywordOperator" },
+ ["@keyword.return"] = { link = "TSKeywordReturn" },
+ ["@label"] = { link = "TSLabel" },
+ ["@math"] = { link = "TSMath" },
+ ["@method"] = { link = "TSMethod" },
+ ["@method.call"] = { link = "TSMethodCall" },
+ ["@namespace"] = { link = "TSNamespace" },
+ ["@none"] = { link = "TSNone" },
+ ["@number"] = { link = "TSNumber" },
+ ["@operator"] = { link = "TSOperator" },
+ ["@parameter"] = { link = "TSParameter" },
+ ["@parameter.reference"] = { link = "TSParameterReference" },
+ ["@preproc"] = { link = "TSPreProc" },
+ ["@property"] = { link = "TSProperty" },
+ ["@punctuation.bracket"] = { link = "TSPunctBracket" },
+ ["@punctuation.delimiter"] = { link = "TSPunctDelimiter" },
+ ["@punctuation.special"] = { link = "TSPunctSpecial" },
+ ["@repeat"] = { link = "TSRepeat" },
+ ["@storageclass"] = { link = "TSStorageClass" },
+ ["@storageclass.lifetime"] = { link = "TSStorageClassLifetime" },
+ ["@strike"] = { link = "TSStrike" },
+ ["@string"] = { link = "TSString" },
+ ["@string.escape"] = { link = "TSStringEscape" },
+ ["@string.regex"] = { link = "TSStringRegex" },
+ ["@string.special"] = { link = "TSStringSpecial" },
+ ["@symbol"] = { link = "TSSymbol" },
+ ["@tag"] = { link = "TSTag" },
+ ["@tag.attribute"] = { link = "TSTagAttribute" },
+ ["@tag.delimiter"] = { link = "TSTagDelimiter" },
+ ["@text"] = { link = "TSText" },
+ ["@text.danger"] = { link = "TSDanger" },
+ ["@text.diff.add"] = { link = "diffAdded" },
+ ["@text.diff.delete"] = { link = "diffRemoved" },
+ ["@text.emphasis"] = { link = "TSEmphasis" },
+ ["@text.environment"] = { link = "TSEnvironment" },
+ ["@text.environment.name"] = { link = "TSEnvironmentName" },
+ ["@text.literal"] = { link = "TSLiteral" },
+ ["@text.math"] = { link = "TSMath" },
+ ["@text.note"] = { link = "TSNote" },
+ ["@text.reference"] = { link = "TSTextReference" },
+ ["@text.strike"] = { link = "TSStrike" },
+ ["@text.strong"] = { link = "TSStrong" },
+ ["@text.title"] = { link = "TSTitle" },
+ ["@text.todo"] = { link = "TSTodo" },
+ ["@text.todo.checked"] = { link = "Green" },
+ ["@text.todo.unchecked"] = { link = "Ignore" },
+ ["@text.underline"] = { link = "TSUnderline" },
+ ["@text.uri"] = { link = "TSURI" },
+ ["@text.warning"] = { link = "TSWarning" },
+ ["@todo"] = { link = "TSTodo" },
+ ["@type"] = { link = "TSType" },
+ ["@type.builtin"] = { link = "TSTypeBuiltin" },
+ ["@type.definition"] = { link = "TSTypeDefinition" },
+ ["@type.qualifier"] = { link = "TSTypeQualifier" },
+ ["@uri"] = { link = "TSURI" },
+ ["@variable"] = { link = "TSVariable" },
+ ["@variable.builtin"] = { link = "TSVariableBuiltin" },
+
+ ["@lsp.type.class"] = { link = "TSType" },
+ ["@lsp.type.comment"] = { link = "TSComment" },
+ ["@lsp.type.decorator"] = { link = "TSFunction" },
+ ["@lsp.type.enum"] = { link = "TSType" },
+ ["@lsp.type.enumMember"] = { link = "TSProperty" },
+ ["@lsp.type.events"] = { link = "TSLabel" },
+ ["@lsp.type.function"] = { link = "TSFunction" },
+ ["@lsp.type.interface"] = { link = "TSType" },
+ ["@lsp.type.keyword"] = { link = "TSKeyword" },
+ ["@lsp.type.macro"] = { link = "TSConstMacro" },
+ ["@lsp.type.method"] = { link = "TSMethod" },
+ ["@lsp.type.modifier"] = { link = "TSTypeQualifier" },
+ ["@lsp.type.namespace"] = { link = "TSNamespace" },
+ ["@lsp.type.number"] = { link = "TSNumber" },
+ ["@lsp.type.operator"] = { link = "TSOperator" },
+ ["@lsp.type.parameter"] = { link = "TSParameter" },
+ ["@lsp.type.property"] = { link = "TSProperty" },
+ ["@lsp.type.regexp"] = { link = "TSStringRegex" },
+ ["@lsp.type.string"] = { link = "TSString" },
+ ["@lsp.type.struct"] = { link = "TSType" },
+ ["@lsp.type.type"] = { link = "TSType" },
+ ["@lsp.type.typeParameter"] = { link = "TSTypeDefinition" },
+ ["@lsp.type.variable"] = { link = "TSVariable" },
+ }
+ end,
+ latte = function(colors)
+ return {
+ IblIndent = { fg = colors.mantle },
+ IblScope = { fg = colors.surface1 },
+
+ LineNr = { fg = colors.surface1 },
+ }
+ end,
+ },
+ })
+
+ vim.api.nvim_command("colorscheme catppuccin-macchiato")
+ end,
+}
diff --git a/.config/nvim-lazy/lua/plugins/harpoon.lua b/.config/nvim-lazy/lua/plugins/harpoon.lua
new file mode 100755
index 0000000..407b7f0
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/harpoon.lua
@@ -0,0 +1,26 @@
+return {
+ "thePrimeagen/harpoon",
+ enabled = true,
+ branch = "harpoon2",
+ dependencies = {
+ "nvim-lua/plenary.nvim",
+ },
+
+ config = function()
+ local harpoon = require("harpoon")
+
+ harpoon:setup({
+ global_settings = {
+ save_on_toggle = true,
+ save_on_change = true,
+ },
+ })
+
+ vim.keymap.set("n", "<leader>ad", function()
+ harpoon:list():add()
+ end, { desc = "Harpoon add file" })
+ vim.keymap.set("n", "<C-e>", function()
+ harpoon.ui:toggle_quick_menu(harpoon:list())
+ end)
+ end,
+}
diff --git a/.config/nvim-lazy/lua/plugins/highlight-colors.lua b/.config/nvim-lazy/lua/plugins/highlight-colors.lua
new file mode 100755
index 0000000..5c97573
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/highlight-colors.lua
@@ -0,0 +1,8 @@
+return {
+ "brenoprata10/nvim-highlight-colors",
+ config = function()
+ vim.opt.termguicolors = true
+
+ require("nvim-highlight-colors").setup({})
+ end,
+}
diff --git a/.config/nvim-lazy/lua/plugins/lspconfig.lua b/.config/nvim-lazy/lua/plugins/lspconfig.lua
new file mode 100755
index 0000000..bd748fc
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/lspconfig.lua
@@ -0,0 +1,35 @@
+return {
+ "neovim/nvim-lspconfig",
+ event = { "BufReadPre", "BufNewFile" },
+ dependencies = {
+ "hrsh7th/cmp-nvim-lsp",
+ { "antosha417/nvim-lsp-file-operations", config = true },
+ },
+ config = function()
+ vim.diagnostic.config({
+ update_in_insert = true,
+ float = {
+ focusable = false,
+ style = "minimal",
+ border = "rounded",
+ source = "always",
+ header = "",
+ prefix = "",
+ }
+ })
+
+ vim.diagnostic.config({ virtual_text = true })
+
+ local lsp_configurations = require('lspconfig.configs')
+
+ local capabilities = vim.tbl_deep_extend(
+ "force",
+ {},
+ vim.lsp.protocol.make_client_capabilities(),
+ require('cmp_nvim_lsp').default_capabilities()
+ )
+ end,
+ vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts),
+ vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts),
+ vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
+}
diff --git a/.config/nvim-lazy/lua/plugins/lualine.lua b/.config/nvim-lazy/lua/plugins/lualine.lua
new file mode 100755
index 0000000..34ec658
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/lualine.lua
@@ -0,0 +1,12 @@
+return {
+ 'nvim-lualine/lualine.nvim',
+ dependencies = { 'nvim-tree/nvim-web-devicons' },
+ config = function()
+ require('lualine').setup {
+ options = {
+ icons_enabled = true,
+ theme = 'auto',
+ }
+ }
+ end,
+}
diff --git a/.config/nvim-lazy/lua/plugins/markdown.lua b/.config/nvim-lazy/lua/plugins/markdown.lua
new file mode 100755
index 0000000..01af860
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/markdown.lua
@@ -0,0 +1,9 @@
+return {
+ "MeanderingProgrammer/render-markdown.nvim",
+ dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-mini/mini.nvim" }, -- if you use the mini.nvim suite
+ -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
+ -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
+ ---@module 'render-markdown'
+ ---@type render.md.UserConfig
+ opts = {},
+}
diff --git a/.config/nvim-lazy/lua/plugins/mason-lspconfig.lua b/.config/nvim-lazy/lua/plugins/mason-lspconfig.lua
new file mode 100644
index 0000000..aed1bd5
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/mason-lspconfig.lua
@@ -0,0 +1,8 @@
+return {
+ "mason-org/mason-lspconfig.nvim",
+ opts = {},
+ dependencies = {
+ { "mason-org/mason.nvim", opts = {} },
+ "neovim/nvim-lspconfig",
+ },
+}
diff --git a/.config/nvim-lazy/lua/plugins/mason.lua b/.config/nvim-lazy/lua/plugins/mason.lua
new file mode 100644
index 0000000..9188cda
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/mason.lua
@@ -0,0 +1,13 @@
+return{
+ "mason-org/mason.nvim",
+ opts = {
+ ui = {
+ icons = {
+ package_installed = "✓",
+ package_pending = "➜",
+ package_uninstalled = "✗"
+ }
+ }
+ }
+}
+
diff --git a/.config/nvim-lazy/lua/plugins/nim.lua b/.config/nvim-lazy/lua/plugins/nim.lua
new file mode 100644
index 0000000..d079f68
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/nim.lua
@@ -0,0 +1,3 @@
+return{
+ "alaviss/nim.nvim"
+}
diff --git a/.config/nvim-lazy/lua/plugins/oil.lua b/.config/nvim-lazy/lua/plugins/oil.lua
new file mode 100644
index 0000000..5d153fd
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/oil.lua
@@ -0,0 +1,20 @@
+return {
+ "stevearc/oil.nvim",
+ dependencies = { "nvim-tree/nvim-web-devicons" },
+ config = function()
+ require("oil").setup({
+ default_file_explorer = true,
+ columns = {},
+ keymaps = {
+ ["q"] = "actions.close",
+ },
+ delete_to_trash = true,
+ view_options = {
+ show_hidden = true,
+ },
+ skip_confirm_for_simple_edits = true,
+ })
+
+ vim.keymap.set("n", "<leader>fm", "<CMD>Oil<CR>", { desc = "Open parent directory" })
+ end,
+}
diff --git a/.config/nvim-lazy/lua/plugins/orgmode.lua b/.config/nvim-lazy/lua/plugins/orgmode.lua
new file mode 100755
index 0000000..0945852
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/orgmode.lua
@@ -0,0 +1,17 @@
+return {
+ {
+ "nvim-orgmode/orgmode",
+ config = function()
+ require("orgmode").setup({
+ org_agenda_files = "~/orgfiles/**/*",
+ org_default_notes_file = "~/orgfiles/refile.org",
+ })
+ end,
+ },
+ {
+ "akinsho/org-bullets.nvim",
+ config = function()
+ require("org-bullets").setup()
+ end,
+ },
+}
diff --git a/.config/nvim-lazy/lua/plugins/telescope.lua b/.config/nvim-lazy/lua/plugins/telescope.lua
new file mode 100755
index 0000000..99f1f5b
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/telescope.lua
@@ -0,0 +1,25 @@
+return {
+ {
+ "nvim-telescope/telescope.nvim",
+ tag = "0.1.8",
+ dependencies = { "nvim-lua/plenary.nvim" },
+ config = function()
+ local builtin = require("telescope.builtin")
+ vim.keymap.set("n", "<leader>fj", builtin.find_files, {})
+ vim.keymap.set("n", "<leader>fl", builtin.live_grep, {})
+ end,
+ },
+ {
+ "nvim-telescope/telescope-ui-select.nvim",
+ config = function()
+ require("telescope").setup({
+ extensions = {
+ ["ui-select"] = {
+ require("telescope.themes").get_dropdown({}),
+ },
+ },
+ })
+ require("telescope").load_extension("ui-select")
+ end,
+ },
+}
diff --git a/.config/nvim-lazy/lua/plugins/treesitter.lua b/.config/nvim-lazy/lua/plugins/treesitter.lua
new file mode 100755
index 0000000..90b57fb
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/treesitter.lua
@@ -0,0 +1,15 @@
+return {
+ "nvim-treesitter/nvim-treesitter",
+ branch = "master",
+ lazy = false,
+ build = ":TSUpdate",
+ config = function()
+ local config = require("lazy")
+ config.setup({
+ auto_install = true,
+ highlight = { enable = true },
+ ensure_installed = { "v", "c", "lua", "vim", "markeown" },
+ indent = { enable = true },
+ })
+ end,
+}
diff --git a/.config/nvim-lazy/lua/plugins/trouble.lua b/.config/nvim-lazy/lua/plugins/trouble.lua
new file mode 100644
index 0000000..3741f30
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/trouble.lua
@@ -0,0 +1,37 @@
+return {
+ "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)",
+ },
+ {
+ "<leader>xX",
+ "<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
+ desc = "Buffer Diagnostics (Trouble)",
+ },
+ {
+ "<leader>cs",
+ "<cmd>Trouble symbols toggle focus=false<cr>",
+ desc = "Symbols (Trouble)",
+ },
+ {
+ "<leader>cl",
+ "<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
+ desc = "LSP Definitions / references / ... (Trouble)",
+ },
+ {
+ "<leader>xL",
+ "<cmd>Trouble loclist toggle<cr>",
+ desc = "Location List (Trouble)",
+ },
+ {
+ "<leader>xQ",
+ "<cmd>Trouble qflist toggle<cr>",
+ desc = "Quickfix List (Trouble)",
+ },
+ },
+}
diff --git a/.config/nvim-lazy/lua/plugins/undotree.lua b/.config/nvim-lazy/lua/plugins/undotree.lua
new file mode 100755
index 0000000..88a2038
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/undotree.lua
@@ -0,0 +1,8 @@
+return {
+ "jiaoshijie/undotree",
+ dependencies = "nvim-lua/plenary.nvim",
+ config = true,
+ keys = {
+ { "<leader>u", "<cmd>lua require('undotree').toggle()<cr>" },
+ },
+}
diff --git a/.config/nvim-lazy/lua/plugins/vlang.lua b/.config/nvim-lazy/lua/plugins/vlang.lua
new file mode 100644
index 0000000..8199b3c
--- /dev/null
+++ b/.config/nvim-lazy/lua/plugins/vlang.lua
@@ -0,0 +1,7 @@
+return {
+ 'neovim/nvim-lspconfig',
+ config = function()
+ require('lspconfig').vlang.setup({})
+ end,
+ 'ollykel/v-vim'
+}