From 8aa845dcfb3e2fa68ba8c070d6987c1715adf8dc Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Tue, 2 Jul 2024 12:43:38 +0200 Subject: [PATCH 1/6] nvim: Update otter and quarto Fix small cmp completion source breaking change for new otter and quarto versions. --- nvim/.config/nvim/lazy-lock.json | 4 ++-- nvim/.config/nvim/lua/plugins/completion.lua | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index bd81b5b..736fc8c 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -70,11 +70,11 @@ "nvim-ts-autotag": { "branch": "main", "commit": "06fe07d7523ba8c755fac7c913fceba43b1720ee" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, "nvim-web-devicons": { "branch": "master", "commit": "5b9067899ee6a2538891573500e8fd6ff008440f" }, - "otter.nvim": { "branch": "main", "commit": "cbb1be0586eae18cbea38ada46af428d2bebf81a" }, + "otter.nvim": { "branch": "main", "commit": "45db1799625eacda838c196c728974058d922d80" }, "peek.nvim": { "branch": "master", "commit": "5820d937d5414baea5f586dc2a3d912a74636e5b" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, - "quarto-nvim": { "branch": "main", "commit": "a6e7452de5944f7f38a4b12f1d50e460c1dccd95" }, + "quarto-nvim": { "branch": "main", "commit": "09fabb62d414e56ee3245c558aaedbdc662b6493" }, "rainbow-delimiters.nvim": { "branch": "master", "commit": "12b1a1e095d968887a17ef791c2edb78d7595d46" }, "smartcolumn.nvim": { "branch": "main", "commit": "d01b99355c7fab13233f48d0f28dc097e68a03f7" }, "stickybuf.nvim": { "branch": "master", "commit": "2160fcd536d81f5fa43f7167dba6634e814e3154" }, diff --git a/nvim/.config/nvim/lua/plugins/completion.lua b/nvim/.config/nvim/lua/plugins/completion.lua index a97c9bb..c86b02d 100644 --- a/nvim/.config/nvim/lua/plugins/completion.lua +++ b/nvim/.config/nvim/lua/plugins/completion.lua @@ -100,7 +100,6 @@ return { account = vim.env["HOME"] .. "/documents/records/budget/main.beancount", -- TODO implement dynamically }, }, - { name = "otter" }, { name = "nvim_lsp" }, { name = "nvim_lsp_signature_help" }, { name = "luasnip", keyword_length = 1 }, From 1514eca6226ba23e8a218a70a21030c2c650d966 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Tue, 2 Jul 2024 13:08:07 +0200 Subject: [PATCH 2/6] nvim: Update to new conform.nvim version Update and fix small breaking change in new conform by specifically setting lsp formatting as fallback. Move to explicit ruff format import organizing and remove tailwind css lsp for the time being. --- nvim/.config/nvim/lazy-lock.json | 2 +- nvim/.config/nvim/lua/plugins/config/lsp.lua | 1 - nvim/.config/nvim/lua/plugins/ide.lua | 40 ++++++++++++++------ 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index 736fc8c..66a965e 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -23,7 +23,7 @@ "cmp-treesitter": { "branch": "master", "commit": "958fcfa0d8ce46d215e19cc3992c542f576c4123" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "completion-vcard": { "branch": "master", "commit": "2220fd517a985ececed1adcf0e5be8f2815564c7" }, - "conform.nvim": { "branch": "master", "commit": "797d1f622a23d4a21bb58218bdf5999a9beac4ef" }, + "conform.nvim": { "branch": "master", "commit": "60e6fbddbdf37d7790de07dc7420beefaf650e5e" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, "dressing.nvim": { "branch": "master", "commit": "572314728cb1ce012e825fd66331f52c94acac12" }, "fidget.nvim": { "branch": "main", "commit": "ef99df04a1c53a453602421bc0f756997edc8289" }, diff --git a/nvim/.config/nvim/lua/plugins/config/lsp.lua b/nvim/.config/nvim/lua/plugins/config/lsp.lua index b4e3236..6263dfb 100644 --- a/nvim/.config/nvim/lua/plugins/config/lsp.lua +++ b/nvim/.config/nvim/lua/plugins/config/lsp.lua @@ -39,7 +39,6 @@ local servers = { basedpyright = {}, ruff = {}, serve_d = {}, - tailwindcss = {}, taplo = {}, texlab = {}, tsserver = {}, diff --git a/nvim/.config/nvim/lua/plugins/ide.lua b/nvim/.config/nvim/lua/plugins/ide.lua index 3adafec..679c25d 100644 --- a/nvim/.config/nvim/lua/plugins/ide.lua +++ b/nvim/.config/nvim/lua/plugins/ide.lua @@ -16,21 +16,21 @@ local formatters = { astro = { { "prettierd", "prettier" } }, bash = { "shfmt" }, bib = { "bibtex-tidy" }, - css = { { "prettierd", "prettier" } }, + css = { { "prettierd", "prettier" }, "rustywind" }, graphql = { { "prettierd", "prettier" } }, - html = { { "prettierd", "prettier" } }, + html = { { "prettierd", "prettier" }, "rustywind" }, javascript = { { "prettierd", "prettier" } }, javascriptreact = { { "prettierd", "prettier" } }, json = { "jq" }, liquid = { { "prettierd", "prettier" } }, lua = { "stylua" }, markdown = { { "prettierd", "prettier" } }, - python = { "ruff_fix", "ruff_format" }, + python = { "ruff_fix", "ruff_format", "ruff_organize_imports" }, sh = { "shfmt" }, svelte = { { "prettierd", "prettier" } }, typescript = { { "prettierd", "prettier" } }, typescriptreact = { { "prettierd", "prettier" } }, - vue = { { "prettierd", "prettier" } }, + vue = { { "prettierd", "prettier" }, "rustywind" }, yaml = { { "prettierd", "prettier" } }, zsh = { "shfmt" }, } @@ -141,7 +141,7 @@ return { "stevearc/conform.nvim", config = function() require("conform").setup({ - lsp_fallback = true, + lsp_format = "fallback", format_after_save = function(bufnr) if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then return @@ -149,12 +149,6 @@ return { return { lsp_fallback = true } end, formatters_by_ft = formatters, - formatters = { - -- enable python isort functionality - ruff_fix = { - prepend_args = { "--select", "I" }, - }, - }, }) vim.api.nvim_create_user_command("FormatDisable", function(args) if args.bang then @@ -202,7 +196,7 @@ return { end, }, }, - event = { "BufReadPost", "BufNewFile", "BufWritePre" }, + event = { "BufWritePre" }, opts = {}, }, @@ -225,6 +219,28 @@ return { }, }, + -- automatic docstring creation for a variety of languages + { + "danymat/neogen", + dependencies = "nvim-treesitter/nvim-treesitter", + opts = { + snippet_engine = "luasnip", + }, + cmd = { + "Neogen", + }, + keys = { + { + "lg", + function() + require("neogen").generate() + end, + silent = true, + desc = "generate docstring", + }, + }, + }, + -- testing setup { "nvim-neotest/neotest", From 011942e049f1daae825898f5134d838ddcb086e6 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Tue, 2 Jul 2024 13:08:19 +0200 Subject: [PATCH 3/6] nvim: Update plugins --- nvim/.config/nvim/lazy-lock.json | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index 66a965e..fe88133 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -25,7 +25,7 @@ "completion-vcard": { "branch": "master", "commit": "2220fd517a985ececed1adcf0e5be8f2815564c7" }, "conform.nvim": { "branch": "master", "commit": "60e6fbddbdf37d7790de07dc7420beefaf650e5e" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, - "dressing.nvim": { "branch": "master", "commit": "572314728cb1ce012e825fd66331f52c94acac12" }, + "dressing.nvim": { "branch": "master", "commit": "71349f24c6e07b39f33600985843c289ca735308" }, "fidget.nvim": { "branch": "main", "commit": "ef99df04a1c53a453602421bc0f756997edc8289" }, "flash.nvim": { "branch": "main", "commit": "7bb4a9c75d1e20cd24185afedeaa11681829ba23" }, "friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" }, @@ -37,7 +37,7 @@ "image.nvim": { "branch": "master", "commit": "da64ce69598875c9af028afe129f916b02ccc42e" }, "img-clip.nvim": { "branch": "main", "commit": "fc30500c35663aa1762697f5aba31d43b86028f0" }, "jupytext.nvim": { "branch": "main", "commit": "c8baf3ad344c59b3abd461ecc17fc16ec44d0f7b" }, - "lazy.nvim": { "branch": "main", "commit": "c501b429cf995c645454539b924aaefae45bb9eb" }, + "lazy.nvim": { "branch": "main", "commit": "c882227f1fdc4580d14212df8f814a0772951e3d" }, "lsp-setup.nvim": { "branch": "main", "commit": "6e4e977512ce426d8b52c27f3b6e6aefc73e1452" }, "ltex_extra.nvim": { "branch": "dev", "commit": "57192d7ae5ba8cef3c10e90f2cd62d4a7cdaab69" }, "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, @@ -57,17 +57,17 @@ "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, "nvim-coverage": { "branch": "main", "commit": "aa4b4400588e2259e87e372b1e4e90ae13cf5a39" }, - "nvim-lint": { "branch": "master", "commit": "941fa1220a61797a51f3af9ec6b7d74c8c7367ce" }, - "nvim-lspconfig": { "branch": "master", "commit": "bd7c76375a511994c9ca8d69441f134dc10ae3bd" }, + "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, + "nvim-lspconfig": { "branch": "master", "commit": "53a3c6444ec5006b567071614c83edc8ad651f6d" }, "nvim-nio": { "branch": "master", "commit": "7969e0a8ffabdf210edd7978ec954a47a737bbcc" }, - "nvim-surround": { "branch": "main", "commit": "687ea2f33955df0042bf228853a82696265e7e2d" }, + "nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" }, "nvim-toggleterm.lua": { "branch": "main", "commit": "066cccf48a43553a80a210eb3be89a15d789d6e6" }, "nvim-tree.lua": { "branch": "master", "commit": "2086e564c4d23fea714e8a6d63b881e551af2f41" }, "nvim-treesitter": { "branch": "master", "commit": "f197a15b0d1e8d555263af20add51450e5aaa1f0" }, "nvim-treesitter-context": { "branch": "master", "commit": "5efba33af0f39942e426340da7bc15d7dec16474" }, "nvim-treesitter-endwise": { "branch": "master", "commit": "8b34305ffc28bd75a22f5a0a9928ee726a85c9a6" }, - "nvim-treesitter-textsubjects": { "branch": "master", "commit": "1428108f18ce9d8cc4481dcedebeeb490eabf395" }, - "nvim-ts-autotag": { "branch": "main", "commit": "06fe07d7523ba8c755fac7c913fceba43b1720ee" }, + "nvim-treesitter-textsubjects": { "branch": "master", "commit": "a8d2844bba925d9450ef7ab215f3b054028288ca" }, + "nvim-ts-autotag": { "branch": "main", "commit": "ddfccbf0df1b9349c2b9e9b17f4afa8f9b6c1ed1" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, "nvim-web-devicons": { "branch": "master", "commit": "5b9067899ee6a2538891573500e8fd6ff008440f" }, "otter.nvim": { "branch": "main", "commit": "45db1799625eacda838c196c728974058d922d80" }, @@ -78,10 +78,11 @@ "rainbow-delimiters.nvim": { "branch": "master", "commit": "12b1a1e095d968887a17ef791c2edb78d7595d46" }, "smartcolumn.nvim": { "branch": "main", "commit": "d01b99355c7fab13233f48d0f28dc097e68a03f7" }, "stickybuf.nvim": { "branch": "master", "commit": "2160fcd536d81f5fa43f7167dba6634e814e3154" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "935bedf39c440de2f97ce58dbbb44a40402057c1" }, "telescope-luasnip.nvim": { "branch": "master", "commit": "11668478677de360dea45cf2b090d34f21b8ae07" }, "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, - "trouble.nvim": { "branch": "main", "commit": "09380a8ed0694dbfbbcf59f9eaac499e259cb75c" }, + "texpresso.vim": { "branch": "main", "commit": "1cc949fde8ed3220968039b6b1b6ccdd9f475087" }, + "trouble.nvim": { "branch": "main", "commit": "57761ba7148164f0315ed203e714ac242329abd4" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "undotree": { "branch": "main", "commit": "eab459ab87dd249617b5f7187bb69e614a083047" }, "vifm.vim": { "branch": "master", "commit": "a8130c37d144b51d84bee19f0532abcd3583383f" }, From db86edf4cea722061c9e172474fb1238617daa97 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Wed, 3 Jul 2024 09:46:13 +0200 Subject: [PATCH 4/6] nvim: Fix lsp key mapping for markdown files We forgot to pass through the original on_attach function when loading the custom marksman one, now fixed. --- nvim/.config/nvim/lua/plugins/config/lsp.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nvim/.config/nvim/lua/plugins/config/lsp.lua b/nvim/.config/nvim/lua/plugins/config/lsp.lua index 6263dfb..7054d1d 100644 --- a/nvim/.config/nvim/lua/plugins/config/lsp.lua +++ b/nvim/.config/nvim/lua/plugins/config/lsp.lua @@ -157,12 +157,13 @@ lspconfig.nushell.setup({}) lspconfig.marksman.setup({ filetypes = { "markdown", "quarto" }, on_attach = function(client, bufnr) - -- TODO: for some reason this is always true even though it shouldn't be + -- TODO: for some reason this stays true even after rootdir switch? if client.config.in_zk_notebook then vim.defer_fn(function() vim.lsp.buf_detach_client(bufnr, client.id) end, 1000) end + on_attach(client, bufnr) end, on_new_config = function(conf, new_root) if require("lspconfig.util").root_pattern(".zk")(new_root) then @@ -218,6 +219,7 @@ if require("core.util").is_available("arduino") then }) end +-- attach ltex for fitting ft only when spell checking becomes enabled vim.api.nvim_create_autocmd("User", { pattern = "SpellEnable", callback = function() From 01809f1ee5d6f4763d8050803db30e2fbc768db6 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Wed, 3 Jul 2024 09:46:42 +0200 Subject: [PATCH 5/6] qutebrowser: Add bookwyrm search engine --- qutebrowser/config/searchengines.py | 1 + 1 file changed, 1 insertion(+) diff --git a/qutebrowser/config/searchengines.py b/qutebrowser/config/searchengines.py index 68312dc..cbbfdcd 100644 --- a/qutebrowser/config/searchengines.py +++ b/qutebrowser/config/searchengines.py @@ -5,6 +5,7 @@ c.url.searchengines = { "anna": "https://annas-archive.org/search?q={}", "aur": "https://aur.archlinux.org/packages/?K={}", "bgg": "https://boardgamegeek.com/geeksearch.php?action=search&q={}&objecttype=boardgame", + "bw": "https://bookwyrm.social/search?q={}", "d": "https://www.dict.cc/?s={}", "ddg": "https://duckduckgo.com/?q={}", "dt": "https://www.deepl.com/translator#en/de/{}", From 19c95400f79f3b74bdb0fe60c4c5afea539f30a5 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Sat, 20 Jul 2024 14:01:06 +0200 Subject: [PATCH 6/6] nvim: Add scratchpad item to start screen Added an item to quickly create a scratchpad to the mini.starter template. The difference to opening a default empty buffer is that it is seen as ephemeral (i.e. will not complain if you close vim without saving) and it sets the default filetype to markdown. Closes 753ed1f. --- nvim/.config/nvim/lua/personal/scratchpad.lua | 6 +++--- nvim/.config/nvim/lua/plugins/core.lua | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/nvim/.config/nvim/lua/personal/scratchpad.lua b/nvim/.config/nvim/lua/personal/scratchpad.lua index 676d9c4..7a51a4d 100644 --- a/nvim/.config/nvim/lua/personal/scratchpad.lua +++ b/nvim/.config/nvim/lua/personal/scratchpad.lua @@ -6,7 +6,7 @@ appear in the buffer list. Useful for e.g. jotting down quick notes and thoughts If called with bang, will replace the current buffer with the scratch window, otherwise opens a new split. -The buffer, by default is set to the pandoc filetype. +The buffer, by default is set to the markdown filetype. This can be changed by setting the `g:scratchpad_ft` variable or the `b:scratchpad_ft` variable to the intended filetype. ]] @@ -25,9 +25,9 @@ function M.create(split, ft) else split = true end - -- which filetype to set for the scratchpad, defaults to pandoc + -- which filetype to set for the scratchpad, defaults to markdown if isempty(ft) then - ft = vim.b["scratchpad_ft"] or vim.g["scratchpad_ft"] or "pandoc" + ft = vim.b["scratchpad_ft"] or vim.g["scratchpad_ft"] or "markdown" end local buf = api.nvim_create_buf(false, true) diff --git a/nvim/.config/nvim/lua/plugins/core.lua b/nvim/.config/nvim/lua/plugins/core.lua index b1dd640..878f302 100644 --- a/nvim/.config/nvim/lua/plugins/core.lua +++ b/nvim/.config/nvim/lua/plugins/core.lua @@ -173,6 +173,11 @@ return { evaluate_single = true, items = { starter.sections.builtin_actions(), + { + name = "Scratchpad", + action = "lua require('personal.scratchpad').create()", + section = "Builtin actions", + }, starter.sections.recent_files(10, true), starter.sections.recent_files(10, false), -- Use this if you set up 'mini.sessions'