diff options
Diffstat (limited to 'lua/tjk/plugins')
-rw-r--r-- | lua/tjk/plugins/autoclose.lua | 9 | ||||
-rw-r--r-- | lua/tjk/plugins/cmp.lua | 26 | ||||
-rw-r--r-- | lua/tjk/plugins/colorizer.lua | 12 | ||||
-rw-r--r-- | lua/tjk/plugins/colorscheme.lua | 81 | ||||
-rw-r--r-- | lua/tjk/plugins/manageself.lua | 3 | ||||
-rw-r--r-- | lua/tjk/plugins/treesitter.lua | 32 |
6 files changed, 163 insertions, 0 deletions
diff --git a/lua/tjk/plugins/autoclose.lua b/lua/tjk/plugins/autoclose.lua new file mode 100644 index 0000000..32afa9f --- /dev/null +++ b/lua/tjk/plugins/autoclose.lua @@ -0,0 +1,9 @@ +return { + "m4xshen/autoclose.nvim", -- autoclose parenthesis + opts = { + options = { + pair_spaces = true, + }, + }, + config = true, +} diff --git a/lua/tjk/plugins/cmp.lua b/lua/tjk/plugins/cmp.lua new file mode 100644 index 0000000..1a3cf2f --- /dev/null +++ b/lua/tjk/plugins/cmp.lua @@ -0,0 +1,26 @@ +return { + "hrsh7th/nvim-cmp", + dependencies = { + "hrsh7th/cmp-path", + "hrsh7th/cmp-buffer", + "ray-x/cmp-treesitter", + }, + config = function() + local cmp = require("cmp") + cmp.setup { + sources = { + { name = "path" }, + { name = "buffer" }, + { name = "treesitter" }, + }, + mapping = cmp.mapping.preset.insert { + --['<C-b>'] = cmp.mapping.scroll_docs(-4), + --['<C-f>'] = cmp.mapping.scroll_docs(4), + --['<C-Space>'] = cmp.mapping.complete(), + --['<C-e>'] = cmp.mapping.abort(), + --['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + ['<Tab>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + }, + } + end +} diff --git a/lua/tjk/plugins/colorizer.lua b/lua/tjk/plugins/colorizer.lua new file mode 100644 index 0000000..0d41dbc --- /dev/null +++ b/lua/tjk/plugins/colorizer.lua @@ -0,0 +1,12 @@ +return { + "norcalli/nvim-colorizer.lua", -- css color highlighter + config = function() + local colorizer = require("colorizer") + colorizer.setup { + "css", + "sass", + "javascript", + "html", + } + end +} diff --git a/lua/tjk/plugins/colorscheme.lua b/lua/tjk/plugins/colorscheme.lua new file mode 100644 index 0000000..2307097 --- /dev/null +++ b/lua/tjk/plugins/colorscheme.lua @@ -0,0 +1,81 @@ +local root_mode = os.getenv "USER" == "root" +local tty_mode = os.getenv "DISPLAY" == nil + +-- load condition +local enable_gruvbox = not root_mode and not tty_mode + +-- use another colorscheme if running as root +if root_mode then + vim.cmd.colorscheme "koehler" +end + +-- disable termguicolors when in a tty +if tty_mode then + vim.opt.termguicolors = false +end + +return { + "ellisonleao/gruvbox.nvim", + cond = enable_gruvbox, + priority = 9001, + config = function() + vim.o.background = "dark" + + local gruvbox = require("gruvbox") + local colors = gruvbox.palette + + gruvbox.setup({ + italic = { + strings = false, + emphasis = true, + comments = false, + operators = false, + folds = true, + }, + invert_selection = true, + contrast = "hard", + 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 }, + }, + }) + + -- 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/manageself.lua b/lua/tjk/plugins/manageself.lua new file mode 100644 index 0000000..098c300 --- /dev/null +++ b/lua/tjk/plugins/manageself.lua @@ -0,0 +1,3 @@ +return { + "folke/lazy.nvim", -- so lazy can manage itself +} diff --git a/lua/tjk/plugins/treesitter.lua b/lua/tjk/plugins/treesitter.lua new file mode 100644 index 0000000..925fb13 --- /dev/null +++ b/lua/tjk/plugins/treesitter.lua @@ -0,0 +1,32 @@ +return { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + dependencies = { + --{ + -- "nvim-treesitter/playground", -- inspect treesitter structure + -- cmd = "TSPlaygroundToggle" + --}, + "HiPhish/rainbow-delimiters.nvim", -- colored delimiters per scope level + { + "windwp/nvim-ts-autotag", -- close tags in html/xml type languages + opts = { + per_filetype = { + ["html"] = { + enable_close = true + } + } + } + }, + }, + config = function() + local configs = require("nvim-treesitter.configs") + configs.setup({ + ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "comment", + "javascript", "html", "css", "scss", "python", "php" }, + auto_install = true, -- install available parsers when entering new buffers + highlight = { enable = true, disable = { "yaml", "bash", "latex" } }, + indent = { enable = true, disable = { "yaml" } }, + --playground = { enable = true }, -- treesitter debug + }) + end +} |