-
Notifications
You must be signed in to change notification settings - Fork 42
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
Language Server Protocol for sclang #36
Comments
For anyone who wants to pick this up, I have a better idea. Communication like this has already been implemented in the Qt based IDE. It uses yaml and a custom protocol instead. The sc developers seem open to the idea of implementing lsp instead of that. Supercollider has enough introspection built in already to support these features. |
The benefit to implementing LSP is that large numbers of editors and IDEs already support it. High quality interfaces and usages of that protocol are being developed all the time. The Super Collider IDE supports a custom protocol, so the only thing that connect to that is SC IDE. The only advancement that will ever happen is by this very tiny SC community. I think it would be better to concentrate on music features unique to SC. |
Agree completely, My point was to replace the existing protocol with LSP. |
Oh, I misunderstood your previous comment then ! |
did any of you guys make progress on this? |
Current setup: |
Thanks for the information. That's very useful!
|
This would be a separate project. LSP (language server protocol) would mean that sclang can be connected to most IDEs (atom, vscode, emacs, vim) and would support:
Code completion | Hover | Jump to def | Workspace symbols | Find references | Stream reference results | Diagnostics
http://langserver.org/
My initial idea is to have supercollider dump a JSON file with all classes, methods and help strings (derived from the help files). A language server would answer requests using that dump as data. It could be written in go to make it more portable and easier to install.
The text was updated successfully, but these errors were encountered: