You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
LSP-* packages may want to extend the context menu with additional server-specific commands.
Example from VS Code:
The "LSP" submenu was introduced in 8491948 and the "id" for the LSP menu entries was removed in this commit. Extending a submenu from other packages is only possible if the submenu label has an "id". It would work, but then it will be at the bottom of the context menu, because all entries with "id" are appended to the bottom, after the native entries from the Default package (see https://docs.sublimetext.io/guide/customization/menus.html#menu-merging).
(Specific entries from LSP-* helper packages could be hidden for not applicable files via the is_visible method of the command)
Alternative
We could also remove the "LSP" submenu again, and add back all menu items to the top-level context menu (without "id"). Then they will still be at the top, and LSP-* packages could just add their own items in a similar way. Due to ST's ordering by package name when merging resource files, they would immediately follow the LSP standard items then. To save space, we could also hide all disabled standard items via is_visible(), rather than just disable/grey out them via is_enabled().
Alternative 2
LSP-* packages could also add their own submenu under the "LSP" submenu. But this is super ugly and also I think there is no way to hide this, even when all submenu items are hidden via is_visible(). So in this case you would end up with a non-functional submenu without any items even for unrelated files:
Note that currently I don't have any concrete implementation, I'm just experimenting a bit. So this request isn't super urgent, but it would be useful to find a better solution for the future. Any opinions?
The text was updated successfully, but these errors were encountered:
LSP-* packages may want to extend the context menu with additional server-specific commands.
Example from VS Code:
The "LSP" submenu was introduced in 8491948 and the "id" for the LSP menu entries was removed in this commit. Extending a submenu from other packages is only possible if the submenu label has an "id". It would work, but then it will be at the bottom of the context menu, because all entries with "id" are appended to the bottom, after the native entries from the Default package (see https://docs.sublimetext.io/guide/customization/menus.html#menu-merging).
(Specific entries from LSP-* helper packages could be hidden for not applicable files via the
is_visible
method of the command)Alternative
We could also remove the "LSP" submenu again, and add back all menu items to the top-level context menu (without "id"). Then they will still be at the top, and LSP-* packages could just add their own items in a similar way. Due to ST's ordering by package name when merging resource files, they would immediately follow the LSP standard items then. To save space, we could also hide all disabled standard items via
is_visible()
, rather than just disable/grey out them viais_enabled()
.Alternative 2
LSP-* packages could also add their own submenu under the "LSP" submenu. But this is super ugly and also I think there is no way to hide this, even when all submenu items are hidden via
is_visible()
. So in this case you would end up with a non-functional submenu without any items even for unrelated files:Note that currently I don't have any concrete implementation, I'm just experimenting a bit. So this request isn't super urgent, but it would be useful to find a better solution for the future. Any opinions?
The text was updated successfully, but these errors were encountered: