From 00ed47465db3eb270738d2f2aa0467996649ee72 Mon Sep 17 00:00:00 2001 From: Oluwatobi Date: Thu, 1 Aug 2024 15:38:10 +0100 Subject: [PATCH] working version after update --- after/plugin/conform-config.lua | 2 - after/plugin/lsp-config.lua | 24 ++++++- after/plugin/neo-tree.lua | 115 +++++++++++++++++++++++++++++++ after/plugin/tailwind-config.lua | 17 +++++ after/plugin/which-key.lua | 11 --- lazy-lock.json | 75 ++++++++++---------- lua/plugins/catppuccin.lua | 8 +++ lua/plugins/git-fugitive.lua | 6 ++ lua/plugins/init.lua | 98 -------------------------- lua/plugins/lualine.lua | 13 ++++ lua/plugins/neo-tree.lua | 17 ++--- lua/plugins/nvim-cmp.lua | 27 ++++++++ lua/plugins/sleuth.lua | 7 ++ lua/plugins/tailwind-tools.lua | 5 ++ lua/plugins/telescope.lua | 19 +++++ lua/plugins/undotree.lua | 1 + lua/plugins/which-key.lua | 1 + 17 files changed, 288 insertions(+), 158 deletions(-) create mode 100644 after/plugin/neo-tree.lua create mode 100644 after/plugin/tailwind-config.lua delete mode 100644 after/plugin/which-key.lua create mode 100644 lua/plugins/catppuccin.lua create mode 100644 lua/plugins/git-fugitive.lua delete mode 100644 lua/plugins/init.lua create mode 100644 lua/plugins/lualine.lua create mode 100644 lua/plugins/nvim-cmp.lua create mode 100644 lua/plugins/sleuth.lua create mode 100644 lua/plugins/tailwind-tools.lua create mode 100644 lua/plugins/telescope.lua create mode 100644 lua/plugins/undotree.lua create mode 100644 lua/plugins/which-key.lua diff --git a/after/plugin/conform-config.lua b/after/plugin/conform-config.lua index 59bb7baa..19f244d5 100644 --- a/after/plugin/conform-config.lua +++ b/after/plugin/conform-config.lua @@ -1,9 +1,7 @@ require('conform').setup { formatters_by_ft = { lua = { 'stylua' }, - -- Conform will run multiple formatters sequentially python = { 'isort', 'black' }, - -- Use a sub-list to run only the first available formatter javascript = { { 'prettierd', 'prettier' } }, javascriptreact = { { 'prettier' } }, typescriptreact = { { 'prettier' } }, diff --git a/after/plugin/lsp-config.lua b/after/plugin/lsp-config.lua index b1910e7c..c806fae5 100644 --- a/after/plugin/lsp-config.lua +++ b/after/plugin/lsp-config.lua @@ -4,11 +4,29 @@ local lsp = require 'lsp-zero' lsp.preset 'recommended' lsp.ensure_installed { - 'gopls', - 'pyright', - 'tsserver', 'rust_analyzer', + -- Python + -- 'mypy', + -- 'black', + -- 'isort', + 'ruff_lsp', + 'pyright', + -- Java Stuffs + 'jdtls', + -- 'google-java-format', + -- Golang + -- 'gofumpt', + -- 'goimports-reviser', + -- 'golines', + 'gopls', 'templ', + 'htmx', + -- Typescript + -- 'prettier', + -- 'prettierd', + 'tsserver', + -- Others + 'tailwindcss', } -- Fix Undefined global 'vim' diff --git a/after/plugin/neo-tree.lua b/after/plugin/neo-tree.lua new file mode 100644 index 00000000..bfdf50ad --- /dev/null +++ b/after/plugin/neo-tree.lua @@ -0,0 +1,115 @@ +require("neo-tree").setup({ + cmd = "Neotree", + keys = { + { + "o", + function() + if vim.bo.filetype == "neo-tree" then + vim.cmd.wincmd "p" + else + vim.cmd.Neotree "focus" + end + end, + desc = "Toggle Explorer Focus" + }, + { "", "Neotree toggle", desc = "Toggle Explorer" } + }, + init = function() vim.g.neo_tree_remove_legacy_commands = true end, + + opts = { + auto_clean_after_session_restore = true, + close_if_last_window = true, + source_selector = { + winbar = true, + content_layout = "center", + }, + commands = { + parent_or_close = function(state) + local node = state.tree:get_node() + if (node.type == "directory" or node:has_children()) and node:is_expanded() then + state.commands.toggle_node(state) + else + require("neo-tree.ui.renderer").focus_node(state, node:get_parent_id()) + end + end, + child_or_open = function(state) + local node = state.tree:get_node() + if node.type == "directory" or node:has_children() then + if not node:is_expanded() then -- if unexpanded, expand + state.commands.toggle_node(state) + else -- if expanded and has children, seleect the next child + require("neo-tree.ui.renderer").focus_node(state, node:get_child_ids()[1]) + end + else -- if not a directory just open it + state.commands.open(state) + end + end, + copy_selector = function(state) + local node = state.tree:get_node() + local filepath = node:get_id() + local filename = node.name + local modify = vim.fn.fnamemodify + + local results = { + e = { val = modify(filename, ":e"), msg = "Extension only" }, + f = { val = filename, msg = "Filename" }, + F = { val = modify(filename, ":r"), msg = "Filename w/o extension" }, + h = { val = modify(filepath, ":~"), msg = "Path relative to Home" }, + p = { val = modify(filepath, ":."), msg = "Path relative to CWD" }, + P = { val = filepath, msg = "Absolute path" }, + } + + local messages = { + { "\nChoose to copy to clipboard:\n", "Normal" }, + } + for i, result in pairs(results) do + if result.val and result.val ~= "" then + vim.list_extend(messages, { + { ("%s."):format(i), "Identifier" }, + { (" %s: "):format(result.msg) }, + { result.val, "String" }, + { "\n" }, + }) + end + end + vim.api.nvim_echo(messages, false, {}) + local result = results[vim.fn.getcharstr()] + if result and result.val and result.val ~= "" then + vim.notify("Copied: " .. result.val) + vim.fn.setreg("+", result.val) + end + end, + }, + window = { + width = 30, + mappings = { + [""] = false, -- disable space until we figure out which-key disabling + ["[b"] = "prev_source", + ["]b"] = "next_source", + o = "open", + --[[ O = "system_open", ]] + h = "parent_or_close", + l = "child_or_open", + Y = "copy_selector", + }, + }, + filesystem = { + hijack_netrw_behavior = "open_current", + use_libuv_file_watcher = true, + follow_current_file = { + enabled = true, -- This will find and focus the file in the active buffer every time + -- -- the current file is changed while the tree is open. + leave_dirs_open = false, -- `false` closes auto expanded dirs, such as with `:Neotree reveal` + }, + }, + event_handlers = { + { + event = "neo_tree_buffer_enter", + handler = function(_) + vim.opt_local.signcolumn = "auto" + -- require("neo-tree").close_all() + end, + }, + }, + }, +}) diff --git a/after/plugin/tailwind-config.lua b/after/plugin/tailwind-config.lua new file mode 100644 index 00000000..b15db54f --- /dev/null +++ b/after/plugin/tailwind-config.lua @@ -0,0 +1,17 @@ +require('tailwind-tools').setup { + document_color = { + enabled = true, -- can be toggled by commands + kind = 'inline', -- "inline" | "foreground" | "background" + inline_symbol = '󰝤 ', -- only used in inline mode + debounce = 200, -- in milliseconds, only applied in insert mode + }, + conceal = { + enabled = false, -- can be toggled by commands + min_length = nil, -- only conceal classes exceeding the provided length + symbol = '󱏿', -- only a single character is allowed + highlight = { -- extmark highlight options, see :h 'highlight' + fg = '#38BDF8', + }, + }, + custom_filetypes = {}, -- see the extension section to learn how it works +} diff --git a/after/plugin/which-key.lua b/after/plugin/which-key.lua deleted file mode 100644 index 98c0dab6..00000000 --- a/after/plugin/which-key.lua +++ /dev/null @@ -1,11 +0,0 @@ --- document existing key chains -require('which-key').register({ - --[[ ['c'] = { name = '[C]ode', _ = 'which_key_ignore' }, - ['d'] = { name = '[D]ocument', _ = 'which_key_ignore' }, - ['g'] = { name = '[G]it', _ = 'which_key_ignore' }, - ['h'] = { name = 'More git', _ = 'which_key_ignore' }, - ['r'] = { name = '[R]ename', _ = 'which_key_ignore' }, - ['s'] = { name = '[S]earch', _ = 'which_key_ignore' }, ]] - ['w'] = { name = '[W]orkspace', _ = 'which_key_ignore' }, -}) - diff --git a/lazy-lock.json b/lazy-lock.json index 971b3520..e49fd86e 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,44 +1,47 @@ { - "LuaSnip": { "branch": "master", "commit": "2dbef19461198630b3d7c39f414d09fb07d1fdd2" }, - "alpha-nvim": { "branch": "main", "commit": "4b36c1ca9ea475bdc006896657cf1ccc486aeffa" }, - "catppuccin": { "branch": "main", "commit": "048c18fc531703815f5e10765ea46ce9b2c75ae4" }, + "LuaSnip": { "branch": "master", "commit": "7552e6504ee95a9c8cfc6db53e389122ded46cd4" }, + "alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" }, + "catppuccin": { "branch": "main", "commit": "10eda02ea4faa7d1f94e77a3410a4ae91c25c5f5" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "3d59cbd01a4b74124c5a6fb23b8cc63e5c2db3d5" }, - "friendly-snippets": { "branch": "main", "commit": "69a2c1675b66e002799f5eef803b87a12f593049" }, - "gitsigns.nvim": { "branch": "main", "commit": "c5ff7628e19a47ec14d3657294cc074ecae27b99" }, - "gopher.nvim": { "branch": "main", "commit": "ac27f4b6794c872140fb205313d79ab166892fe9" }, - "lazy.nvim": { "branch": "main", "commit": "28126922c9b54e35a192ac415788f202c3944c9f" }, - "lazygit.nvim": { "branch": "main", "commit": "1e08e3f5ac1152339690140e61a4a32b3bdc7de5" }, + "conform.nvim": { "branch": "master", "commit": "25d48271e3d4404ba017cb92a37d3a681c1ad149" }, + "friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" }, + "gitsigns.nvim": { "branch": "main", "commit": "f074844b60f9e151970fbcdbeb8a2cd52b6ef25a" }, + "gopher.nvim": { "branch": "main", "commit": "f55c15ada8e02398000c04a96ef44d986cd01051" }, + "image.nvim": { "branch": "master", "commit": "61c76515cfc3cdac8123ece9e9761b20c3dc1315" }, + "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" }, + "lazygit.nvim": { "branch": "main", "commit": "dc56df433bfbf107fee0139e187eb9750878fa84" }, "lsp-zero.nvim": { "branch": "v1.x", "commit": "aa36afcf7a59fbd98008c9a434593c423d3d649a" }, - "lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "3ba1b92b771f33256b4969d696b82c8ae7075364" }, - "mason.nvim": { "branch": "main", "commit": "9c9416817c9f4e6f333c749327a1ed5355cfab61" }, - "mini.ai": { "branch": "main", "commit": "f7787cff9cc42004f722ca1e64e6af4e64e34177" }, - "mini.comment": { "branch": "main", "commit": "67f00d3ebbeae15e84584d971d0c32aad4f4f3a4" }, - "mini.surround": { "branch": "main", "commit": "7bf8915ba15d7a4f3c2afe7868d3c15a858d73f1" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, - "nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" }, - "nvim-autopairs": { "branch": "master", "commit": "eac31b4797ce4fa9dd546f7b98ec32305527b19e" }, - "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, - "nvim-lspconfig": { "branch": "master", "commit": "8917d2c830e04bf944a699b8c41f097621283828" }, - "nvim-treesitter": { "branch": "master", "commit": "97997c928bb038457f49343ffa5304d931545584" }, - "nvim-treesitter-context": { "branch": "master", "commit": "85cf977181fb8e816e47ac05df7f756e9cb72caf" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "19a91a38b02c1c28c14e0ba468d20ae1423c39b2" }, - "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, - "nvim-web-devicons": { "branch": "master", "commit": "140edfcf25093e8b321d13e154cbce89ee868ca0" }, - "plenary.nvim": { "branch": "master", "commit": "663246936325062427597964d81d30eaa42ab1e4" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "0.1.x", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }, - "undotree": { "branch": "master", "commit": "d9c8b4ef872e078e8c4080812e5a3ed56d151c00" }, - "vim-dadbod": { "branch": "master", "commit": "738cfc2ea6a1510fe23cba9006fef9291be70f7b" }, - "vim-dadbod-completion": { "branch": "master", "commit": "c920cb0ba3dff4b1b0ed373e1c0b3007dec696c2" }, - "vim-dadbod-ui": { "branch": "master", "commit": "e99dcfd5162d9b9b4b24a5d035cf114315f1aeec" }, - "vim-fugitive": { "branch": "master", "commit": "854a8df0d06b8d3fcb30fa7f2b08c62b553eee3b" }, + "lspkind-nvim": { "branch": "master", "commit": "cff4ae321a91ee3473a92ea1a8c637e3a9510aec" }, + "lualine.nvim": { "branch": "master", "commit": "544dd1583f9bb27b393f598475c89809c4d5e86b" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "ba9c2f0b93deb48d0a99ae0e8d8dd36f7cc286d6" }, + "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, + "mini.ai": { "branch": "main", "commit": "45587078f323eaf41b9f701bbc04f8d1ab008979" }, + "mini.comment": { "branch": "main", "commit": "03c13e37318bdb18481311c0ac1adc9ed731caf1" }, + "mini.surround": { "branch": "main", "commit": "57caca9525cec0ea771a67326b0ee637d056078a" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, + "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, + "nvim-autopairs": { "branch": "master", "commit": "e38c5d837e755ce186ae51d2c48e1b387c4425c6" }, + "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, + "nvim-lspconfig": { "branch": "master", "commit": "e9b1c95d29ca9e479fc39896b31d24eed96b40a3" }, + "nvim-treesitter": { "branch": "master", "commit": "d13f0183ba93f9b5aba7359146f294abfffff9c3" }, + "nvim-treesitter-context": { "branch": "master", "commit": "2aba92ceb1479485953007f4d5adf34d0b66917e" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, + "nvim-ts-autotag": { "branch": "main", "commit": "dc5e1687ab76ee02e0f11c5ce137f530b36e98b3" }, + "nvim-web-devicons": { "branch": "master", "commit": "5be6c4e685618b99c3210a69375b38a1202369b4" }, + "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "tailwind-tools.nvim": { "branch": "master", "commit": "7f1dda9ac3fb0460dfa4243656e8f00e36856385" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, + "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" }, + "vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" }, + "vim-dadbod-completion": { "branch": "master", "commit": "c3ab458fb7c94c2fc4baae4e2cd5601eec9d27bc" }, + "vim-dadbod-ui": { "branch": "master", "commit": "0f51d8de368c8c6220973e8acd156d17da746f4c" }, + "vim-fugitive": { "branch": "master", "commit": "0444df68cd1cdabc7453d6bd84099458327e5513" }, "vim-rhubarb": { "branch": "master", "commit": "ee69335de176d9325267b0fd2597a22901d927b1" }, "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }, - "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" } -} \ No newline at end of file + "which-key.nvim": { "branch": "main", "commit": "6c1584eb76b55629702716995cca4ae2798a9cca" } +} diff --git a/lua/plugins/catppuccin.lua b/lua/plugins/catppuccin.lua new file mode 100644 index 00000000..cf2318b6 --- /dev/null +++ b/lua/plugins/catppuccin.lua @@ -0,0 +1,8 @@ +return { + 'catppuccin/nvim', + name = 'catppuccin', + priority = 1000, + config = function() + vim.cmd.colorscheme 'catppuccin' + end, +} diff --git a/lua/plugins/git-fugitive.lua b/lua/plugins/git-fugitive.lua new file mode 100644 index 00000000..c171ab32 --- /dev/null +++ b/lua/plugins/git-fugitive.lua @@ -0,0 +1,6 @@ +return { + -- Git related plugins + 'tpope/vim-fugitive', + 'tpope/vim-rhubarb', + +} diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua deleted file mode 100644 index ca3fb910..00000000 --- a/lua/plugins/init.lua +++ /dev/null @@ -1,98 +0,0 @@ -return { - -- NOTE: First, some plugins that don't require any configuration - - -- Git related plugins - 'tpope/vim-fugitive', - 'tpope/vim-rhubarb', - - -- Detect tabstop and shiftwidth automatically - 'tpope/vim-sleuth', - - -- Useful plugin to show you pending keybinds. - { 'folke/which-key.nvim', opts = {} }, - - { 'mbbill/undotree' }, - - -- { - -- -- Theme inspired by Atom - -- 'navarasu/onedark.nvim', - -- priority = 1000, - -- config = function() - -- vim.cmd.colorscheme 'onedark' - -- end, - -- }, - -- - { - 'catppuccin/nvim', - name = 'catppuccin', - priority = 1000, - config = function() - vim.cmd.colorscheme 'catppuccin' - end, - }, - - { - -- Set lualine as statusline - 'nvim-lualine/lualine.nvim', - -- See `:help lualine.txt` - opts = { - options = { - icons_enabled = false, - theme = 'onedark', - component_separators = '|', - section_separators = '', - }, - }, - }, - - { - -- Autocompletion - 'hrsh7th/nvim-cmp', - dependencies = { - -- Snippet Engine & its associated nvim-cmp source - 'L3MON4D3/LuaSnip', - 'saadparwaiz1/cmp_luasnip', - - -- Adds LSP completion capabilities - 'hrsh7th/cmp-nvim-lsp', - - -- Adds a number of user-friendly snippets - 'rafamadriz/friendly-snippets', - }, - }, - - -- Fuzzy Finder (files, lsp, etc) - { - 'nvim-telescope/telescope.nvim', - branch = '0.1.x', - dependencies = { - 'nvim-lua/plenary.nvim', - -- Fuzzy Finder Algorithm which requires local dependencies to be built. - -- Only load if `make` is available. Make sure you have the system - -- requirements installed. - { - 'nvim-telescope/telescope-fzf-native.nvim', - -- NOTE: If you are having trouble with this installation, - -- refer to the README for telescope-fzf-native for more instructions. - build = 'make', - cond = function() - return vim.fn.executable 'make' == 1 - end, - }, - }, - }, - - -- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart - -- These are some example plugins that I've included in the kickstart repository. - -- Uncomment any of the lines below to enable them. - --[[ require 'kickstart.plugins.autoformat', ]] - --[[ require 'kickstart.plugins.debug', ]] - - -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` - -- You can use this folder to prevent any conflicts with this init.lua if you're interested in keeping - -- up-to-date with whatever is in the kickstart repo. - -- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going. - -- - -- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins - -- { import = 'custom.plugins' }, -}, {} diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua new file mode 100644 index 00000000..b9a10ced --- /dev/null +++ b/lua/plugins/lualine.lua @@ -0,0 +1,13 @@ +return { + -- Set lualine as statusline + 'nvim-lualine/lualine.nvim', + -- See `:help lualine.txt` + opts = { + options = { + icons_enabled = false, + theme = 'onedark', + component_separators = '|', + section_separators = '', + }, + }, +} diff --git a/lua/plugins/neo-tree.lua b/lua/plugins/neo-tree.lua index 45ff96bf..815d1ede 100644 --- a/lua/plugins/neo-tree.lua +++ b/lua/plugins/neo-tree.lua @@ -1,11 +1,12 @@ return { - "nvim-neo-tree/neo-tree.nvim", - branch = "*", - dependencies = { - "nvim-lua/plenary.nvim", - "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended - "MunifTanjim/nui.nvim", - }, + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", + "MunifTanjim/nui.nvim", + "3rd/image.nvim", + }, cmd = "Neotree", keys = { { @@ -22,6 +23,7 @@ return { { "", "Neotree toggle", desc = "Toggle Explorer" } }, init = function() vim.g.neo_tree_remove_legacy_commands = true end, + opts = { auto_clean_after_session_restore = true, close_if_last_window = true, @@ -30,7 +32,6 @@ return { content_layout = "center", }, commands = { - --[[ system_open = function(state) require("astronvim.utils").system_open(state.tree:get_node():get_id()) end, ]] parent_or_close = function(state) local node = state.tree:get_node() if (node.type == "directory" or node:has_children()) and node:is_expanded() then diff --git a/lua/plugins/nvim-cmp.lua b/lua/plugins/nvim-cmp.lua new file mode 100644 index 00000000..aa03ed1a --- /dev/null +++ b/lua/plugins/nvim-cmp.lua @@ -0,0 +1,27 @@ +return { + -- Autocompletion + { + 'hrsh7th/nvim-cmp', + dependencies = { + 'luckasRanarison/tailwind-tools.nvim', + 'onsails/lspkind-nvim', + -- Snippet Engine & its associated nvim-cmp source + 'L3MON4D3/LuaSnip', + 'saadparwaiz1/cmp_luasnip', + -- Adds LSP completion capabilities + 'hrsh7th/cmp-nvim-lsp', + -- Adds a number of user-friendly snippets + 'rafamadriz/friendly-snippets', + }, + opts = function() + return { + -- ... + formatting = { + format = require('lspkind').cmp_format { + before = require('tailwind-tools.cmp').lspkind_format, + }, + }, + } + end, + }, +} diff --git a/lua/plugins/sleuth.lua b/lua/plugins/sleuth.lua new file mode 100644 index 00000000..5654a920 --- /dev/null +++ b/lua/plugins/sleuth.lua @@ -0,0 +1,7 @@ +return { + 'tpope/vim-sleuth', + config = function() + -- Your configuration for vim-sleuth goes here + end, + opts = {}, +} diff --git a/lua/plugins/tailwind-tools.lua b/lua/plugins/tailwind-tools.lua new file mode 100644 index 00000000..82140ecc --- /dev/null +++ b/lua/plugins/tailwind-tools.lua @@ -0,0 +1,5 @@ +return { + 'luckasRanarison/tailwind-tools.nvim', + dependencies = { 'nvim-treesitter/nvim-treesitter' }, + opts = {}, -- your configuration +} diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua new file mode 100644 index 00000000..d20ee888 --- /dev/null +++ b/lua/plugins/telescope.lua @@ -0,0 +1,19 @@ +return { + 'nvim-telescope/telescope.nvim', + branch = '0.1.x', + dependencies = { + 'nvim-lua/plenary.nvim', + -- Fuzzy Finder Algorithm which requires local dependencies to be built. + -- Only load if `make` is available. Make sure you have the system + -- requirements installed. + { + 'nvim-telescope/telescope-fzf-native.nvim', + -- NOTE: If you are having trouble with this installation, + -- refer to the README for telescope-fzf-native for more instructions. + build = 'make', + cond = function() + return vim.fn.executable 'make' == 1 + end, + }, + }, + } diff --git a/lua/plugins/undotree.lua b/lua/plugins/undotree.lua new file mode 100644 index 00000000..7774a4a9 --- /dev/null +++ b/lua/plugins/undotree.lua @@ -0,0 +1 @@ +return { 'mbbill/undotree' } diff --git a/lua/plugins/which-key.lua b/lua/plugins/which-key.lua new file mode 100644 index 00000000..ab4e2caa --- /dev/null +++ b/lua/plugins/which-key.lua @@ -0,0 +1 @@ +return { 'folke/which-key.nvim', opts = {} }