diffplug / diffplug/gitcasso

modify or replace OverType

Open
#99 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
HTML
Stars
58
Forks
0
PR merge metrics
No merged PRs in 30d

Description

We are currently using the [OverType](https://overtype.dev/) library for syntax highlighting. Our biggest problem with it is that we are using it to *modify* text areas, but it's really built to *create* them. We're working against its nature in lots of places.

For example, right now we don't / can't enhance text areas by default, we only enhance very specific ones that we have targeted. This is because when we enhance a text area, we clobber its styling, and we have to manually put it all back how it was:

https://github.com/diffplug/gitcasso/blob/57fe5689b094d7ea9475e613fd033f4987c37fb0/src/lib/enhancers/github/GitHubPrAppendEnhancer.tsx#L71-L75

Also, whatever method it uses to listen for changes doesn't always work. For example, when images get dragged on to the GitHub textarea, the preview unsyncs briefly, but this can fix it:

https://github.com/diffplug/gitcasso/blob/57fe5689b094d7ea9475e613fd033f4987c37fb0/src/lib/enhancers/github/GitHubPrAppendEnhancer.tsx#L77-L82

Changes we have made:

- several removals of functionality related to
- added support for GitHub hashlinks e.g. `#34` https://github.com/diffplug/overtype/commit/f5149dce2125e1f3749961eaa4f12b75af648946

Contributor guide

Open the contributing guide

Research direction

Start by reading src/lib/enhancers/github/GitHubPrAppendEnhancer.tsx at the linked styling and change-listener sections, then review the current OverType integration and the listed fork changes. Done means modifying or replacing OverType so enhanced text areas retain their styling, stay synchronized when images are dragged in, and preserve GitHub hashlink support.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, react, typescript
Domain
frontend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.