Consolidate use of monarch lexer
- Dominant language
- JavaScript
- Stars
- 6.5k
- Forks
- 183
- Avg merge
- 4h 10m
- Merged PRs (30d)
- 3
Description
We currently have three(!) nearly identical copies of the imba monarch lexer in the repo. Right now it is mostly used in the typescript-imba-plugin, but we also have a need for it in vscode-imba and various other tooling related projects. To clean this up we need to ...
- [ ] Make typescript-imba-plugin depend on the imba-monarch code and remove `typescript-imba-plugin/src/lexer` dir
- [ ] Make imba depend on imba-monarch code and remove the `imba/src/program` files
- [ ] Publish imba-monarch as a separate package
- [ ] Use imba-monarch in vscode-imba to do semantic coloring outside of the typescript-imba-plugin
Contributor guide
Research direction
Start by comparing the three lexer copies, especially typescript-imba-plugin/src/lexer and the imba/src/program files, and identify the existing imba-monarch code. Review the TypeScript plugin, imba, and vscode-imba package boundaries before deciding how the shared package should be published. Done means the listed consumers use imba-monarch, duplicate files are removed, the package is published, and vscode-imba supports semantic coloring outside the plugin.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100