linebender / linebender/runebender
Integrate VCS as a first class part of the tool
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 799
- Forks
- 35
- PR merge metrics
- No merged PRs in 30d
Description
I would like to propose adding some VCS integration on a first-class basis — not to make the font editor a full Git client of course, just to facilitate the bits where the font editor has more idea what is what than a third party generic VCS app would.
First detect whether the file being edited is also tracked in Git. If not, nothing changes. If so, add some options.
-
A "commit" option along side save that would save, stage, and commit the relevant UFO files. An extra check should probably make sure the rest of the repository status is clean before enabling this and show the feature disabled if the cache has anything in it.
-
Add a "revert" option that is basically an aggressive undo that backtracks to the last committed version. Perhaps this would function by stashing the current change, then resetting the file.
-
Add comparison functions such as a glyph editor background that shows a greyed out outline of the last commited state of a glyph. The git object store can be queried directly for the last saved object.
More is certainly possible, but if VCS was brought in as a first class part of the tooling I think the overall workflow could be radically different (and better) than any other tooling that is out there.
If this is an agreeable proposition I'm even willing to help out a bit with some implementation work. I'm not much of a graphic designer but I do have a pretty deep understanding of how Git works and I'm just getting up to speed with Rust.
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
The issue names no files, tests, or entry points. First narrow the proposal to a defined VCS workflow—detection, commit, revert, or comparison—then identify the relevant Rust editor areas; done requires an agreed scope and implementation that supports the selected workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, rust
- Domain
- devtools, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100