micro-editor / micro-editor/micro
Expose commands and keybindings to plugins
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 29.6k
- Forks
- 1.4k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 10
Description
Please expose commands and their key bindings to Lua plugins.
Commands include Micro built-ins (set, bind, run, help, tab...) and those installed by plugins (jumptag, references, menuedit...).
Keybindings include defaults (Ctrl-S save) and those defined by user and plugins (F1 command:cheat).
Plugins should be able to read the actual, current situation of all commands and all keybindings in Micro.
Use case
I wrote Palettero command palette plugin. As seen in bug #523 Suggestion: Command Search-As-You-Type, there is demand for command palette in Micro.
Palettero would need to get fresh list of commands and keybindings to show them to user.
Currently, I was able to retrieve runtime files, such as colorschemes and help files, but not commands and keybindings. For commands, I had to resort to just showing built-ins but not those defined by plugins.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing Micro's Lua plugin API and the code that registers built-in and plugin commands, default and user keybindings. Determine how to expose the current command and keybinding sets, including plugin additions and user overrides. Done means a plugin such as Palettero can retrieve fresh lists of all commands and keybindings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, lua
- Domain
- api, cli, developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100