diff options
Diffstat (limited to '.config/nvim-lazy')
26 files changed, 920 insertions, 0 deletions
diff --git a/.config/nvim-lazy/init.lua b/.config/nvim-lazy/init.lua new file mode 100644 index 0000000..c32ed4e --- /dev/null +++ b/.config/nvim-lazy/init.lua @@ -0,0 +1,4 @@ +require("config.keymaps") +require("config.options") +require("config.lazy") +require("caelus.init").colorscheme() diff --git a/.config/nvim-lazy/lazy-lock.json b/.config/nvim-lazy/lazy-lock.json new file mode 100644 index 0000000..9233f0e --- /dev/null +++ b/.config/nvim-lazy/lazy-lock.json @@ -0,0 +1,31 @@ +{ + "blink.cmp": { "branch": "main", "commit": "451168851e8e2466bc97ee3e026c3dcb9141ce07" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, + "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, + "harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" }, + "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, + "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "25f609e7fca78af7cede4f9fa3af8a94b1c4950b" }, + "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, + "mini.nvim": { "branch": "main", "commit": "3923662bf3d6ca49a9503f8d7196ea0450983e6a" }, + "nim.nvim": { "branch": "master", "commit": "9ee8fdc04ad3d7fcbd9679e0be3477543f17b9d9" }, + "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, + "nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, + "nvim-highlight-colors": { "branch": "main", "commit": "e2cb22089cc2358b2b995c09578224f142de6039" }, + "nvim-lint": { "branch": "master", "commit": "4b03656c09c1561f89b6aa0665c15d292ba9499d" }, + "nvim-lsp-file-operations": { "branch": "master", "commit": "b9c795d3973e8eec22706af14959bc60c579e771" }, + "nvim-lspconfig": { "branch": "master", "commit": "8e2084bf5e40c79c1f42210a6ef96a0a4793a763" }, + "nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" }, + "nvim-web-devicons": { "branch": "master", "commit": "d7462543c9e366c0d196c7f67a945eaaf5d99414" }, + "oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" }, + "org-bullets.nvim": { "branch": "main", "commit": "503fe053550879cc202086a40454e46a87c41ddb" }, + "orgmode": { "branch": "master", "commit": "1ab7b456020de8bdaed7d8135b5376a0b4419b11" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "render-markdown.nvim": { "branch": "main", "commit": "c7188a8f9d2953696b6303caccbf39c51fa2c1b1" }, + "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, + "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, + "undotree": { "branch": "main", "commit": "0e6d41d55ad147407e4ba00a292973de8db0b836" }, + "v-vim": { "branch": "master", "commit": "1dc1388bafb89072f8349dbd96f9462ae22237cb" } +} 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' +} |
