From e3f222487a57b2f3f995628630cd9ae65c3a210b Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Fri, 22 May 2026 17:06:16 -0500 Subject: new super fancy loader more akin to lazy.nvim --- lua/tjk/plugins/autoclose.lua | 7 +++++ lua/tjk/plugins/cmp.lua | 13 ++++++++ lua/tjk/plugins/colorizer.lua | 15 +++++++++ lua/tjk/plugins/colorscheme.lua | 67 +++++++++++++++++++++++++++++++++++++++++ lua/tjk/plugins/minitab.lua | 5 +++ lua/tjk/plugins/snacks.lua | 13 ++++++++ lua/tjk/plugins/treesitter.lua | 24 +++++++++++++++ lua/tjk/plugins/ui2.lua | 7 +++++ 8 files changed, 151 insertions(+) create mode 100644 lua/tjk/plugins/autoclose.lua create mode 100644 lua/tjk/plugins/cmp.lua create mode 100644 lua/tjk/plugins/colorizer.lua create mode 100644 lua/tjk/plugins/colorscheme.lua create mode 100644 lua/tjk/plugins/minitab.lua create mode 100644 lua/tjk/plugins/snacks.lua create mode 100644 lua/tjk/plugins/treesitter.lua create mode 100644 lua/tjk/plugins/ui2.lua (limited to 'lua/tjk/plugins') diff --git a/lua/tjk/plugins/autoclose.lua b/lua/tjk/plugins/autoclose.lua new file mode 100644 index 0000000..f356f89 --- /dev/null +++ b/lua/tjk/plugins/autoclose.lua @@ -0,0 +1,7 @@ +return { + "autoclose", + "https://github.com/m4xshen/autoclose.nvim", + setup = { + options = { pair_spaces = true }, + }, +} diff --git a/lua/tjk/plugins/cmp.lua b/lua/tjk/plugins/cmp.lua new file mode 100644 index 0000000..6c87867 --- /dev/null +++ b/lua/tjk/plugins/cmp.lua @@ -0,0 +1,13 @@ +-- TODO replace with native cmp +return { + "blink-cmp", + { src = "https://github.com/Saghen/blink.cmp", version = "v1" }, + setup = { + keymap = { + preset = "super-tab", + [""] = { "select_prev", "fallback" }, + [""] = { "select_next", "fallback" }, + }, + cmdline = { enabled = false }, + }, +} diff --git a/lua/tjk/plugins/colorizer.lua b/lua/tjk/plugins/colorizer.lua new file mode 100644 index 0000000..120fbb8 --- /dev/null +++ b/lua/tjk/plugins/colorizer.lua @@ -0,0 +1,15 @@ +return { + "colorizer", + "https://github.com/catgoose/nvim-colorizer.lua", + setup = { + lazy_load = true, + options = { + parsers = { + css = true, -- preset: enables names, hex, rgb, hsl, oklch, css_var + tailwind = { enable = true, update_names = true, lsp = true }, -- tailwind + lsp context + xterm = { enable = true }, -- xterm 256-color codes (#xNN, \e[38;5;NNNm) + xcolor = { enable = true }, -- LaTeX xcolor expressions (e.g. red!30) + }, + }, + }, +} diff --git a/lua/tjk/plugins/colorscheme.lua b/lua/tjk/plugins/colorscheme.lua new file mode 100644 index 0000000..4a3756d --- /dev/null +++ b/lua/tjk/plugins/colorscheme.lua @@ -0,0 +1,67 @@ +-- use another colorscheme if running as root +if os.getenv "USER" == "root" then + vim.cmd.colorscheme "koehler" + return +end + +return { + "gruvbox", + "https://github.com/ellisonleao/gruvbox.nvim", + setup = { + italic = { + strings = false, + emphasis = true, + comments = false, + operators = false, + folds = true, + }, + invert_selection = true, -- swap fg w/ bg on select + contrast = "hard", -- preferred theme variant + palette_overrides = { + light0 = "#ffffff", -- use white instead of the default off-white for text + light1 = "#ffffff", + dark2 = "#363636", -- darker whitespace characters + }, + overrides = { + CursorLine = { bg = "#282828" }, -- dark0 (non hard) + Directory = { link = "GruvboxGreenBold" }, + -- treesitter overrides (more similar to builtin python syntax highlighting) + -- treesitter selectors can be overridden per language using @selector.language + ["@variable"] = { link = "GruvboxFg0" }, + ["@punctuation.bracket"] = { link = "GruvboxFg0" }, + ["@punctuation.delimiter"] = { link = "GruvboxFg0" }, + ["@keyword.import"] = { link = "GruvboxBlue" }, + ["@function"] = { link = "GruvboxAqua" }, + ["@function.method"] = { link = "GruvboxAqua" }, + ["@function.method"] = { link = "GruvboxAqua" }, + ["@attribute.builtin"] = { link = "GruvboxGreenBold" }, + ["@attribute"] = { link = "GruvboxGreenBold" }, + ["@operator"] = { link = "GruvboxRed" }, + ["@variable.member"] = { link = "GruvboxFg0" }, + ["@variable.parameter"] = { link = "GruvboxFg0" }, + ["@function.call"] = { link = "GruvboxPurple" }, + ["@function.method.call"] = { link = "GruvboxPurple" }, + -- rainbow delimiters colors + RainbowDelimiterRed = { fg = "#ff4433" }, + RainbowDelimiterYellow = { fg = "#ffff22" }, + RainbowDelimiterBlue = { fg = "#66f3ff" }, + RainbowDelimiterOrange = { fg = "#ffaa00" }, + RainbowDelimiterGreen = { fg = "#99ff44" }, + RainbowDelimiterViolet = { fg = "#aa00ff" }, + RainbowDelimiterCyan = { fg = "#22ddff" }, + -- TODO italic string start / end + --["@string_start"] = { italic = true }, + --["@string_end"] = { italic = true }, + }, + }, + loadFn = function() + -- use dark gruvbox variant + vim.o.background = "dark" + + -- set colorscheme + vim.cmd.colorscheme "gruvbox" + + -- fix todo comment highlighting (here instead of theme overrides since this replaces the bg w/ default) + vim.api.nvim_set_hl(0, "Todo", { fg = "#ffffff", bold = true }) + end, +} diff --git a/lua/tjk/plugins/minitab.lua b/lua/tjk/plugins/minitab.lua new file mode 100644 index 0000000..cdc6052 --- /dev/null +++ b/lua/tjk/plugins/minitab.lua @@ -0,0 +1,5 @@ +return { + "minitab", + "https://git.tjkeller.xyz/minitab.nvim", + setup = true, +} diff --git a/lua/tjk/plugins/snacks.lua b/lua/tjk/plugins/snacks.lua new file mode 100644 index 0000000..8444595 --- /dev/null +++ b/lua/tjk/plugins/snacks.lua @@ -0,0 +1,13 @@ +return { + "snacks", + "https://github.com/folke/snacks.nvim", + setup = { + indent = { + enabled = true, + only_scope = true, + animate = { enabled = false }, + scope = { enabled = false }, + }, + quickfile = { enabled = true }, + }, +} diff --git a/lua/tjk/plugins/treesitter.lua b/lua/tjk/plugins/treesitter.lua new file mode 100644 index 0000000..d35107b --- /dev/null +++ b/lua/tjk/plugins/treesitter.lua @@ -0,0 +1,24 @@ +return { + "nvim-treesitter.configs", + "https://github.com/nvim-treesitter/nvim-treesitter", + setup = { + highlight = { enable = true, disable = { "yaml", "dockerfile" } }, + --indent = { enable = true }, -- FIXME + }, + dependents = { + { + "nvim-ts-autotag", + "https://github.com/windwp/nvim-ts-autotag", + setup = { + per_filetype = { ["html"] = { enable_close = true } }, + }, + }, + { + "rainbow-delimiters.setup", + "https://github.com/HiPhish/rainbow-delimiters.nvim" + }, + }, + loadFn = function() + vim.g._ts_force_sync_parsing = true -- #32660 + end, +} diff --git a/lua/tjk/plugins/ui2.lua b/lua/tjk/plugins/ui2.lua new file mode 100644 index 0000000..5d1dc9e --- /dev/null +++ b/lua/tjk/plugins/ui2.lua @@ -0,0 +1,7 @@ +return { + "vim._core.ui2", + source = nil, + setup = { + enable = true, + }, +} -- cgit v1.2.3