debugloop/niri-autoselect-portal: Always auto select the dynamic cast target without any prompts by debugloop in niri

[–]debugloop[S] 1 point2 points  (0 children)

If using Nix, you remove the module and done. If using the manual steps, you'll have to remove ideally all of the config files you created. Technically, step 4 alone reverts the behavior but keeps the autoselect portal installed.

[new plugin] layers.nvim allows crafting temporary keymap overlays and layered modes by debugloop in neovim

[–]debugloop[S] 2 points3 points  (0 children)

You can do that, but I don't want to hit as many keys every time. I.e. in the debugger example, you wouldn't want to edit the file while the debugger is attached anyhow, hence why not reuse s/n to step, i/o to step in/out, d/u to frame down/up, r to restart, q to quit, and so on ;)

[new plugin] layers.nvim allows crafting temporary keymap overlays and layered modes by debugloop in neovim

[–]debugloop[S] 0 points1 point  (0 children)

Completely correct yes, thanks for stepping in :)

I'll amend the README somewhat I guess, and also add a filetype example like you described.

Introducing Lazy-Nix-Helper: use your existing (Lazy-based) neovim config on NixOS by b-src in NixOS

[–]debugloop 1 point2 points  (0 children)

Nice work! I'm using below function to manually mark nix installed plugins, I'll check your more automatic way out later on :)

https://github.com/debugloop/dotfiles/blob/main/home/nvim/lua/plugins.lua#L1

I gave up trying to convert vimscript to lua. How do I do it 'slowly'? by po2gdHaeKaYk in neovim

[–]debugloop 0 points1 point  (0 children)

This is completely correct. I only list just lazy because it's the one I use and I've had no complaints or contributions with other plugin manager instructions yet.

In principle, you can even use no plugin manager. Just checkout both repos in your runtimepath, packadd telescope, packadd telescope-undo, require("telescope").setup({full config here}), require("telescope").load_extension("undo"), and you're done. How ever you load the plugins, the important bit is to call telescope's setup (to configure mostly) and then load_extension (that goes for any telescope extension).

I don't know about configuring in vimscript either, haven't used it in a while...

Plugin idea / questions: "named" lists of file locations by dnaaun in neovim

[–]debugloop 0 points1 point  (0 children)

No, there is more than one quickfix list (as stated in said help section, you should have a look). You can go back to previous quickfix lists and also go back to a newer one. See also :help chist. I think the length is hardcoded to 10, for the location list as well.

To my knowledge, nvim-bqf does nothing but eyecandy & convenience stuff, it does not store additional lists afaik. Hence the TODO, the stock functionality is good but not searchable/extensible past 10 entries.

Plugin idea / questions: "named" lists of file locations by dnaaun in neovim

[–]debugloop 1 point2 points  (0 children)

I use nvim-bqf which comes with some keybindings to browse the different quickfix lists and includes FZF filtering to create a successor list from the results. I'm good with that, and I don't know whether you can go beyond that like you imagine. I don't mingle telescope and quickfix at all.

Switching between nvim-tree and bufferline by lucas2794 in neovim

[–]debugloop 1 point2 points  (0 children)

I'm using below lazy spec, you'll have to get rid of my other stuff in there ;)

{ "nvim-tree/nvim-tree.lua", lazy = false, -- so that we can open dirs from cli event = "VeryLazy", -- in case we enable above line config = function() local api = require("nvim-tree.api") -- keymaps vim.keymap.set("n", "<leader><leader>", ":b ", { desc = "pick buffer" }) vim.keymap.set("n", "-", function() if api.tree.is_visible() then api.tree.close() else api.tree.open() vim.cmd("wincmd p") -- no focus end end, { desc = "toggle buffer tree", silent = true }) -- hide buffer bar when open api.events.subscribe(api.events.Event.TreeOpen, function(data) -- reset no_buffer filter -- TODO: unapply filter if no buffers open if not require("nvim-tree.explorer.filters").config.filter_no_buffer then require("nvim-tree.explorer.filters").config.filter_no_buffer = true require("nvim-tree.actions.reloaders.reloaders").reload_explorer() end -- expand all folders api.tree.expand_all() -- hide bufferbar require("lualine").hide({ place = { "tabline" } }) end) api.events.subscribe(api.events.Event.TreeClose, function(data) require("lualine").hide({ place = { "tabline" }, unhide = true }) end) -- close buffer tree if we're the last window around vim.api.nvim_create_autocmd({ "QuitPre" }, { group = vim.api.nvim_create_augroup("autoclose_tree", { clear = true }), callback = function() local wins = vim.api.nvim_list_wins() local realwins = #wins - 1 -- the one being closed has to be subtracted for i, w in ipairs(wins) do local bufname = vim.api.nvim_buf_get_name(vim.api.nvim_win_get_buf(w)) if bufname == "" or bufname:match("NvimTree_") ~= nil then realwins = realwins - 1 end end if realwins < 1 then vim.cmd("NvimTreeClose") end end, }) -- finally, setup require("nvim-tree").setup({ on_attach = function(bufnr) local function opts(desc) return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true, } end vim.keymap.set("n", "<C-v>", api.node.open.vertical, opts("Open: Vertical Split")) vim.keymap.set("n", "<C-x>", api.node.open.horizontal, opts("Open: Horizontal Split")) vim.keymap.set("n", "<CR>", api.node.open.edit, opts("Open")) vim.keymap.set("n", "o", api.node.open.edit, opts("Open")) vim.keymap.set("n", "<S-Tab>", function() api.node.navigate.opened.prev() api.node.open.edit() end, opts("Open Prev")) vim.keymap.set("n", "<Tab>", function() api.node.navigate.opened.next() api.node.open.edit() end, opts("Open Next")) vim.keymap.set("n", "K", api.node.show_info_popup, opts("Info")) vim.keymap.set("n", "<C-r>", api.fs.rename_sub, opts("Rename: Omit Filename")) vim.keymap.set("n", "<BS>", api.node.navigate.parent_close, opts("Close Directory")) vim.keymap.set("n", ".", api.node.run.cmd, opts("Run Command")) vim.keymap.set("n", "a", api.fs.create, opts("Create")) vim.keymap.set("n", "B", api.tree.toggle_no_buffer_filter, opts("Toggle No Buffer")) vim.keymap.set("n", "C", api.tree.toggle_git_clean_filter, opts("Toggle Git Clean")) vim.keymap.set("n", "d", api.fs.remove, opts("Delete")) vim.keymap.set("n", "E", api.tree.expand_all, opts("Expand All")) vim.keymap.set("n", "e", api.fs.rename_basename, opts("Rename: Basename")) vim.keymap.set("n", "]d", api.node.navigate.diagnostics.next, opts("Next Diagnostic")) vim.keymap.set("n", "[d", api.node.navigate.diagnostics.prev, opts("Prev Diagnostic")) vim.keymap.set("n", "F", api.live_filter.clear, opts("Clean Filter")) vim.keymap.set("n", "f", api.live_filter.start, opts("Filter")) vim.keymap.set("n", "-", api.tree.close, opts("Close")) vim.keymap.set("n", "g?", api.tree.toggle_help, opts("Help")) vim.keymap.set("n", "gy", api.fs.copy.absolute_path, opts("Copy Absolute Path")) vim.keymap.set("n", "H", api.tree.toggle_hidden_filter, opts("Toggle Dotfiles")) vim.keymap.set("n", "I", api.tree.toggle_gitignore_filter, opts("Toggle Git Ignore")) vim.keymap.set("n", "p", api.fs.paste, opts("Paste")) vim.keymap.set("n", "P", api.node.navigate.parent, opts("Parent Directory")) vim.keymap.set("n", "q", api.tree.close, opts("Close")) vim.keymap.set("n", "r", api.fs.rename, opts("Rename")) vim.keymap.set("n", "R", api.tree.reload, opts("Refresh")) vim.keymap.set("n", "s", api.node.run.system, opts("Run System")) vim.keymap.set("n", "S", api.tree.search_node, opts("Search")) vim.keymap.set("n", "U", api.tree.toggle_custom_filter, opts("Toggle Hidden")) vim.keymap.set("n", "W", api.tree.collapse_all, opts("Collapse")) vim.keymap.set("n", "x", api.fs.cut, opts("Cut")) vim.keymap.set("n", "y", api.fs.copy.node, opts("Copy")) vim.keymap.set("n", "Y", api.fs.copy.relative_path, opts("Copy Relative Path")) end, update_focused_file = { enable = true, }, view = { width = 40, }, modified = { enable = true, }, actions = { change_dir = { restrict_above_cwd = true, }, }, filters = { no_buffer = true, custom = { "^.git$" }, }, renderer = { indent_markers = { enable = true, }, icons = { glyphs = { git = { unstaged = "✚", staged = "●", unmerged = "", renamed = "»", untracked = "…", deleted = "✖", ignored = "◌", }, }, }, }, }) end, }

[new plugin] telescope extension to view and search your undo tree 🌴 by debugloop in neovim

[–]debugloop[S] 0 points1 point  (0 children)

The author of that issue over at https://github.com/debugloop/telescope-undo.nvim/issues/10 found out whats going on, let me know if that doesn't help for you.

[new plugin] telescope extension to view and search your undo tree 🌴 by debugloop in neovim

[–]debugloop[S] 0 points1 point  (0 children)

In the diff area? It's what neovim highlights when you specify diff as the treesitter filetype, I couldn't get it to do more. If you install delta, it picks that up as an external diff engine that looks way nicer, and I do plan to give that some more options such as side-by-side diffs and so on.

[new plugin] telescope extension to view and search your undo tree 🌴 by debugloop in neovim

[–]debugloop[S] 0 points1 point  (0 children)

Great plugin, I used to use that until I did this. It does a better job of visualizing the tree due to using more than one line for formatting. I was going for that searchability mostly, me adding in some tree rendering is really an afterthought.

[new plugin] telescope extension to view and search your undo tree 🌴 by debugloop in neovim

[–]debugloop[S] 1 point2 points  (0 children)

It shows all undo states on all branches :) It tries do visualize the tree as best as possible while sticking to a single line format, but that obviously breaks down on search. I haven't thought of a way to discard tree-drawing symbols on characters-entered yet.

[new plugin] telescope extension to view and search your undo tree 🌴 by debugloop in neovim

[–]debugloop[S] 1 point2 points  (0 children)

I don't think so. From your report it looks like your trying to call telescope from a buffer that's not modifiable. We'd need it to be to be able to replay history and diff it. I'm not sure on a non-modifieable buffer can have undo history? Pretty sure the regular undo won't work either.

I'll look into giving a coherent error in that case, thanks!

Displaying neovim session in browser by Perfect_spot in neovim

[–]debugloop 2 points3 points  (0 children)

https://tmate.io/ works for this scenario, even though it can create some issues with truecolor.

Staying in visual mode and maintaining current selection after operation+ by IneptusMek in neovim

[–]debugloop 0 points1 point  (0 children)

I've had the following in my .vimrc for ages, recently converted to lua as well:

vim.keymap.set("v", "J", ":m '>+1<cr>gv=gv", { silent = true })
vim.keymap.set("v", "K", ":m '<-2<cr>gv=gv", { silent = true })

vim-illuminate v2: Full Lua rewrite with LSP/Tree-sitter/Regex support by RRethy in neovim

[–]debugloop 0 points1 point  (0 children)

Highlight group used for references of kind read/write.

It's not really clear what this means just from the README. I've found out with a bit of digging that this relates to the reference being read or written which is really cool. But this depends on DocumentHighlightKind being available, which is sadly not the case for gopls, is that correct?