CodeEditApp / CodeEditApp/CodeEdit
✨ Cursor Customization
- Lingua principale
- Swift
- Stelle
- 23k
- Fork
- 1.2k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
### Description
We should allow the user to customize their cursor both in the editor and in the terminal.
These customizations include:
- Cursor shape
- Bar
- Underline
- Block
- Cursor thickness (if shape is Bar or Underline)
- Rounded corners
- Cursor color (active and inactive)
- Accent Color
- Neutral
- Cursor transition between positions
- Cursor blink style
- Blink
- Smooth
- Phase
- Expand
- Solid (no blinking)
The blink styles [seen in VS Code](https://chrisoncode.hashnode.dev/animating-your-vs-code-cursor-with-cursor-blinking) are:
| Style | Preview |
| - | - |
| Blink |
|
| Smooth |
|
| Phase |
|
| Expand |
|
| Solid |
|
We might experiment to offer other variations of these (maybe phase+expand for example).
I’d imagine there are many possible ways this can be configured. We might provide the following configurations, we could even use these configurations internally to create presets and then allow the user to add a custom style by playing with these values shown below.
| Configuration | Default (Blink) | Smooth | Phase | Expand | Solid |
| ----------------------------- | --------------- | ------ | ----- | ------ | ----- |
| blink on duration | 0.5s | 0.5s | 0.5s | 0.5s | 0.5s |
| blink off duration | 0.5s | 0.5s | 0.5s | 0.5s | 0.5s |
| transition in duration | 0s | 0.05s | 0.2s | 0.2s | 0s |
| transition out duration | 0s | 0.05s | 0.2s | 0.2s | 0s |
| opacity at on state | 1 | 1 | 1 | 1 | 1 |
| opacity at off state | 0 | 0 | 0 | 0 | 1 |
| vertical scale at on state | 1 | 1 | 1 | 1 | 1 |
| vertical scale at off state | 1 | 1 | 1 | 0 | 1 |
| horizontal scale at on state | 1 | 1 | 1 | 1 | 1 |
| horizontal scale at off state | 1 | 1 | 1 | 1 | 1 |
@CodeEditApp/maintainers What are your thoughts around this?
### Considerations
This applies to both our editor which uses [STTextView](https://github.com/krzyzanowskim/STTextView) and the terminal which uses [SwiftTerm](https://github.com/migueldeicaza/SwiftTerm). I've created [this discussion](https://github.com/migueldeicaza/SwiftTerm/discussions/279) in SwiftTerm to discuss how this might be done in coordination with their project.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.