ayamir / nvimdots

A well configured and structured Neovim.
BSD 3-Clause "New" or "Revised" License
2.82k stars 450 forks source link

Questions (Thoughts) regarding recent changes #1213

Closed Jint-lzxy closed 2 months ago

Jint-lzxy commented 3 months ago

Version confirmation

Following prerequisites

Not a user config issue

Neovim version

NVIM v0.9.5

Operating system/version

macOS 14.4.1 (23E224)

Terminal name/version

kitty 0.33.1

$TERM environment variable

kitty

Branch info

main (Default/Latest)

Fetch Preferences

SSH (use_ssh = true)

How to reproduce the issue

Sorry for not being active for a long time lol things got pretty hectic recently. I've been trying to catch up with all the changes here over the past couple of days (though not completely there yet), but I've got some questions and thoughts:

  1. I'm curious why sindrets/diffview.nvim got removed? I checked #1196 and #1198 but couldn't find any useful info (or maybe I just missed something in my speedy scroll lmao, my bad). Initially, I thought maybe there's a better alternative, but it doesn't seem like https://github.com/ayamir/nvimdots/commit/61c817fd3e20c426a327314a8d3574f2361e6b80 introduced changes for that, right? I also thought about vim-fugitive (heavy user here lmao), but maybe that's not as straightforward compared to diffview.nvim?

  2. Is there a slicker way to write _G._buf_vtext introduced in https://github.com/ayamir/nvimdots/commit/ccd5eda2471e6690d443b8d88eee527e16548b7e? AFAIK there's vim.region() (or in nightly, vim.getregion()), which intuitively fetches content from the corresponding region without the need for the intermediate step (using registers). Plus, using registers might make it tricky for neovim to distinguish some control characters (check :h copy-move).

  3. Why did we remove gelguy/wilder.nvim? It has some features that cmp-cmdline lacks (like Man.lua completion) and has been using APIs that have been around for some time, so it's unlikely to suddenly stop working in recent neovim releases. Personally, I feel like just because a plugin isn't actively maintained doesn't mean it's unusable, especially when it offers some irreplaceable and non-bloated functionality (though yeah, I might be a bit biased towards wilder.nvim, sorry about that).

  4. Maybe we could think about providing a "silent install" option? I briefly mentioned my thoughts in https://github.com/ayamir/nvimdots/issues/1185#issuecomment-2016515594.

  5. It seems like we've introduced (official?) support for nightly builds in https://github.com/ayamir/nvimdots/commit/9a15365566b5fcafdd7f80e623ad29f02777b1c4? I'm wondering because nightly tends to have "some sort of" changes frequently, so supporting it might come with a bunch of potential small issues. And since neovim is still mostly backward compatible, installing the stable-version config for nightly builds doesn't appear to pose significant issues.

Expected behavior

1/3. Thinking of reintroducing sindrets/diffview.nvim (along with gelguy/wilder.nvim).

  1. Rewrite _G._buf_vtext using vim.region().
  2. Adding a "silent install" option.
  3. Maybe we can give a heads up to nightly users that corresponding configs (e.g., branch 0.10) are available (instead of just installing the nightly-version config), but since they're not officially supported, suggesting they try fixing issues themselves or stick to stable versions.

Actual behavior

No response

Additional information

No response

ayamir commented 3 months ago

Glad to see you are back again! 1/3. Some plugins-related issues are discussed in #1196. Overall changes were basically our personally opinion's intersection. Of course, your questions are also reasonable. (personally I prefer wilder.nvim, want to remove vim-fugitive and be neutral about diffview.nvim.)

  1. my bad, maybe using vim.region() is a better choice.
  2. slice install seems can't complete all of install tasks like installation of lsps, treesitters, and other plugins build task. At least that's what I tried before, it's also one part of reason of the termination of #1080.
  3. 0.10 branch is also usable but maybe have some little bugs. Adding some side notes in readme for users may help.
CharlesChiuGit commented 2 months ago

Also can we add smartyank back? At first, I think we have some native nvim support of remote yanking/pasting in 0.10, but it doesn't seem like the case.

ayamir commented 2 months ago

Also can we add smartyank back? At first, I think we have some native nvim support of remote yanking/pasting in 0.10, but it doesn't seem like the case.

The reason why I remove smartyank is that someday I suddenly found its repo and the author ibhagwan are 404 not found. Seems it has been recovered normally, I'd glad to add it back. EDITED: https://github.com/ayamir/nvimdots/commit/188b626aec3801618464df66c71465e3c132bc7f

CharlesChiuGit commented 2 months ago

nice! tks!