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

Better Code Editor + Code Editor Customizations #464

Open
4 tasks
gokulprathin8 opened this issue Mar 5, 2024 · 0 comments
Open
4 tasks

Better Code Editor + Code Editor Customizations #464

gokulprathin8 opened this issue Mar 5, 2024 · 0 comments
Assignees
Labels
Code Editor java Pull requests that update Java code Javascript LSP Python

Comments

@gokulprathin8
Copy link
Collaborator

gokulprathin8 commented Mar 5, 2024

What is the PR about?

Use a popular Code Editor JS library - It should support LSP + Linting + File Formatting We also need to figure out how to package this LSP into our jar file and start it along side with Geoweaver.

As of now, we are good if we can implement this for python using pyright (https://github.com/microsoft/pyright). We can target bash-lsp later once we are done with python.

There is a existing demo of pyright with lsp which you can test here @ https://pyright-play.net/

What needs to be done?

  • Implement LSP (language server protocol) for Python in either existing codebase either with CodeMirror v6 or we can try this out by replacing existing code either with a popular code editor such as Monaco (https://github.com/microsoft/monaco-editor).
  • Setup linting and formatting for the code editor and make common shortcuts like commenting, refactoring and extract to function features to work using the existing or the new code editor
  • Package the code editor along side the JAR file (this will probably increase the JAR file size by 50mb)
  • Run the LSP server along side Geoweaver Web Server. (LSP should start when the spring boot webserver starts. It would be amazing if we can only start it when the user is making code changes but having it running when Geoweaver is running is also fine)

Important Links

Moncao Github Repo - https://github.com/microsoft/monaco-editor
Pyright LSP Github Repo - https://github.com/microsoft/pyright
Pyright Documentation - https://microsoft.github.io/pyright/#/

Expected Outcome

To have a clean, usable & modern code editor with resonable autocompletiton to write production code.

@VisheshSaluja VisheshSaluja self-assigned this Mar 5, 2024
@gokulprathin8 gokulprathin8 added java Pull requests that update Java code LSP Code Editor Python Javascript labels Mar 5, 2024
@gokulprathin8 gokulprathin8 self-assigned this Mar 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code Editor java Pull requests that update Java code Javascript LSP Python
Projects
None yet
Development

No branches or pull requests

2 participants