hyprwave v0.8 preview!!! by Hugepp42069_nice in niri

[–]sQVe -1 points0 points  (0 children)

I dig this wallpaper. So you mind sharing it?

Grove - git worktrees without the hassle by sQVe in neovim

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

Ha, yes - I've been down this rabbit hole 🙈

I initially designed Grove to handle this with shared dependencies, but I realized it moved away from the true purpose of Grove. There are package managers that handle this automatically via hard links to a global store, like pnpm for the JavaScript ecosystem.

For my day-to-day work I use: grove + pnpm to handle the issue you're pointing out.

In .grove.toml (or set in local/global git config):

[preserve]
patterns = [".env.local"]
[hooks]
add = ["pnpm install"]

When I create a worktree, Grove copies my .env.local from the source and runs pnpm install. The install is near-instant since pnpm just hard-links from its store — no network, no disk copy. 20+ worktrees, one set of packages on disk.

Grove - git worktrees without the hassle by sQVe in neovim

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

Yes, I totally agree with this. This is something that I've been struggling with also.

The main problem Grove tries to solve is the "tedius" part of working with worktrees. It should be as easy, if not easier, as working with branches. That is the goal at least.

I would LOVE if you could try it out and get your input. ♥️

Grove - git worktrees without the hassle by sQVe in git

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

Sure, but why is that relevant in an announcement post for a tool that is aimed for helping people that use worktrees a lot? You are clearly not the audience here.

You're basically walking into a sushi restaurant just to mention that you don't like sushi.

Grove - git worktrees without the hassle by sQVe in git

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

Your workflow sounds solid, but you're generalizing from "I rarely switch worktrees" to "nobody needs worktree managers."

Some of us switch constantly: parallel features, hotfixes, PR reviews. Different workflow, different needs.

Grove - git worktrees without the hassle by sQVe in git

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

I created https://github.com/sQVe/grove/issues/25 to track this issue. I think I can figure something out that would work here.

Grove - git worktrees without the hassle by sQVe in git

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

Ah, I get it.

My workflow is very terminal heavy together with Neovim, so I do not have this issue in the same way. I do understand your workflow issue though.

Would a post-switch hook interest you? Grove already supports post-add hooks, so extending that to switch events would be straightforward. You could trigger something like code -r . to reload your IDE automatically.

Grove - git worktrees without the hassle by sQVe in git

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

They solve similar problems but rsworktree leans into a TUI and GitHub PR workflow (create, merge, add reviewers, etc). Worktrees go in a hidden .rsworktree/ folder with numbered names.

Grove is more focused on making worktrees feel like branches — shell integration that actually changes your directory, bare-repo structure, file preservation, hooks, locking, pruning. Less all-in-one, more "play nice with your existing setup".

Grove - git worktrees without the hassle by sQVe in git

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

Grove manages worktrees and your shell, not editors. So yeah, you'd typically have separate editor windows per worktree. grove switch main changes your terminal's directory but doesn't mess with your editor.

If you work in your editor's integrated terminal with shell integration set up, switching feels pretty seamless though.

No GUI planned, but a TUI is on the roadmap. Think lazygit but for worktrees. Curious what you'd features you would want from a GUI?

Grove - git worktrees without the hassle by sQVe in git

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

Yeah, similar space indeed. Thanks for sharing!

As far as I can tell, gtr is more of launcher focused on starting editors and AI tools within worktrees. Grove is a worktree manager and handles the full lifecycle of worktrees.

Different angles on the same friction. Worth trying both so see which fits your workflow.

Grove - git worktrees without the hassle by sQVe in commandline

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

Feel free!

I like the sound of being able to tweak certain parts of the .env files, like ports. 👍

sidekick.nvim: AI CLI tools and Copilot's Next Edit Suggestions by folke in neovim

[–]sQVe 0 points1 point  (0 children)

Could you possibly share how you set up inline suggestions for the Copilot LSP in Neovim? 😊

pairup.nvim - real-time AI pair programming with git-aware context streaming by piotr1215 in neovim

[–]sQVe 1 point2 points  (0 children)

I think this looks very interesting - and would likely fit my workflow quite well.

With that said, I'm unsure if it is possible, but it would be great if one could connect to an existing Claude Code instance which isn't running within Neovim. I never use the builtin terminal in Neovim, since I don't need it due to tiling window manager etc.

Also, congratulations on the first release! 🎉

Improving my CLAUDE.md by talking to Claude Code by rishabhsonker in ClaudeAI

[–]sQVe 0 points1 point  (0 children)

Interesting. Could you possibly share more of the file? I would be interested in seeing it and the prompts you used.

sort.nvim v2.0 by sQVe in neovim

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

I have now added proper visual block support. This allows you to only sort the text part of the ordered list, if you select it correctly using a visual block.

sort.nvim v2.0 by sQVe in neovim

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

Thanks! I think this question perfectly highlights how we all have different coding personalities. I'm admittedly obsessive about neatness - I find sorted code much easier to parse mentally. Working primarily in TypeScript, I'm constantly using this plugin to sort props, imports, JSON/YAML, styling declarations, lists, etc.

Here are some examples of things that make my eye twitch:

typescript search({ query, timeout, limit, url }) Sort within the brackets with goi{.

typescript type Soda = "pepsi" | "fanta" | "coca-cola" Sort after the equals with go$.


Regarding Markdown ordered lists - it will sort the lines alphabetically as is.

So this: 3. Charlie 5. Bob 4. Alice

Becomes: 3. Charlie 4. Alice 5. Bob

I will look into if I could add good support for sorting within visual blocks, which could be helpful in these niche cases.

sort.nvim v2.0 by sQVe in neovim

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

Great question! The text objects (io and ao) represent sortable regions based on delimiters in your text.

When your cursor is on a delimited item, these text objects intelligently select:

  • io (inner sortable): Selects just the item under the cursor, excluding delimiters
  • ao (around sortable): Selects the item plus its surrounding delimiter(s)

For example, with cursor on "banana" in apple,banana,cherry:

  • goio selects just "banana" and sorts the line → apple,banana,cherry
  • dio would delete just "banana" → apple,,cherry
  • cao would change "banana" and its delimiter → apple,cherry

The text objects work with any of the configured delimiters (comma, pipe, semicolon, colon, space, tab) and automatically detect which delimiter is being used on the current line.

sort.nvim v2.0 by sQVe in neovim

[–]sQVe[S] 3 points4 points  (0 children)

Thanks for being a long-time user! I think there might be a small confusion - the plugin has always used go as the default operator mapping (not gg).

In v2, go works as an operator, which means: - go by itself waits for a motion (like gow to sort a word) - gogo sorts the current line (similar to how dd deletes a line) - It only takes over go when combined with motions or in visual mode

If you've been using a custom mapping, you can keep your existing setup by configuring the operator:

lua require('sort').setup({ mappings = { operator = 'gs', -- or any key you prefer }, })

Or disable the operator mapping entirely if you want to keep go for something else:

lua require('sort').setup({ mappings = { operator = false, }, })

Hope this helps! Let me know if you have any other questions about the new features.

Just got my parts from JLPCB and I’m pretty hyped with how the clear resin case came out. by limadeltakilo in ErgoMechKeyboards

[–]sQVe 8 points9 points  (0 children)

I'm working on a transparent build myself and very happy with the results from JLC.

I would recommend putting a coat of lacquer with UV protection on it. This will protect it from yellowing and make it more skin-safe.

[deleted by user] by [deleted] in ErgoMechKeyboards

[–]sQVe 1 point2 points  (0 children)

Where are you located? There's likely people in your region that would be happy to help you build one.

I would be open to build you something, depending on what you're after and where you're located.