diff --git a/lazy-lock.json b/lazy-lock.json index 3be70c5..a1b344d 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,29 +1,30 @@ { "blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" }, - "blink.download": { "branch": "main", "commit": "86361b98f3c8317904a08e3bd12cf3cdcbe3e925" }, - "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, - "fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" }, + "conform.nvim": { "branch": "master", "commit": "fbcb4fa7f34bfea9be702ffff481a8e336ebf6ed" }, + "fidget.nvim": { "branch": "main", "commit": "3f5475949679953af6d78654db29b944fa826e6a" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "fzf-lua": { "branch": "main", "commit": "f8cf874c7c78deaddb028b80b7116c50cb53e88d" }, - "kanagawa.nvim": { "branch": "master", "commit": "debe91547d7fb1eef34ce26a5106f277fbfdd109" }, - "kubectl.nvim": { "branch": "main", "commit": "6d54b5cd11e3b2e9ebebe1cdc406c1f653634f92" }, - "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "7f9a39fcd2ac6e979001f857727d606888f5909c" }, + "fzf-lua": { "branch": "main", "commit": "83e4080ae886a42ec48c5c26ce5892ceb557c425" }, + "kanagawa.nvim": { "branch": "master", "commit": "aef7f5cec0a40dbe7f3304214850c472e2264b10" }, + "lazy.nvim": { "branch": "main", "commit": "1ea3c4085785f460fb0e46d2fe1ee895f5f9e7c1" }, + "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" }, "mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" }, - "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, - "mini.icons": { "branch": "main", "commit": "f9a177c11daa7829389b7b6eaaec8b8a5c47052d" }, - "mini.misc": { "branch": "main", "commit": "b48a5527e26e3d1840be317e52b1f3db5c364f35" }, - "mini.statusline": { "branch": "main", "commit": "3c86b8a1cb67e347e91815b21662c28fd52ac144" }, - "neoconf.nvim": { "branch": "main", "commit": "62b9efa4190d73d02f7e8817479f9c234aefa2f9" }, - "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, + "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" }, + "mini.diff": { "branch": "main", "commit": "ec8a5ae365c5d15920721ea42b1351dbc9e61f2d" }, + "mini.icons": { "branch": "main", "commit": "284798619aed9f4c1ac1b9417b9a5e3b4b85ef3a" }, + "mini.misc": { "branch": "main", "commit": "165c34e43de9ae62cf8b72bd33bc90f4edde8e67" }, + "neoconf.nvim": { "branch": "main", "commit": "8786f12ca22cdf2a022bbad1af3650e9f8d2613a" }, + "noice.nvim": { "branch": "main", "commit": "38c702be0d8fea81527ee6a73e1e834e72481193" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-jdtls": { "branch": "master", "commit": "b69924ca90014fef485ee153571bdcbc1ece8c2e" }, - "nvim-lspconfig": { "branch": "master", "commit": "d9879110d0422a566fa01d732556f4d5515e1738" }, + "nvim-jdtls": { "branch": "master", "commit": "380ac148f989e1291aac002dc959ecc68c5243d0" }, + "nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" }, + "nvim-tree.lua": { "branch": "master", "commit": "321bc61580fd066b76861c32de3319c3a6d089e7" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" }, - "oil.nvim": { "branch": "master", "commit": "07f80ad645895af849a597d1cac897059d89b686" }, + "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" }, + "oil.nvim": { "branch": "master", "commit": "71948729cda5fc1b761d6ae60ff774b5525f1d50" }, "showkeys": { "branch": "main", "commit": "cb0a50296f11f1e585acffba8c253b9e8afc1f84" }, - "snacks.nvim": { "branch": "main", "commit": "72a6316d2421942cb81f2d5276a0e607629cd1c6" }, + "snacks.nvim": { "branch": "main", "commit": "454ba02d69347c0735044f159b95d2495fc79a73" }, "vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" }, - "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } + "which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" } } diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua index 6254e62..e335bc2 100644 --- a/lua/config/keymaps.lua +++ b/lua/config/keymaps.lua @@ -7,3 +7,4 @@ vim.keymap.set("n", "", "e#", { desc = "Previous file" }) require("config.maps.maven") require("config.maps.cpp") +require("config.maps.vue") diff --git a/lua/config/maps/vue.lua b/lua/config/maps/vue.lua new file mode 100644 index 0000000..e13de72 --- /dev/null +++ b/lua/config/maps/vue.lua @@ -0,0 +1,26 @@ +-- Function to check if pom.xml exists in current or parent directories +local function is_npm_project() + local uv = vim.loop + local dir = uv.fs_realpath(vim.fn.expand("%:p:h")) + while dir do + if uv.fs_stat(dir .. "/package-lock.json") then + return true + end + local parent_dir = uv.fs_realpath(dir .. "/..") + if parent_dir == dir then + break + end + dir = parent_dir + end + return false +end + +-- Create autocommand on FileType java or whatever filetype you want +vim.api.nvim_create_autocmd("FileType", { + pattern = "typescript", + callback = function() + if is_npm_project() then + vim.keymap.set("n", "", "! npm run format", { desc = "Prettier" }) + end + end, +}) diff --git a/lua/plugins/kube.lua b/lua/plugins/kube.lua deleted file mode 100644 index 2ed1159..0000000 --- a/lua/plugins/kube.lua +++ /dev/null @@ -1,13 +0,0 @@ -return { - { - "ramilito/kubectl.nvim", - -- use a release tag to download pre-built binaries - version = "2.*", - -- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust - -- build = 'cargo build --release', - dependencies = "saghen/blink.download", - config = function() - require("kubectl").setup() - end, - }, -} diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua new file mode 100644 index 0000000..8d0a771 --- /dev/null +++ b/lua/plugins/lualine.lua @@ -0,0 +1,65 @@ +return { + { + "nvim-lualine/lualine.nvim", + dependencies = { "nvim-tree/nvim-web-devicons" }, + config = function() + local colors = { + blue = "#80a0ff", + cyan = "#79dac8", + black = "#080808", + white = "#c6c6c6", + red = "#ff5189", + violet = "#d183e8", + grey = "#303030", + } + + local bubbles_theme = { + normal = { + a = { fg = colors.black, bg = colors.violet }, + b = { fg = colors.white, bg = colors.grey }, + c = { fg = colors.white }, + }, + + insert = { a = { fg = colors.black, bg = colors.blue } }, + visual = { a = { fg = colors.black, bg = colors.cyan } }, + replace = { a = { fg = colors.black, bg = colors.red } }, + + inactive = { + a = { fg = colors.white, bg = colors.black }, + b = { fg = colors.white, bg = colors.black }, + c = { fg = colors.white }, + }, + } + + require("lualine").setup({ + options = { + theme = bubbles_theme, + component_separators = "", + globalstatus = true, + }, + sections = { + lualine_a = { { "mode", right_padding = 2 } }, + lualine_b = { "branch", "filename" }, + lualine_c = { + "%=", + }, + lualine_x = {}, + lualine_y = { "filetype", "progress" }, + lualine_z = { + { "location", left_padding = 2 }, + }, + }, + inactive_sections = { + lualine_a = { "filename" }, + lualine_b = {}, + lualine_c = {}, + lualine_x = {}, + lualine_y = {}, + lualine_z = { "location" }, + }, + tabline = {}, + extensions = {}, + }) + end, + }, +} diff --git a/lua/plugins/mini.lua b/lua/plugins/mini.lua index 3a4e297..f4bb818 100644 --- a/lua/plugins/mini.lua +++ b/lua/plugins/mini.lua @@ -1,9 +1,4 @@ return { - { - "echasnovski/mini.statusline", - version = false, - opts = {}, - }, { "echasnovski/mini.misc", version = false, @@ -13,4 +8,11 @@ return { mini.setup_auto_root() end, }, + { + "nvim-mini/mini.diff", + version = "*", + config = function() + require("mini.diff").setup({}) + end, + }, } diff --git a/lua/plugins/snacks.lua b/lua/plugins/snacks.lua index 3d5a310..a7eedce 100644 --- a/lua/plugins/snacks.lua +++ b/lua/plugins/snacks.lua @@ -15,22 +15,33 @@ return { dashboard = { enabled = true, preset = { - header = header_string - } + header = header_string, + }, }, - explorer = { enabled = true }, + explorer = { enabled = false }, input = { enabled = true }, notifier = { enabled = true, - timeout = 10000 + timeout = 10000, }, lazygit = { - enabled = true - } + enabled = true, + }, }, keys = { - { "n", function() Snacks.picker.notifications() end, desc = "Notification History" }, - { "e", function() Snacks.explorer() end, desc = "File Explorer" }, - { "gg", function() Snacks.lazygit() end, desc = "Lazygit" }, - } + { + "n", + function() + Snacks.picker.notifications() + end, + desc = "Notification History", + }, + { + "gg", + function() + Snacks.lazygit() + end, + desc = "Lazygit", + }, + }, } diff --git a/lua/plugins/themes.lua b/lua/plugins/themes.lua index e7d6198..5534cda 100644 --- a/lua/plugins/themes.lua +++ b/lua/plugins/themes.lua @@ -1,7 +1,7 @@ return { "rebelot/kanagawa.nvim", config = function() - require('kanagawa').setup({ + require("kanagawa").setup({ compile = true, transparent = true, colors = { @@ -12,25 +12,31 @@ return { float = { bg = "none", }, - } - } - } + }, + }, + }, }, overrides = function(colors) + local theme = colors.theme return { - ["@markup.link.url.markdown_inline"] = { link = "Special" }, -- (url) + ["@markup.link.url.markdown_inline"] = { link = "Special" }, -- (url) ["@markup.link.label.markdown_inline"] = { link = "WarningMsg" }, -- [label] - ["@markup.italic.markdown_inline"] = { link = "Exception" }, -- *italic* - ["@markup.raw.markdown_inline"] = { link = "String" }, -- `code` - ["@markup.list.markdown"] = { link = "Function" }, -- + list - ["@markup.quote.markdown"] = { link = "Error" }, -- > blockcode - ["@markup.list.checked.markdown_inline"] = { link = "Error" } -- - [X] checked list item + ["@markup.italic.markdown_inline"] = { link = "Exception" }, -- *italic* + ["@markup.raw.markdown_inline"] = { link = "String" }, -- `code` + ["@markup.list.markdown"] = { link = "Function" }, -- + list + ["@markup.quote.markdown"] = { link = "Error" }, -- > blockcode + ["@markup.list.checked.markdown_inline"] = { link = "Error" }, -- - [X] checked list item + NormalFloat = { bg = "none" }, + FloatBorder = { bg = "none" }, + FloatTitle = { bg = "none" }, + LazyNormal = { bg = theme.ui.bg_m3, fg = theme.ui.fg_dim }, + MasonNormal = { bg = theme.ui.bg_m3, fg = theme.ui.fg_dim }, } - end + end, }) vim.cmd("colorscheme kanagawa") end, build = function() vim.cmd("KanagawaCompile") - end + end, } diff --git a/lua/plugins/tree.lua b/lua/plugins/tree.lua new file mode 100644 index 0000000..3e60683 --- /dev/null +++ b/lua/plugins/tree.lua @@ -0,0 +1,22 @@ +return { + { + "nvim-tree/nvim-tree.lua", + version = "*", + lazy = false, + dependencies = { + "nvim-tree/nvim-web-devicons", + }, + config = function() + require("nvim-tree").setup({}) + end, + keys = { + { + "e", + function() + vim.cmd("NvimTreeToggle") + end, + desc = "File Explorer", + }, + }, + }, +} diff --git a/lua/plugins/which-key.lua b/lua/plugins/which-key.lua index 9fadb97..9624704 100644 --- a/lua/plugins/which-key.lua +++ b/lua/plugins/which-key.lua @@ -5,6 +5,8 @@ return { -- your configuration comes here -- or leave it empty to use the default settings -- refer to the configuration section below + preset = "modern", + delay = 100, }, keys = { {