From 4e2029ed30f4948d7ad781bd6297374024201598 Mon Sep 17 00:00:00 2001 From: Hoang Nguyen Date: Tue, 30 May 2023 00:00:00 +0700 Subject: [PATCH] nvim: add mini.move + fix lazy stats for alpha.nvim Also add LSP semantic token highlights to nord colorscheme. --- roles/config/files/nvim/lazy-lock.json | 97 ++++++++++--------- .../files/nvim/lua/user/config/keymap.lua | 10 +- .../files/nvim/lua/user/config/vars.lua | 4 +- .../nvim/lua/user/plugins/editor/init.lua | 17 ++++ .../files/nvim/lua/user/plugins/ui/alpha.lua | 38 ++++---- .../nvim/lua/user/plugins/ui/cokeline.lua | 17 +++- .../files/nvim/lua/user/plugins/ui/init.lua | 31 +++++- .../files/nvim/lua/user/themes/nord/init.lua | 49 +++++++++- roles/packages/tasks/pnpm-packages.yml | 4 + 9 files changed, 185 insertions(+), 82 deletions(-) diff --git a/roles/config/files/nvim/lazy-lock.json b/roles/config/files/nvim/lazy-lock.json index 584d917..180004b 100644 --- a/roles/config/files/nvim/lazy-lock.json +++ b/roles/config/files/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { - "LuaSnip": { "branch": "master", "commit": "2f78933799ef1a8558057ea7d06d6ccb11140711" }, - "SchemaStore.nvim": { "branch": "main", "commit": "22f5e69f395eb9a47289b66af1ccb07e8f783016" }, - "aerial.nvim": { "branch": "master", "commit": "3a17406d9d8f01f46d207f42d8849eb924eb0755" }, + "LuaSnip": { "branch": "master", "commit": "a83e4b1ba7edc6fecdad09e39753a7d5eee1d01c" }, + "SchemaStore.nvim": { "branch": "main", "commit": "2af5eb30096600eb0dc6058814f4f3fd88d7bd33" }, + "aerial.nvim": { "branch": "master", "commit": "01d63e5599811ddf86c8769180c3fbf6dd2ef224" }, "alpha-nvim": { "branch": "main", "commit": "1838ae926e8d49fe5330d1498ee8289ae2c340bc" }, "better-escape.nvim": { "branch": "master", "commit": "7031dc734add47bb71c010e0551829fa5799375f" }, "carbon-now.nvim": { "branch": "main", "commit": "c2eaf707fe591f2db3b0117261c878bdbebf568d" }, @@ -14,83 +14,84 @@ "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "cspell.nvim": { "branch": "main", "commit": "0e9c586bd7f7ab3f1f2f000a084121203e0ee62c" }, "dial.nvim": { "branch": "master", "commit": "747d6fd009dbc1904627868125e16cfa7c524b0d" }, - "diffview.nvim": { "branch": "main", "commit": "15861892ce62d8f4ab6e72bc4ff5b829f994430a" }, - "dressing.nvim": { "branch": "master", "commit": "66e4990240f92e31b0d5e4df6deb6bb0160ae832" }, - "emmylua-nvim": { "branch": "master", "commit": "e75346acf2b979291201fbc9475ce71130008d4c" }, + "diffview.nvim": { "branch": "main", "commit": "bff58a6ea3e081ca50049700f9848b2f84ea57be" }, + "dressing.nvim": { "branch": "master", "commit": "f19cbd56f7f8cad212c58a7285d09c5d9c273896" }, + "emmylua-nvim": { "branch": "master", "commit": "8a6e51c2fdfac1eed53c4f4a9ec8ee7091df2a79" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "f674dae71b9daf5ba4a4daf0734f7780417237b1" }, - "git-conflict.nvim": { "branch": "main", "commit": "e83d9cc866338ed75b886d5a98c9ff03da99434d" }, - "gitsigns.nvim": { "branch": "main", "commit": "c18b7ca0b5b50596722f3a1572eb9b8eb520c0f1" }, + "friendly-snippets": { "branch": "main", "commit": "8875cccf779160303bf2bed7d422717676f214fd" }, + "git-conflict.nvim": { "branch": "main", "commit": "3c89812a83ac749b8851a473863958325a1cd57c" }, + "gitsigns.nvim": { "branch": "main", "commit": "f868d82a36f7f7f5e110eb0a9659993984f59875" }, "headlines.nvim": { "branch": "master", "commit": "ddef41b2664f0ce25fe76520d708e2dc9dfebd70" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, - "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, + "indent-blankline.nvim": { "branch": "master", "commit": "7075d7861f7a6bbf0de0298c83f8a13195e6ec01" }, "iswap.nvim": { "branch": "master", "commit": "d3b08e6e3f174c26c8ace75b05f791883fc2110b" }, - "lazy.nvim": { "branch": "main", "commit": "c711b4f8a6211a8ea3f3c35f0962ac0b6b8550cc" }, - "leap.nvim": { "branch": "main", "commit": "2950d4826fb92ec3b56c59b5d4f2d575a84cb3fa" }, + "lazy.nvim": { "branch": "main", "commit": "ebdd0499551765e6a7aba220cc8ae4e0cdb6be69" }, + "leap.nvim": { "branch": "main", "commit": "be918a8e6aa00a6cfa7270d4bfcc11b2f80d6902" }, "lsp_lines.nvim": { "branch": "main", "commit": "f53af96d4789eef39a082dbcce078d2bfc384ece" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "markdown-preview.nvim": { "branch": "master", "commit": "02cc3874738bc0f86e4b91f09b8a0ac88aef8e96" }, "mini.ai": { "branch": "main", "commit": "44d7df1340b16b16b27b67fba07028cb57f45408" }, "mini.align": { "branch": "main", "commit": "86c8edae77023a7b71d0fa9e2bf78960c1e46fd8" }, - "mini.animate": { "branch": "main", "commit": "58226f659c43a9dd340fbe2f864c169f7e1e9b0d" }, + "mini.animate": { "branch": "main", "commit": "119b56f1a29a792561ee6bfc2c55c059f671d0ea" }, "mini.bufremove": { "branch": "main", "commit": "14805473144fffbd019d07e51bed2d176e065ee9" }, - "mini.comment": { "branch": "main", "commit": "923cc39dc2d276e988268c353feb8c24627d180d" }, + "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, + "mini.move": { "branch": "main", "commit": "3afd39873eb9171684e554a214c055482444a47d" }, "mini.pairs": { "branch": "main", "commit": "963b800d0524eadd297199207011b98684205ada" }, "mini.surround": { "branch": "main", "commit": "ea2e9c4cdbddc826dc6eeac69b035f8220f65de5" }, - "neoconf.nvim": { "branch": "main", "commit": "bbf98ce53481e6e8d6507de5a6f18d3264fb0df7" }, - "neogen": { "branch": "main", "commit": "c0fd3dc9e7cc91181ea5a345c4b01c865626c81e" }, - "neogit": { "branch": "master", "commit": "5ea830c42d833bf425ec669abe2fb649afc6fc7c" }, - "neotest": { "branch": "master", "commit": "6435a367a57f267039c4c69a723cec09ae61b17e" }, + "neoconf.nvim": { "branch": "main", "commit": "3ed504868353505fc95577b0981483f8608ebb55" }, + "neogen": { "branch": "main", "commit": "de603d2f83a8eea7d799cc3e7a61ae02eb192110" }, + "neogit": { "branch": "master", "commit": "80be328067b370744c39323674a2ebaf515dea14" }, + "neotest": { "branch": "master", "commit": "10e6763d0794c70917faf45e8d869a1306d5182e" }, "neotest-go": { "branch": "main", "commit": "4e7a87967e45f2b357fd546b0b7877774191772e" }, "neotest-python": { "branch": "master", "commit": "6c06041cfb45f45e276068020baa06c06fe20d5c" }, - "noice.nvim": { "branch": "main", "commit": "c2a745a26ae562f1faecbf6177ac53377d2658d5" }, - "nui.nvim": { "branch": "main", "commit": "698e75814cd7c56b0dd8af4936bcef2d13807f3c" }, - "null-ls.nvim": { "branch": "main", "commit": "77e53bc3bac34cc273be8ed9eb9ab78bcf67fa48" }, - "nvim-cmp": { "branch": "main", "commit": "3ac8d6cd29c74ff482d8ea47d45e5081bfc3f5ad" }, + "noice.nvim": { "branch": "main", "commit": "7e358170cea2314d9768b3f63616e8fad186195e" }, + "nui.nvim": { "branch": "main", "commit": "2b2732528e4a79eb8542568bd51d25f710395bd6" }, + "null-ls.nvim": { "branch": "main", "commit": "4b055d84be42c90a7240785d3c83340d259d3d46" }, + "nvim-cmp": { "branch": "main", "commit": "fc0f694af1a742ada77e5b1c91ff405c746f4a26" }, "nvim-cokeline": { "branch": "master", "commit": "28b9ed6ef2afe8632557953be920543403965546" }, - "nvim-coverage": { "branch": "main", "commit": "7018f6d2b7fc8145bc32e0dfe9c1c63d7f6bced3" }, + "nvim-coverage": { "branch": "main", "commit": "8fcc71e01e93f305e334b59f902e545a70d0050f" }, "nvim-dap": { "branch": "master", "commit": "56118cee6af15cb9ddba9d080880949d8eeb0c9f" }, - "nvim-dap-ui": { "branch": "master", "commit": "4ce7b97dd8f50b4f672948a34bf8f3a56214fdb8" }, - "nvim-lspconfig": { "branch": "master", "commit": "6f1d124bbcf03c4c410c093143a86415f46d16a0" }, + "nvim-dap-ui": { "branch": "master", "commit": "c020f660b02772f9f3d11f599fefad3268628a9e" }, + "nvim-lspconfig": { "branch": "master", "commit": "9166622781a39a829878d1fd24c174529d996838" }, "nvim-navic": { "branch": "master", "commit": "15704c607569d6c5cfeab486d3ef9459645a70ce" }, "nvim-notify": { "branch": "master", "commit": "f3024b912073774111202f5fa6518b0cd2a74432" }, - "nvim-scrollbar": { "branch": "main", "commit": "f3a5469e9881360e70d34b25333c910ee4a505f3" }, + "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "1abe23ec9b7bc3082164f4cb842d521ef70e080e" }, - "nvim-tree.lua": { "branch": "master", "commit": "736c7ff59065275f0483af4b7f07a9bc41449ad0" }, - "nvim-treesitter": { "branch": "master", "commit": "3d5fe8caf85ff1e18963b0c6ded1cf6d3a648ffa" }, - "nvim-treesitter-context": { "branch": "master", "commit": "c8f3a62c64bf6f9fed11260a424207f780505f83" }, + "nvim-tree.lua": { "branch": "master", "commit": "e2a4c9d09d205ebe5f071264f43f73a0077c43a3" }, + "nvim-treesitter": { "branch": "master", "commit": "23dfae4db84f71e2ddb56c024845b322035182ee" }, + "nvim-treesitter-context": { "branch": "master", "commit": "24535437a9b62b9ec503c545f35e2ac298cd29df" }, "nvim-treesitter-refactor": { "branch": "master", "commit": "65ad2eca822dfaec2a3603119ec3cc8826a7859e" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "35a60f093fa15a303874975f963428a5cd24e4a0" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "95b76b95eff25e1e64f363938cd853852355d70a" }, "nvim-ts-autotag": { "branch": "main", "commit": "40615e96075c743ef47aaf9de966dc348bec6459" }, - "nvim-ts-rainbow2": { "branch": "master", "commit": "a1e460f126db0bc3dc9e0cbad157e5671ffd2046" }, - "nvim-web-devicons": { "branch": "master", "commit": "986875b7364095d6535e28bd4aac3a9357e91bbe" }, - "orgmode": { "branch": "master", "commit": "f6926dfde7b09928533cdb247406f7f0cb341f93" }, - "overseer.nvim": { "branch": "master", "commit": "2227cbeb0b1a46a4fc3bbf12d897ad4863c9c2df" }, + "nvim-ts-rainbow2": { "branch": "master", "commit": "5becf2cec4b8e06b6df745cf515ac35c6c2e6308" }, + "nvim-web-devicons": { "branch": "master", "commit": "2a125024a137677930efcfdf720f205504c97268" }, + "orgmode": { "branch": "master", "commit": "3d6acc695184a964741ef00dfe7c45028585215e" }, + "overseer.nvim": { "branch": "master", "commit": "d286e681c4efa7477fccb113e23ef645fcb43cac" }, "pantran.nvim": { "branch": "main", "commit": "a0f810a5383788ca333e48ea166eadf4812d12a0" }, "parinfer-rust": { "branch": "master", "commit": "3c769707ad3b18d530f696fe42a9d495139149ab" }, - "persistence.nvim": { "branch": "main", "commit": "c814fae5c37aa0aba9cd9da05df6e52b88d612c3" }, - "plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" }, + "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, + "plenary.nvim": { "branch": "master", "commit": "52544825d6b8be677eb395983515ad5e30ae1f2e" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "rest.nvim": { "branch": "main", "commit": "d8dc204e9f6fd930d9d1d709f0d19138f804431a" }, "sniprun": { "branch": "master", "commit": "83791b87a8ede5275a2c060605bf1fec782205cc" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, - "stickybuf.nvim": { "branch": "master", "commit": "52badff43a484ef49f20e9fad50c7276ac93b840" }, - "telescope-file-browser.nvim": { "branch": "master", "commit": "1aa7f12ce797bb5b548c96f38b2c93911e97c543" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, + "stickybuf.nvim": { "branch": "master", "commit": "fc75dc22d12e5446c72a0d5f067cd7a16b3d921a" }, + "telescope-file-browser.nvim": { "branch": "master", "commit": "6cf29d5139601993343c4e70ee2d1f67959d9cc5" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, "telescope-symbols.nvim": { "branch": "master", "commit": "f2060117d965df4a626f068a4ebbd8ee051aa076" }, - "telescope.nvim": { "branch": "master", "commit": "40c31fdde93bcd85aeb3447bb3e2a3208395a868" }, - "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, - "toggleterm.nvim": { "branch": "main", "commit": "26f16d3bab1761d0d11117a8e431faba11a1b865" }, + "telescope.nvim": { "branch": "master", "commit": "6d3fbffe426794296a77bb0b37b6ae0f4f14f807" }, + "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, + "toggleterm.nvim": { "branch": "main", "commit": "cf146a267a6a7db62b1e2aff40414b20081048a1" }, "treesj": { "branch": "main", "commit": "b1e2976c2d7ba922371cc7f3ab08b75136c27231" }, - "trouble.nvim": { "branch": "main", "commit": "2173dffe91fc0914b3b833c6a2f6fe1d3fac2e17" }, - "twilight.nvim": { "branch": "main", "commit": "2e13bd1886562b737f38c418ed542677b41ef5cb" }, + "trouble.nvim": { "branch": "main", "commit": "324c977cfeacb8498ca9ba1c74cc35bd18858a8d" }, + "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, "undotree": { "branch": "master", "commit": "485f01efde4e22cb1ce547b9e8c9238f36566f21" }, "venn.nvim": { "branch": "main", "commit": "c114563960b8fb1197695d42798d1f3e7190b798" }, "vim-log-highlighting": { "branch": "master", "commit": "1037e26f3120e6a6a2c0c33b14a84336dee2a78f" }, - "vim-matchup": { "branch": "master", "commit": "b8eca3b588e41e0bb1b3ae200fae88183b91a76d" }, + "vim-matchup": { "branch": "master", "commit": "02b906cf772811a6845f2d5caaa81152beb65d6b" }, "vim-nftables": { "branch": "master", "commit": "26f8a506c6f3e41f1e4a8d6aa94c9a79a666bbff" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vim-startuptime": { "branch": "master", "commit": "5ddaf24df23f4d151970987c1322eaa247f08e69" }, - "which-key.nvim": { "branch": "main", "commit": "5a6c954a5a46023c19acc03a8b6d7c3e57964fc5" }, - "zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" } + "vim-startuptime": { "branch": "master", "commit": "8eed46917c5c4882b295729ce053265c2a74ac4d" }, + "which-key.nvim": { "branch": "main", "commit": "e271c28118998c93a14d189af3395812a1aa646c" }, + "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } } \ No newline at end of file diff --git a/roles/config/files/nvim/lua/user/config/keymap.lua b/roles/config/files/nvim/lua/user/config/keymap.lua index 6777d9b..34ee29f 100644 --- a/roles/config/files/nvim/lua/user/config/keymap.lua +++ b/roles/config/files/nvim/lua/user/config/keymap.lua @@ -28,13 +28,9 @@ map('n', '', 'resize -2', { desc = 'Decrease window height' }) map('n', '', 'vertical resize -2', { desc = 'Decrease window width' }) map('n', '', 'vertical resize +2', { desc = 'Increase window width' }) --- Move lines -map('n', '', 'm .+1==', { desc = 'Move down' }) -map('n', '', 'm .-2==', { desc = 'Move up' }) -map('i', '', 'm .+1==gi', { desc = 'Move down' }) -map('i', '', 'm .-2==gi', { desc = 'Move up' }) -map('v', '', ":m '>+1gv=gv", { desc = 'Move down' }) -map('v', '', ":m '<-2gv=gv", { desc = 'Move up' }) +-- H, L instead of 0, $ +-- map({ 'n', 'x', 'o' }, 'H', '0') +-- map({ 'n', 'x', 'o' }, 'L', '$') -- Clear search with map({ 'i', 'n' }, '', 'noh', { desc = 'Escape and clear hlsearch' }) diff --git a/roles/config/files/nvim/lua/user/config/vars.lua b/roles/config/files/nvim/lua/user/config/vars.lua index dd41de7..020afa3 100644 --- a/roles/config/files/nvim/lua/user/config/vars.lua +++ b/roles/config/files/nvim/lua/user/config/vars.lua @@ -57,8 +57,8 @@ M.icons = { Object = { icon = '', hl = '@type' }, Key = { icon = '󰌋', hl = '@type' }, Null = { icon = '󰟢', hl = '@none' }, - EnumMember = { icon = '', hl = '@field' }, - Struct = { icon = '', hl = '@type' }, + EnumMember = { icon = '', hl = '@constant' }, + Struct = { icon = '', hl = '@lsp.type.struct' }, Event = { icon = '', hl = '@type' }, Operator = { icon = '', hl = '@operator' }, TypeParameter = { icon = '', hl = '@parameter' }, diff --git a/roles/config/files/nvim/lua/user/plugins/editor/init.lua b/roles/config/files/nvim/lua/user/plugins/editor/init.lua index 6a740bb..c15fe5f 100644 --- a/roles/config/files/nvim/lua/user/plugins/editor/init.lua +++ b/roles/config/files/nvim/lua/user/plugins/editor/init.lua @@ -236,6 +236,23 @@ return { }, opts = { use_default_keymaps = false, max_join_length = 150 }, }, + { + 'echasnovski/mini.move', + keys = { + { '', mode = { 'n', 'x' }, desc = 'Move left' }, + { '', mode = { 'n', 'x' }, desc = 'Move down' }, + { '', mode = { 'n', 'x' }, desc = 'Move up' }, + { '', mode = { 'n', 'x' }, desc = 'Move right' }, + }, + opts = { + options = { + reindent_linewise = true, + }, + }, + config = function(_, opts) + require('mini.move').setup(opts) + end, + }, { 'echasnovski/mini.ai', event = 'VeryLazy', diff --git a/roles/config/files/nvim/lua/user/plugins/ui/alpha.lua b/roles/config/files/nvim/lua/user/plugins/ui/alpha.lua index 06b18fe..cb41f87 100644 --- a/roles/config/files/nvim/lua/user/plugins/ui/alpha.lua +++ b/roles/config/files/nvim/lua/user/plugins/ui/alpha.lua @@ -1,4 +1,4 @@ -math.randomseed(os.time()) -- For random footer +local M = {} local header = { type = 'text', @@ -18,22 +18,6 @@ local header = { }, } -local loaded = { - type = 'text', - val = function() - local stats = require('lazy').stats() - return '🎉 Neovim loaded ' - .. stats.count - .. ' plugins in ' - .. (math.floor(stats.startuptime * 100 + 0.5) / 100) - .. 'ms' - end, - opts = { - position = 'center', - hl = 'DashboardFooter', - }, -} - local footers = { [[☆*:.。. o(≧▽≦)o .。.:*☆]], [[°˖✧ ◝(⁰▿⁰)◜✧˖°]], @@ -47,6 +31,7 @@ local footers = { [[ଘ(੭ *ˊᵕˋ)੭ * ੈ♡‧₊˚]], } +math.randomseed(os.time()) local footer = { type = 'text', val = footers[math.random(#footers)], @@ -62,7 +47,7 @@ local button = function(sc, txt, keybind, keybind_opts) local opts = { position = 'center', shortcut = sc, - cursor = 5, + cursor = 3, width = 50, align_shortcut = 'right', hl = 'DashboardCenter', @@ -100,18 +85,31 @@ local buttons = { opts = { spacing = 1 }, } -require('alpha').setup { +M.loaded = { + type = 'text', + val = '', -- this is overwritten in the autocmd at setup + opts = { + position = 'center', + hl = 'DashboardFooter', + }, +} + +M.config = { layout = { { type = 'padding', val = 7 }, header, { type = 'padding', val = 2 }, buttons, - loaded, + M.loaded, { type = 'padding', val = 1 }, footer, + { type = 'padding', val = 7 }, }, opts = { margin = 5, noautocmd = true, + redraw_on_resize = true, }, } + +return M diff --git a/roles/config/files/nvim/lua/user/plugins/ui/cokeline.lua b/roles/config/files/nvim/lua/user/plugins/ui/cokeline.lua index a564707..083e590 100644 --- a/roles/config/files/nvim/lua/user/plugins/ui/cokeline.lua +++ b/roles/config/files/nvim/lua/user/plugins/ui/cokeline.lua @@ -1 +1,16 @@ -return {} +local colors = require('user.themes.' .. vim.g.colors_name .. '.colors') + +local components = { + separator = { + text = function(buffer) + return buffer.index ~= 1 and '┃' or '' + end, + truncation = { priority = 1 }, + }, +} + +return { + buffers = { + filter_valid = function(buffer) return buffer.type ~= 'terminal' end, + }, +} diff --git a/roles/config/files/nvim/lua/user/plugins/ui/init.lua b/roles/config/files/nvim/lua/user/plugins/ui/init.lua index 14c3497..190a426 100644 --- a/roles/config/files/nvim/lua/user/plugins/ui/init.lua +++ b/roles/config/files/nvim/lua/user/plugins/ui/init.lua @@ -2,8 +2,35 @@ return { { 'goolord/alpha-nvim', event = 'VimEnter', - config = function() - require('user.plugins.ui.alpha') + opts = function() + return require('user.plugins.ui.alpha') + end, + config = function(_, dashboard) + -- close Lazy and re-open when the dashboard is ready + if vim.o.filetype == 'lazy' then + vim.cmd.close() + vim.api.nvim_create_autocmd('User', { + pattern = 'AlphaReady', + callback = function() + require('lazy').show() + end, + }) + end + + require('alpha').setup(dashboard.config) + + vim.api.nvim_create_autocmd('User', { + pattern = 'LazyVimStarted', + callback = function() + local stats = require('lazy').stats() + dashboard.loaded.val = '🎉 Neovim loaded ' + .. stats.count + .. ' plugins in ' + .. (math.floor(stats.startuptime * 100 + 0.5) / 100) + .. 'ms' + pcall(vim.cmd.AlphaRedraw) + end, + }) end, }, { diff --git a/roles/config/files/nvim/lua/user/themes/nord/init.lua b/roles/config/files/nvim/lua/user/themes/nord/init.lua index 025c649..07d7c64 100644 --- a/roles/config/files/nvim/lua/user/themes/nord/init.lua +++ b/roles/config/files/nvim/lua/user/themes/nord/init.lua @@ -21,6 +21,7 @@ M.termcolors = { c.white2, } +-- Ref: https://github.com/gbprod/nord.nvim M.highlights = { -- editor Normal = { fg = c.fg }, @@ -187,6 +188,7 @@ M.highlights = { ['@constant'] = { link = 'Constant' }, ['@constant.builtin'] = { fg = c.teal }, ['@constant.macro'] = { fg = c.teal }, + ['@conceal'] = { link = 'Conceal' }, ['@constructor'] = { fg = c.blue }, ['@debug'] = { link = 'Debug' }, ['@define'] = { link = 'Define' }, @@ -241,12 +243,12 @@ M.highlights = { ['@text.reference'] = { fg = c.purple, italic = true }, ['@text.environment'] = { fg = c.cyan }, ['@text.environment.name'] = { fg = c.purple, bold = true }, + ['@text.todo'] = { link = 'Todo' }, ['@text.note'] = { fg = c.blue, bold = true }, ['@text.warning'] = { fg = c.yellow, bold = true }, ['@text.danger'] = { fg = c.red, bold = true }, ['@text.todo.unchecked'] = { fg = c.blue, bold = true }, ['@text.todo.checked'] = { fg = c.green, bold = true }, - ['@todo'] = { link = 'Todo' }, ['@type'] = { link = 'Type' }, ['@type.builtin'] = { link = 'Type' }, ['@type.qualifier'] = { fg = c.dark_blue, bold = true, italic = true }, @@ -254,7 +256,28 @@ M.highlights = { ['@variable'] = { link = 'Variable' }, ['@variable.builtin'] = { link = 'Variable' }, - -- TODO: LSP semantic tokens + -- LSP semantic tokens + ['@lsp.type.class'] = { link = '@type' }, + ['@lsp.type.comment'] = { link = '@comment' }, + ['@lsp.type.enum'] = { link = '@type' }, + ['@lsp.type.enumMember'] = { link = '@constant' }, + ['@lsp.type.field'] = { link = '@field' }, + ['@lsp.type.function'] = { link = '@function' }, + ['@lsp.type.interface'] = { link = '@type' }, + ['@lsp.type.keyword'] = { link = '@keyword' }, + ['@lsp.type.method'] = { link = '@method' }, + ['@lsp.type.namespace'] = { link = '@namespace' }, + ['@lsp.type.parameter'] = { link = '@parameter' }, + ['@lsp.type.property'] = { link = '@property' }, + ['@lsp.type.struct'] = { link = 'Structure' }, + ['@lsp.type.typeParameter'] = { link = '@parameter' }, + ['@lsp.type.variable'] = {}, -- use treesitter styles for regular variables + ['@lsp.typemod.method.defaultLibrary'] = { link = '@function.builtin' }, + ['@lsp.typemod.function.defaultLibrary'] = { link = '@function.builtin' }, + ['@lsp.typemod.operator.injected'] = { link = '@operator' }, + ['@lsp.typemod.string.injected'] = { link = '@string' }, + ['@lsp.typemod.variable.defaultLibrary'] = { link = '@variable.builtin' }, + ['@lsp.typemod.variable.injected'] = { link = '@variable' }, -- LSP DiagnosticError = { fg = c.red }, @@ -514,4 +537,26 @@ M.highlights = { LazyReasonStart = { fg = c.orange, bold = true }, } +M.lualine = { + normal = { + a = { fg = c.grey1, bg = c.cyan }, + b = { fg = c.white1, bg = c.grey1 }, + c = { fg = c.white1, bg = c.grey2 }, + }, + insert = { + a = { fg = c.grey1, bg = c.fg }, + }, + replace = { + a = { fg = c.grey1, bg = c.yellow }, + }, + command = { + a = { fg = c.grey1, bg = c.purple }, + }, + inactive = { + a = { fg = c.fg, bg = 'NONE' }, + b = { fg = c.fg, bg = 'NONE' }, + c = { fg = c.fg, bg = c.grey1 }, + }, +} + return M diff --git a/roles/packages/tasks/pnpm-packages.yml b/roles/packages/tasks/pnpm-packages.yml index 45a58c9..f0b5af0 100644 --- a/roles/packages/tasks/pnpm-packages.yml +++ b/roles/packages/tasks/pnpm-packages.yml @@ -58,3 +58,7 @@ - name: packages | Install serverless tags: serverless command: pnpm add -g serverless@latest + +- name: packages | Install slidev + tags: slidev + command: pnpm add -g @slidev/cli@latest