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

Proposal: Migration to CodeMirror 6 editor #1002

Closed
11 tasks
bummoblizard opened this issue Jan 26, 2024 · 3 comments
Closed
11 tasks

Proposal: Migration to CodeMirror 6 editor #1002

bummoblizard opened this issue Jan 26, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@bummoblizard
Copy link
Member

bummoblizard commented Jan 26, 2024

Background

Code App uses Monaco Editor as its core text editor. It is feature-rich and compatible with VS Code features that our users are familiar with. However, its mobile unfriendliness makes the app incredibly difficult to use for users without access to a physical keyboard:

Altenative

CodeMirror 6 is a performant and mobile-friendly editor alternative to Monaco. All native iOS text selection gestures are supported properly.

Left: Monaco with TextMate; Right: CM6
image

TODOs:

Identify the missing features and lay out a plan for development and integration:

  • Styling and touch controls of mini-map (https://github.com/replit/codemirror-minimap)
  • Line number styling
  • Custom search widget
  • State restoration
  • Gutter area and diff algorithm for Git decorations
  • Theme converter (Textmate -> CM6)
  • Language definitions (Challenging, is it possible to convert or use text mate definitions directly?)
  • Diff editor
  • VIM (https://github.com/replit/codemirror-vim)
  • URL detections
  • APIs for interacting with the editor:
    • Callbacks on editor state update (e.g. content / cursor changed)
    • Storage for multiple editors
  • Rethink the APIs used to interact with Native code / SwiftUI
  • etc
@tamadamas
Copy link

I will be waiting for that. Without touch support it's unacceptable to me using any vscode-related editors on my phone.

@AnthonyGress
Copy link

+1

@bummoblizard
Copy link
Member Author

Closing since we implemented Runestone editor instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

3 participants