From b21b2be13521a9cd215f39f0eb022f942e031adc Mon Sep 17 00:00:00 2001 From: winston Date: Thu, 13 Jul 2023 08:37:01 +0200 Subject: [PATCH] feat(nvim): typescript-tools, dark sync, presence fix --- home/apps/neovim/lazy-lock.json | 42 +++++++++---------- home/apps/neovim/lua/lsp/webdev.lua | 5 +-- .../neovim/lua/plugins/auto-dark-mode.lua | 31 ++------------ home/apps/neovim/lua/plugins/lsp.lua | 1 + home/apps/neovim/lua/plugins/presence.lua | 25 +++++------ 5 files changed, 40 insertions(+), 64 deletions(-) diff --git a/home/apps/neovim/lazy-lock.json b/home/apps/neovim/lazy-lock.json index 4e61a92..33ed75a 100644 --- a/home/apps/neovim/lazy-lock.json +++ b/home/apps/neovim/lazy-lock.json @@ -1,11 +1,10 @@ { - "LuaSnip": { "branch": "master", "commit": "a658ae2906344a1d2b9c507738e585cf68e685c7" }, + "LuaSnip": { "branch": "master", "commit": "45a4e899ca8f54936fe32ead6bba65f2a8d42e12" }, "alpha-nvim": { "branch": "main", "commit": "9e33db324b8bb7a147bce9ea5496686ee859461d" }, "asyncrun.vim": { "branch": "master", "commit": "7191d0c30dd105e5d7f897b9a6ee19cabe734466" }, "asynctasks.vim": { "branch": "master", "commit": "784a4b1f75a913cc6c43dd6c4dbe69d648dbbfa5" }, - "auto-dark-mode.nvim": { "branch": "master", "commit": "7d15094390f1a0638a5e533022e99a6aa503dbdf" }, - "bufferline.nvim": { "branch": "main", "commit": "2f391fde91b9c3876eee359ee24cc352050e5e48" }, - "catppuccin": { "branch": "main", "commit": "278bfeb61bd627dc2a8885180a0441a1ebe65a41" }, + "bufferline.nvim": { "branch": "main", "commit": "cd27a52ecdfed7f14a41b61b7976f155e3d593c7" }, + "catppuccin": { "branch": "main", "commit": "3ffd2f511f3dc6c01258923d7170ccaf1445634b" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-git": { "branch": "main", "commit": "f900a4cf117300fdc3ba31d26f8b6223ccd9c574" }, @@ -15,42 +14,42 @@ "color-picker.nvim": { "branch": "master", "commit": "06cb5f853535dea529a523e9a0e8884cdf9eba4d" }, "comment.nvim": { "branch": "master", "commit": "176e85eeb63f1a5970d6b88f1725039d85ca0055" }, "copilot.lua": { "branch": "master", "commit": "e48bd7020a98be217d85c006a298656294fd6210" }, - "diffview.nvim": { "branch": "main", "commit": "94f5f40543e393d9028bae9ce2fedf6da3af701a" }, + "diffview.nvim": { "branch": "main", "commit": "b0cc22f5708f6b2b4f873b44fbc5eb93020f4e0c" }, "dressing.nvim": { "branch": "master", "commit": "e6eff7a5a950a853c3903d906dbcea03f778db5f" }, "editorconfig.nvim": { "branch": "master", "commit": "5b9e303e1d6f7abfe616ce4cc8d3fffc554790bf" }, "fidget.nvim": { "branch": "legacy", "commit": "90c22e47be057562ee9566bad313ad42d622c1d3" }, - "friendly-snippets": { "branch": "main", "commit": "7f6681b7d1eebba024f0caf6576fc1e94578b9cc" }, - "gitsigns.nvim": { "branch": "main", "commit": "dc2962f7fce953a2a98e7c6d3d7fc4c1d1f66758" }, + "friendly-snippets": { "branch": "main", "commit": "ca668b7a4a2913ad1109b5e4aaf0013651956b13" }, + "gitsigns.nvim": { "branch": "main", "commit": "48c3ae8ec74cb83f9570ceb0c5ab8217db7a2220" }, "glance.nvim": { "branch": "master", "commit": "3e7158ffaaa0fa1f7268df30ae40f24c07b840d1" }, "go.nvim": { "branch": "master", "commit": "6550ddf5ce491d17af009c397aceb25310566eaa" }, "guihua.lua": { "branch": "master", "commit": "ab8b1f09603cc268770efd057115035dc6cfa83d" }, "headlines.nvim": { "branch": "master", "commit": "ddef41b2664f0ce25fe76520d708e2dc9dfebd70" }, "indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" }, - "lazy.nvim": { "branch": "main", "commit": "5af331ea65418dc9361769891921fdee4bcc837a" }, + "lazy.nvim": { "branch": "main", "commit": "14d76aac4bd3ff07c1fca074c210f28f766a931e" }, "lightspeed.nvim": { "branch": "main", "commit": "299eefa6a9e2d881f1194587c573dad619fdb96f" }, "lsp-status.nvim": { "branch": "master", "commit": "54f48eb5017632d81d0fd40112065f1d062d0629" }, "lspkind.nvim": { "branch": "master", "commit": "57610d5ab560c073c465d6faf0c19f200cb67e6e" }, "ltex-extra.nvim": { "branch": "master", "commit": "f32a4ca33857a61a8cf8dcd4177fa1d02e16dee0" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "markdown-preview.nvim": { "branch": "master", "commit": "02cc3874738bc0f86e4b91f09b8a0ac88aef8e96" }, - "neodev.nvim": { "branch": "main", "commit": "0705c72c281626f45c78d0916151d3e2bfb53fae" }, + "neodev.nvim": { "branch": "main", "commit": "fed7f27480ac6bda777cb36f2d6737c8ccc580fe" }, "neogit": { "branch": "master", "commit": "1b6edb56e8c754494be1564912d33e50ddd8a023" }, - "neorg": { "branch": "main", "commit": "32bae172814611f82e90b696b72cac99ff8de0e9" }, + "neorg": { "branch": "main", "commit": "c801ae5165423f4c70841e548208c74da86acf72" }, "neovim-session-manager": { "branch": "master", "commit": "51827268c5ee56567b7033af9ed547ab704553b9" }, "null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" }, "nvim-autopairs": { "branch": "master", "commit": "e8f7dd7a72de3e7b6626c050a802000e69d53ff0" }, - "nvim-cmp": { "branch": "main", "commit": "2743dd989e9b932e1b4813a4927d7b84272a14e2" }, + "nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-dap": { "branch": "master", "commit": "bb1ddce6cd951ef3c1319e4fd8596131113163c3" }, + "nvim-dap": { "branch": "master", "commit": "3bde6f786057fa29d8356559b2ae3a52d9317fba" }, "nvim-dap-ui": { "branch": "master", "commit": "c020f660b02772f9f3d11f599fefad3268628a9e" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "57f1dbd0458dd84a286b27768c142e1567f3ce3b" }, - "nvim-lspconfig": { "branch": "master", "commit": "deade69789089c3da15237697156334fb3e943f0" }, - "nvim-navic": { "branch": "master", "commit": "e3b9d8a974bec71b88d5640f1c87bf5b4a7e4113" }, + "nvim-lspconfig": { "branch": "master", "commit": "f88fc62d9770e70faab132ddfed680e49fb012f3" }, + "nvim-navic": { "branch": "master", "commit": "6e8850a524307814decc1b195a2c8a51482a9886" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, - "nvim-spectre": { "branch": "master", "commit": "dc3f0bd41e09148924ef04a4746cb708539d08db" }, + "nvim-spectre": { "branch": "master", "commit": "6edac44e10b94b88bf3067fae937915172a3f825" }, "nvim-surround": { "branch": "main", "commit": "10b20ca7d9da1ac8df8339e140ffef94f9ab3b18" }, - "nvim-tree.lua": { "branch": "master", "commit": "4af572246ce49883e2a52c49203a19984454f2e0" }, - "nvim-treesitter": { "branch": "master", "commit": "ec7db4ba3f4dd9c1d7faab48d982c254a648023b" }, + "nvim-tree.lua": { "branch": "master", "commit": "a708bd2413d467929b5019ec1bce7b1f428438bc" }, + "nvim-treesitter": { "branch": "master", "commit": "575f5a4b1fcb60c1ac4f560c46a5171454d674ca" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-web-devicons": { "branch": "master", "commit": "9ab9b0b894b2388a9dbcdee5f00ce72e25d85bf9" }, @@ -59,9 +58,9 @@ "plenary.nvim": { "branch": "master", "commit": "bda256fab0eb66a15e8190937e417e6a14ee5d72" }, "presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, "py_lsp.nvim": { "branch": "main", "commit": "5b2bd6433a2dbab76d54d58ccc1d1e89b220091c" }, - "rainbow-delimiters.nvim": { "branch": "master", "commit": "7ca76423b0040e7f2c05553d8950d56dcb449f5b" }, - "rust-tools.nvim": { "branch": "master", "commit": "71d2cf67b5ed120a0e31b2c8adb210dd2834242f" }, - "schemastore.nvim": { "branch": "main", "commit": "78c53f2ce05b7209bf5e2e2b2e25c72a3c1444b2" }, + "rainbow-delimiters.nvim": { "branch": "master", "commit": "862e0f5e867e1a4c93e3efe73d4c71b7b6d3fec8" }, + "rust-tools.nvim": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" }, + "schemastore.nvim": { "branch": "main", "commit": "cd5c2a0db954011fcbeac7bbbc0c7ae9e23626e3" }, "telescope-asynctasks.nvim": { "branch": "main", "commit": "065300fb0a8ba6a1c81991da1873c73e136dcdc0" }, "telescope-file-browser.nvim": { "branch": "master", "commit": "e03ff55962417b69c85ef41424079bb0580546ba" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, @@ -72,13 +71,14 @@ "toggleterm.nvim": { "branch": "main", "commit": "95204ece0f2a54c89c4395295432f9aeedca7b5f" }, "trouble.nvim": { "branch": "main", "commit": "d99e2abd10808ef91738ce98a5c767e6a51df449" }, "true-zen.nvim": { "branch": "main", "commit": "2b9e210e0d1a735e1fa85ec22190115dffd963aa" }, + "typescript-tools.nvim": { "branch": "master", "commit": "1b0af278f7415bc8fbb8128af99622dffcf5a9c2" }, "vim-dadbod": { "branch": "master", "commit": "7d80bbd11c407a09e0f7b869c38f3dec3902805f" }, "vim-dadbod-completion": { "branch": "master", "commit": "fc7321a17f4c55db11fae89a884ddf4724020bae" }, "vim-dadbod-ui": { "branch": "master", "commit": "200aebf70e6fc4b0eb1d3ecf0d57028e198d8dc6" }, "vim-fugitive": { "branch": "master", "commit": "43f18ab9155c853a84ded560c6104e6300ad41da" }, "vim-gnupg": { "branch": "main", "commit": "f9b608f29003dfde6450931dc0f495a912973a88" }, "vim-helm": { "branch": "master", "commit": "c2e7b85711d410e1d73e64eb5df7b70b1c4c10eb" }, - "vim-just": { "branch": "main", "commit": "f3f03c7ab7e1bf9555704a9d6bc11c6ba621c373" }, + "vim-just": { "branch": "main", "commit": "ceabb579cf085cee5ebd361625c237cb565f5af3" }, "vim-table-mode": { "branch": "master", "commit": "9555a3e6e5bcf285ec181b7fc983eea90500feb4" }, "vim-wakatime": { "branch": "master", "commit": "018fa9a80c27ccf2a8967b9e27890372e5c2fb4f" }, "which-key.nvim": { "branch": "main", "commit": "d871f2b664afd5aed3dc1d1573bef2fb24ce0484" } diff --git a/home/apps/neovim/lua/lsp/webdev.lua b/home/apps/neovim/lua/lsp/webdev.lua index 9be6894..266c6ca 100644 --- a/home/apps/neovim/lua/lsp/webdev.lua +++ b/home/apps/neovim/lua/lsp/webdev.lua @@ -31,10 +31,7 @@ M.setup = function(opts) }, opts)) -- attach tsserver only when there's a 'package.json' file in the CWD - lspconfig.tsserver.setup(vim.tbl_extend("keep", { - root_dir = lspconfig.util.root_pattern("package.json"), - single_file_support = false, - }, opts)) + require("typescript-tools").setup({ on_attach = opts.on_attach }) -- attach deno only when there's a 'deps.ts' file in the CWD lspconfig.denols.setup(vim.tbl_extend("keep", { diff --git a/home/apps/neovim/lua/plugins/auto-dark-mode.lua b/home/apps/neovim/lua/plugins/auto-dark-mode.lua index a99dd89..f3fc859 100644 --- a/home/apps/neovim/lua/plugins/auto-dark-mode.lua +++ b/home/apps/neovim/lua/plugins/auto-dark-mode.lua @@ -1,32 +1,9 @@ ---@type LazyPluginSpec[] return { { - "f-person/auto-dark-mode.nvim", - cond = vim.fn.has("mac"), - config = function() - local autodm = require("auto-dark-mode") - - local update_neovide_background = function() - if not vim.g.neovide then - return - end - local ctp_present, ctp = pcall(require, "catppuccin.palettes") - if ctp_present then - vim.g.neovide_background_color = ctp.get_palette().base - end - end - - autodm.setup({ - set_dark_mode = function() - vim.api.nvim_set_option("background", "dark") - update_neovide_background() - end, - set_light_mode = function() - vim.api.nvim_set_option("background", "light") - update_neovide_background() - end, - }) - autodm.init() - end, + "nekowinston/auto-dark-mode.nvim", + branch = "feat/linux-support", + dir = "/home/winston/Code/winston/auto-dark-mode.nvim", + opts = {}, }, } diff --git a/home/apps/neovim/lua/plugins/lsp.lua b/home/apps/neovim/lua/plugins/lsp.lua index 8087539..72a0c51 100644 --- a/home/apps/neovim/lua/plugins/lsp.lua +++ b/home/apps/neovim/lua/plugins/lsp.lua @@ -25,6 +25,7 @@ return { "b0o/schemastore.nvim", "hallerpatrick/py_lsp.nvim", "simrat39/rust-tools.nvim", + "pmizio/typescript-tools.nvim", { "ray-x/go.nvim", dependencies = { "ray-x/guihua.lua" } }, { "rcarriga/nvim-dap-ui", diff --git a/home/apps/neovim/lua/plugins/presence.lua b/home/apps/neovim/lua/plugins/presence.lua index e84be48..b03bd6d 100644 --- a/home/apps/neovim/lua/plugins/presence.lua +++ b/home/apps/neovim/lua/plugins/presence.lua @@ -15,28 +15,28 @@ return { local blacklist = { [vim.fn.resolve(home .. "work")] = "Using nvim at work.", [vim.fn.resolve(home .. "freelance")] = "Using nvim to freelance.", - [vim.fn.resolve(vim.fn.stdpath("config"))] = "Configuring nvim. (" - .. require("lazy").stats().count - .. " plugins)", } + ---@param activity string? + ---@param info string? + ---@return {text: string, state: boolean} local conceal = function(activity, info) local cur_file = vim.fn.expand("%:p") for k, v in pairs(blacklist) do if starts_with(cur_file, k) then - return v + return { text = v, state = true } end end if info ~= nil then - return activity .. " " .. info + return { text = activity .. " " .. info, state = false } end + return { text = activity, state = false } end local v = vim.version() local vStr = string.format("v%d.%d.%d", v.major, v.minor, v.patch) presence:setup({ - -- General options auto_update = true, debounce_timeout = 10, neovim_image_text = "Neovim " .. vStr, @@ -44,7 +44,8 @@ return { main_image = "file", show_time = true, buttons = function(_, repo_url) - local concealed = conceal() + local concealed = conceal().state + if concealed then return { { @@ -55,7 +56,7 @@ return { else return { { - label = "View the repository", + label = "Steal the code", url = repo_url, }, } @@ -93,17 +94,17 @@ return { }, -- Rich Presence text options editing_text = function(s) - return conceal("Editing", s) + return conceal("Editing", s).text end, reading_text = function(s) - return conceal("Reading", s) + return conceal("Reading", s).text end, file_explorer_text = function(s) - return conceal("Browsing", s) + return conceal("Browsing", s).text end, workspace_text = function(s) local concealed = conceal() - if s ~= nil and not concealed then + if s ~= nil and not concealed.state then return "Working on " .. s else return nil