Skip to content

Conversation

@std-enigma
Copy link
Contributor

Description

This PR updates the keybinding for the treesj.nvim plugin in the AstroNvim community repository.
Previously, treesj was bound to <leader>m, which conflicted with several other community plugins such as:

  • molten-nvim
  • harp-nvim
  • multicursors-nvim
  • global-note-nvim
  • multiple-cursors-nvim

Since treesj.nvim and mini.splitjoin provide equivalent functionality (code block splitting and joining), this PR aligns treesj’s keybinding with mini.splitjoin, changing it from <leader>m to gS.

This ensures consistent behavior and resolves keymapping conflicts across the community repo.


Breaking Changes ⚠️

  • treesj-nvim: Default keybinding has changed from <leader>mgS
    Users who previously used <leader>m for treesj will need to update their workflow or define a custom binding in their personal config.

Summary

This change:

  • Fixes overlapping <leader>m mappings.
  • Aligns keybindings for tools offering identical functionality.
  • Improves overall user experience and uniformity within the community ecosystem.

@github-actions
Copy link

Review Checklist

Does this PR follow the [Contribution Guidelines](development guidelines)? Following is a partial checklist:

Proper conventional commit scoping:

  • If you are adding a new plugin, the scope would be the name of the category it is being added into. ex. feat(utility): added noice.nvim plugin

  • If you are modifying a pre-existing plugin or pack, the scope would be the name of the plugin folder. ex. fix(noice-nvim): fix LSP handler error

  • Pull request title has the appropriate conventional commit type and scope where the scope is the name of the pre-existing directory in the project as described above

  • README is properly formatted and uses fenced in links with <url> unless they are inside a [title](url)

  • Entry returns a single plugin spec with the new plugin as the only top level spec (not applicable for recipes or packs).

  • Proper usage of opts table rather than setting things up with the config function.

  • Proper usage of specs table for all specs that are not dependencies of a given plugin (not applicable for recipes or packs).

@Uzaaft
Copy link
Member

Uzaaft commented Oct 14, 2025

The reason for the m key is because that the example config in the docs(I see now that they also use j and s for other keys, so we should probably add those).
The gS key conflicts with other plugins. I'm in favour of just keeping <Leader>m as is. Wdyt @azdanov.

(Also keeping the astrocommunity itself free of conflicts between the different packs/plugins is not feasible and not a goal)

@azdanov
Copy link
Contributor

azdanov commented Oct 14, 2025

Yeah, makes sense to use default https://github.com/Wansmer/treesj#installation otherwise it might be confusing as to why it's gS here, yet in the upstream readme it's something else.

Also, gS seems very difficult to type. But that's just my preference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants