Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Peritext rendering surface UI improvements #724

Open
9 of 29 tasks
streamich opened this issue Oct 15, 2024 · 0 comments
Open
9 of 29 tasks

Peritext rendering surface UI improvements #724

streamich opened this issue Oct 15, 2024 · 0 comments

Comments

@streamich
Copy link
Owner

streamich commented Oct 15, 2024

  • Ability to provide custom renderers for all elements.
    • Caret
    • Selection anchor
    • Selection focus
    • Selection body
    • Inline
    • Leaf block
    • Block
    • Whole document
  • Ability to compose many renderer maps together.
  • Ability to add custom events.
  • Handle soft line navigation.
    • Detect soft line wrap boundaries.
  • Ability to provide suggestions, inlay hints.
    • Spellcheking
    • Integration with LLM
  • Add concept of blurred cursor. The cursor becomes grey when editor loses focus, when editor regains focus, the starting cursor position is where the blurred cursor was left.
  • When navigating with ArrowLeft and ArrowRight, allow to move half-point, i.e. one Peritext point unit, which is not necessarily skipping a whole character. Instead, when pressing RightArrow, it could move from the After anchor of the current character to Before anchor of the next character.
  • In multi-cursor setting, when cursor selections (or carets) overlap, join the cursors.
  • Support for autocompletion popups.
  • cursor event
    • Fix selection mouse down behavior.
    • Support model-space locations Point<T>.
    • Cleanup CursorDetail, len should just be number.
  • Narrow down DOM controller depedency types, pick only what is necessary from event objects.
  • In all cursor edges, in view, render the side specifying to which character anchor point the cursor is attached.
  • Rename both cursor to caret.
  • Add ability to compute .hash for Inline nodes and use that for memoization.
  • Reset pressed key on window resize, this will handle Devtools open event.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant