diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index f97f005..5c92f06 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -8,6 +8,7 @@ "bufferline.nvim": { "branch": "main", "commit": "6ecd37e0fa8b156099daedd2191130e083fb1490" }, "catppuccin": { "branch": "main", "commit": "3d9a5ed556e289bce6c1fb0af89ec838360641b2" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, @@ -17,7 +18,6 @@ "flash.nvim": { "branch": "main", "commit": "0256d8ecab33a9aa69fdaaf885db22e1103e2a3a" }, "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, "gitsigns.nvim": { "branch": "main", "commit": "bdeba1cec3faddd89146690c10b9a87949c0ee66" }, - "harpoon": { "branch": "master", "commit": "21f4c47c6803d64ddb934a5b314dcb1b8e7365dc" }, "indent-blankline.nvim": { "branch": "master", "commit": "f5335ef7493bd6adf5f2ae21d67240709a514408" }, "lazy.nvim": { "branch": "main", "commit": "7ca3bdb566c3ba4492f2d22b37c2c9e26f09470f" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, @@ -44,7 +44,7 @@ "nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" }, "nvim-regexplainer": { "branch": "main", "commit": "4250c8f3c1307876384e70eeedde5149249e154f" }, "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, - "nvim-treesitter": { "branch": "master", "commit": "cb139d880bcf9b3a6f29f2bd088a7491d1662918" }, + "nvim-treesitter": { "branch": "master", "commit": "cc2f94ed1dfa008c23e16bbd17f56b967ceb6740" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "95e9ba9de4289d221666b66fd930d157c7ca08c6" }, "nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" }, @@ -53,11 +53,12 @@ "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "stickybuf.nvim": { "branch": "master", "commit": "e3db41f2c1bb2df3ee6ff964ee74fe991f6f9566" }, + "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, + "tabnine": { "branch": "master", "commit": "2c06b4865415701dc638549032824664e114ee23" }, "tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "bc25c56083939f274edcfe395c6ff7de23b67c50" }, "telescope.nvim": { "branch": "master", "commit": "84d53dfdbefbdf84e861a288abc71ef8ccafd04e" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "e89caa3ad6d8da9d0dd981ec74a82c55adc61ffd" }, - "transparent.nvim": { "branch": "main", "commit": "3af6232c8d39d51062702e875ff6407c1eeb0391" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "typescript.nvim": { "branch": "main", "commit": "4de85ef699d7e6010528dcfbddc2ed4c2c421467" }, "venv-selector.nvim": { "branch": "main", "commit": "14d6e866070f759e9014a8053954f835294f56f9" }, diff --git a/config/nvim/lua/config/lazy.lua b/config/nvim/lua/config/lazy.lua index ce8cd0c..65c575f 100644 --- a/config/nvim/lua/config/lazy.lua +++ b/config/nvim/lua/config/lazy.lua @@ -12,9 +12,6 @@ require("lazy").setup({ { "LazyVim/LazyVim", import = "lazyvim.plugins", - opts = { - colorscheme = "catppuccin", - }, }, -- import any extras modules here { import = "lazyvim.plugins.extras.formatting.prettier" }, @@ -41,7 +38,7 @@ require("lazy").setup({ version = false, -- always use the latest git commit -- version = "*", -- try installing the latest stable version for plugins that support semver }, - install = { colorscheme = { "catppuccin" } }, + install = { colorscheme = { "tokyonight" } }, checker = { enabled = true }, -- automatically check for plugin updates performance = { rtp = { diff --git a/config/nvim/lua/plugins/coding.lua b/config/nvim/lua/plugins/coding.lua index 0950c28..7cce2ac 100644 --- a/config/nvim/lua/plugins/coding.lua +++ b/config/nvim/lua/plugins/coding.lua @@ -65,17 +65,26 @@ return { auto = true, }, }, - -- Clarify and beautify your comments using boxes and lines. -- https://github.com/LudoPinelli/comment-box.nvim { "LudoPinelli/comment-box.nvim", opts = {} }, - + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + }, + }, -- Tabnine Client for Neovim -- https://github.com/codota/tabnine-nvim { "codota/tabnine-nvim", name = "tabnine", - enabled = false, + -- enabled = false, build = vim.loop.os_uname().sysname == "Windows_NT" and "pwsh.exe -file .\\dl_binaries.ps1" or "./dl_binaries.sh", cmd = { "TabnineStatus", "TabnineDisable", "TabnineEnable", "TabnineToggle" }, event = "User", @@ -84,7 +93,6 @@ return { dismiss_keymap = "", }, }, - -- Vim plugin for automatic time tracking and metrics generated from your programming activity. -- https://github.com/wakatime/vim-wakatime { "wakatime/vim-wakatime", lazy = false, enabled = true }, diff --git a/config/nvim/lua/plugins/supertab.lua b/config/nvim/lua/plugins/supertab.lua new file mode 100644 index 0000000..59d81d9 --- /dev/null +++ b/config/nvim/lua/plugins/supertab.lua @@ -0,0 +1,53 @@ +return { + -- 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 index 002ee68..f1f4866 100644 --- a/config/nvim/lua/plugins/ui.lua +++ b/config/nvim/lua/plugins/ui.lua @@ -1,41 +1,13 @@ -- luacheck: globals vim return { - -- The theme of choise, catppuccin - -- https://github.com/catppuccin/nvim { - "catppuccin/nvim", - name = "catppuccin", - priority = 1000, - enabled = true, - config = function() - vim.cmd.colorscheme("catppuccin") - end, + "folke/tokyonight.nvim", opts = { - flavour = "mocha", - }, - }, - -- Remove all background colors to make nvim transparent - -- https://github.com/xiyaowong/transparent.nvim - { - "xiyaowong/transparent.nvim", - lazy = false, - enabled = true, - config = function() - vim.g.transparent_groups = vim.list_extend( - vim.g.transparent_groups or {}, - vim.tbl_map(function(v) - return v.hl_group - end, vim.tbl_values(require("bufferline.config").highlights)) - ) - end, - }, - -- A fancy, configurable, notification manager for NeoVim - -- https://github.com/rcarriga/nvim-notify - { - "rcarriga/nvim-notify", - opts = { - -- Set background color to black so transparent doesn't mess stuff up - background_colour = "#000000", + transparent = true, + styles = { + sidebars = "transparent", + floats = "transparent", + }, }, }, -- Not UFO in the sky, but an ultra fold in Neovim. @@ -71,7 +43,7 @@ return { jumpBot = "]", }, }, - provider_selector = function(bufnr, filetype, buftype) + provider_selector = function(_, _, _) -- bufnr, filetype, buftype return { "treesitter", "indent" } end, fold_virt_text_handler = function(virtText, lnum, endLnum, width, truncate) @@ -103,15 +75,18 @@ return { end, }, }, + { + "simrat39/symbols-outline.nvim", + cmd = "SymbolsOutline", + keys = { { "cs", "SymbolsOutline", desc = "Symbols Outline" } }, + config = true, + }, -- Indent guides for Neovim -- https://github.com/lukas-reineke/indent-blankline.nvim { "lukas-reineke/indent-blankline.nvim" }, -- Git integration for buffers -- https://github.com/lewis6991/gitsigns.nvim { "lewis6991/gitsigns.nvim" }, - -- Getting you where you want with the fewest keystrokes. - -- https://github.com/ThePrimeagen/harpoon - { "ThePrimeagen/harpoon" }, -- Close buffer without messing up with the window. -- https://github.com/famiu/bufdelete.nvim { "famiu/bufdelete.nvim" },