Textual Adds a Command Palette
textual.textualize.io
textual.textualize.io
As the builder of LeapTable (https://github.com/peterwnjenga/leaptable), an open-source low-code database powered by AI agents, one of the first pieces of feedback I received from early users was the desire for slash commands similar to Notion.
After evaluating different options, I settled on incorporating PlateJS (https://platejs.org/docs/mention) to enable @mention-style slash commands in LeapTable's React-based interface.
PlateJS proved to be a great fit for easily bringing robust slash command capabilities into our webapp. The @mention commands allow for convenient execution of actions, integration with external services, and automation workflows.
For any other React developers looking to incorporate flexible, Notion-style slash commands into their webapps, I highly recommend checking out PlateJS. It provided the perfect building block for enabling rich slash command interactions in LeapTable.
I'm happy to change my mind, maybe there's good use cases for it/people that really like the concept... but every time I have to use one, it feels suboptimal. As if there was a logical menu structure & keymap on the roadmap, but the software needed shipping, so now everything is everywhere and the user will just have to search for it.
Edit: thank you everyone for the thoughtful replies. I will try to love these things in the coming weeks.
there are definitely use cases where a command palette is a vast improvement over navigating through multiple folders/menus, and it keeps your hands from leaving the keyboard
The Textual CP can also provide dynamic commands. Like opening a file. If I wanted to open "foo.py" I could hit "ofp" to match the "open foo.py" command (or any other matching fuzzy search). That's likely to be faster than a file open dialog.
Of course, it's not called a "command palette"; normally Emacs calls it `execute-extended-command`, and more commonly people will refer to it as the minibuffer.
But that's just me doing the angry-old-man-yells-about-ancient-useful-UI thing. ;-)
and of course Microsoft Teams (preview) breaks it.