diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index d21cc98..41daa47 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,80 +1,99 @@ return { - { - "jesseleite/nvim-noirbuddy", - as = "noirbuddy", - lazy = false, - dependencies = { - { "tjdevries/colorbuddy.nvim" }, - }, - }, + { + "jesseleite/nvim-noirbuddy", + as = "noirbuddy", + lazy = false, + dependencies = { + { "tjdevries/colorbuddy.nvim" }, + }, + }, - { - "LazyVim/LazyVim", - opts = { - -- colorscheme = "noirbuddy", - colorscheme = function() - require("noirbuddy").setup({ - preset = "slate", - styles = { - italic = true, - bold = true, - underline = true, - undercurl = true, - }, - colors = { - primary = "#FFECB3", - secondary = "#B0BEC5", - -- background = "#1d2229", - background = "#0d1219", - }, - }) + { + "LazyVim/LazyVim", + opts = { + -- colorscheme = "noirbuddy", + colorscheme = function() + require("noirbuddy").setup({ + preset = "slate", + styles = { + italic = true, + bold = true, + underline = true, + undercurl = true, + }, + colors = { + primary = "#FFECB3", + secondary = "#B0BEC5", + -- background = "#1d2229", + background = "#0d1219", + }, + }) - local Color, colors, Group, groups, styles = require("colorbuddy").setup() - Color.new("string", "#D7CCC8") - Color.new("symbol", "#ECEFF1") - -- - Color.new("comment", "#E57373", nil, styles.italic) - Color.new("hlargs", "#FFF8E1") + local Color, colors, Group, groups, styles = require("colorbuddy").setup() + Color.new("string", "#D7CCC8") + Color.new("symbol", "#ECEFF1") + -- + Color.new("comment", "#E57373", nil, styles.italic) + Color.new("hlargs", "#FFF8E1") - Color.new("illuminate_bg", "#112210") - Color.new("illuminate_fg", "#66FFEE") + Color.new("illuminate_bg", "#112210") + Color.new("illuminate_fg", "#66FFEE") - -- Color.new("search_bg", "#554411") - -- Color.new("search_fg", "#FFF0C0") - -- - Color.new("search_bg", "#223311") - Color.new("search_fg", "#CCFF33") + -- Color.new("search_bg", "#554411") + -- Color.new("search_fg", "#FFF0C0") + -- + Color.new("search_bg", "#223311") + Color.new("search_fg", "#CCFF33") - Group.new("TelescopeTitle", colors.primary) - Group.new("TelescopeBorder", colors.secondary) - Group.new("@comment", colors.comment, nil, styles.italic) - Group.new("@string", colors.string, nil, styles.italic) + Color.new("IndentBlanklineIndent5", "#E06C75", styles.nocombine) + Color.new("IndentBlanklineIndent6", "#E5C07B", styles.nocombine) + Color.new("IndentBlanklineIndent3", "#98C379", styles.nocombine) + Color.new("IndentBlanklineIndent4", "#56B6C2", styles.nocombine) + Color.new("IndentBlanklineIndent1", "#61AFEF", styles.nocombine) + Color.new("IndentBlanklineIndent2", "#C678DD", styles.nocombine) + Group.new("IndentBlanklineIndent1", colors.IndentBlanklineIndent1:dark(0.2)) + Group.new("IndentBlanklineIndent2", colors.IndentBlanklineIndent2:dark(0.2)) + Group.new("IndentBlanklineIndent3", colors.IndentBlanklineIndent3:dark(0.2)) + Group.new("IndentBlanklineIndent4", colors.IndentBlanklineIndent4:dark(0.2)) + Group.new("IndentBlanklineIndent5", colors.IndentBlanklineIndent5:dark(0.2)) + Group.new("IndentBlanklineIndent6", colors.IndentBlanklineIndent6:dark(0.2)) - Group.new("@keyword", colors.noir_2) - Group.new("@keyword.function", colors.noir_2) - Group.new("@keyword.return", colors.noir_1) + Color.new("IndentBlanklineContextChar", "#00AABB", styles.nocombine) + Group.new("IndentBlanklineContextChar", colors.IndentBlanklineContextChar) - Group.new("@operator", colors.noir_1) - Group.new("@keyword.operator", colors.noir_1) - -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) - Group.new("@type.builtin", colors.noir_2) + Color.new("MiniIndentscopeSymbol", "#57FAF0") + Group.new("MiniIndentscopeSymbol", colors.MiniIndentscopeSymbol) - Group.new("@variable", colors.symbol, nil, styles.italic) - Group.new("Hlargs", colors.hlargs, nil, styles.italic) + Group.new("TelescopeTitle", colors.primary) + Group.new("TelescopeBorder", colors.secondary) + Group.new("@comment", colors.comment, nil, styles.italic) + Group.new("@string", colors.string, nil, styles.italic) - Group.new("@function", colors.noir_1, nil, styles.bold) - Group.new("@method", colors.noir_1, nil, styles.bold) + Group.new("@keyword", colors.noir_2) + Group.new("@keyword.function", colors.noir_2) + Group.new("@keyword.return", colors.noir_1) - Group.new("@punctuation", colors.noir_4) - Group.new("@punctuation.bracket", colors.noir_4) - Group.new("@punctuation.delimiter", colors.noir_4) + Group.new("@operator", colors.noir_1) + Group.new("@keyword.operator", colors.noir_1) + -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) + Group.new("@type.builtin", colors.noir_2) - Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) + Group.new("@variable", colors.symbol, nil, styles.italic) + Group.new("Hlargs", colors.hlargs, nil, styles.italic) - Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) - Group.new("IncSearch", colors.search_fg, colors.search_bg) - end, - }, - }, + Group.new("@function", colors.noir_1, nil, styles.bold) + Group.new("@method", colors.noir_1, nil, styles.bold) + + Group.new("@punctuation", colors.noir_4) + Group.new("@punctuation.bracket", colors.noir_4) + Group.new("@punctuation.delimiter", colors.noir_4) + + Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) + + Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) + Group.new("IncSearch", colors.search_fg, colors.search_bg) + end, + }, + }, } diff --git a/.config/nvim/lua/plugins/example.lua b/.config/nvim/lua/plugins/example.lua deleted file mode 100644 index 78a3370..0000000 --- a/.config/nvim/lua/plugins/example.lua +++ /dev/null @@ -1,266 +0,0 @@ --- since this is just an example spec, don't actually load anything here and return an empty spec --- stylua: ignore -if true then return {} end - --- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim --- --- In your plugin files, you can: --- * add extra plugins --- * disable/enabled LazyVim plugins --- * override the configuration of LazyVim plugins -return { - -- add gruvbox - { "ellisonleao/gruvbox.nvim" }, - - -- Configure LazyVim to load gruvbox - { - "LazyVim/LazyVim", - opts = { - colorscheme = "gruvbox", - }, - }, - - -- change trouble config - { - "folke/trouble.nvim", - -- opts will be merged with the parent spec - opts = { use_diagnostic_signs = true }, - }, - - -- disable trouble - { "folke/trouble.nvim", enabled = false }, - - -- add symbols-outline - { - "simrat39/symbols-outline.nvim", - cmd = "SymbolsOutline", - keys = { { "cs", "SymbolsOutline", desc = "Symbols Outline" } }, - config = true, - }, - - -- override nvim-cmp and add cmp-emoji - { - "hrsh7th/nvim-cmp", - dependencies = { "hrsh7th/cmp-emoji" }, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - local cmp = require("cmp") - opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) - end, - }, - - -- change some telescope options and a keymap to browse plugin files - { - "nvim-telescope/telescope.nvim", - keys = { - -- add a keymap to browse plugin files - -- stylua: ignore - { - "fp", - function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, - desc = "Find Plugin File", - }, - }, - -- change some options - opts = { - defaults = { - layout_strategy = "horizontal", - layout_config = { prompt_position = "top" }, - sorting_strategy = "ascending", - winblend = 0, - }, - }, - }, - - -- add telescope-fzf-native - { - "telescope.nvim", - dependencies = { - "nvim-telescope/telescope-fzf-native.nvim", - build = "make", - config = function() - require("telescope").load_extension("fzf") - end, - }, - }, - - -- add pyright to lspconfig - { - "neovim/nvim-lspconfig", - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - servers = { - -- pyright will be automatically installed with mason and loaded with lspconfig - pyright = {}, - }, - }, - }, - - -- add tsserver and setup with typescript.nvim instead of lspconfig - { - "neovim/nvim-lspconfig", - dependencies = { - "jose-elias-alvarez/typescript.nvim", - init = function() - require("lazyvim.util").on_attach(function(_, buffer) - -- stylua: ignore - vim.keymap.set( "n", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) - vim.keymap.set("n", "cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) - end) - end, - }, - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - servers = { - -- tsserver will be automatically installed with mason and loaded with lspconfig - tsserver = {}, - }, - -- you can do any additional lsp server setup here - -- return true if you don't want this server to be setup with lspconfig - ---@type table - setup = { - -- example to setup with typescript.nvim - tsserver = function(_, opts) - require("typescript").setup({ server = opts }) - return true - end, - -- Specify * to use this function as a fallback for any server - -- ["*"] = function(server, opts) end, - }, - }, - }, - - -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, - -- treesitter, mason and typescript.nvim. So instead of the above, you can use: - { import = "lazyvim.plugins.extras.lang.typescript" }, - - -- add more treesitter parsers - { - "nvim-treesitter/nvim-treesitter", - opts = { - ensure_installed = { - "bash", - "html", - "javascript", - "json", - "lua", - "markdown", - "markdown_inline", - "python", - "query", - "regex", - "tsx", - "typescript", - "vim", - "yaml", - }, - }, - }, - - -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above - -- would overwrite `ensure_installed` with the new value. - -- If you'd rather extend the default config, use the code below instead: - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - -- add tsx and treesitter - vim.list_extend(opts.ensure_installed, { - "tsx", - "typescript", - }) - end, - }, - - -- the opts function can also be used to change the default opts: - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function(_, opts) - table.insert(opts.sections.lualine_x, "😄") - end, - }, - - -- or you can return new options to override all the defaults - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function() - return { - --[[add your custom lualine config here]] - } - end, - }, - - -- use mini.starter instead of alpha - { import = "lazyvim.plugins.extras.ui.mini-starter" }, - - -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc - { import = "lazyvim.plugins.extras.lang.json" }, - - -- add any tools you want to have installed below - { - "williamboman/mason.nvim", - opts = { - ensure_installed = { - "stylua", - "shellcheck", - "shfmt", - "flake8", - }, - }, - }, - - -- Use for completion and snippets (supertab) - -- first: disable default and behavior in LuaSnip - { - "L3MON4D3/LuaSnip", - keys = function() - return {} - end, - }, - -- then: setup supertab in cmp - { - "hrsh7th/nvim-cmp", - dependencies = { - "hrsh7th/cmp-emoji", - }, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - local has_words_before = function() - unpack = unpack or table.unpack - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil - end - - local luasnip = require("luasnip") - local cmp = require("cmp") - - opts.mapping = vim.tbl_extend("force", opts.mapping, { - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() - -- this way you will only jump inside the snippet region - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif has_words_before() then - cmp.complete() - else - fallback() - end - end, { "i", "s" }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { "i", "s" }), - }) - end, - }, -} diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua new file mode 100644 index 0000000..8dacbc2 --- /dev/null +++ b/.config/nvim/lua/plugins/ui.lua @@ -0,0 +1,19 @@ +return { + { + "lukas-reineke/indent-blankline.nvim", + opts = { + char = "┊", + char_highlight_list = { + "IndentBlanklineIndent1", + "IndentBlanklineIndent2", + "IndentBlanklineIndent3", + "IndentBlanklineIndent4", + "IndentBlanklineIndent5", + "IndentBlanklineIndent6", + }, + show_current_context = true, + show_current_context_start = false, + context_char = "│", + }, + }, +}