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

Implement an LSP Server for FTL #1122

Closed
5 tasks done
worstell opened this issue Mar 21, 2024 · 0 comments
Closed
5 tasks done

Implement an LSP Server for FTL #1122

worstell opened this issue Mar 21, 2024 · 0 comments
Assignees
Labels
epic An umbrella topic

Comments

@worstell
Copy link
Contributor

worstell commented Mar 21, 2024

Ideas: Listener interface

type Listener interface {
  BuildComplete(errors []schema.Error)
}

//perhaps with convenience helpers to make it easier to use?
type BuildCompleteListenerFunc func(errors []schema.Error)

func (b BuildCompleteListenerFunc) BuildComplete(errors []schema.Error) { b(errors) }

With that cmd_dev could just listen for events and sent to the LSP rather than injecting the LSP into buildengine. This should help reduce coupling.

Ideas: For handling errors from all language runtimes

  1. Create GRPC server and runtimes push errors back as they build
  2. Come up with some protocol that we can use to talk with builds over stderr
    • output json and that json has the structured errors in them
    • probably the easiest approach
@worstell worstell self-assigned this Mar 21, 2024
worstell added a commit that referenced this issue Mar 26, 2024
Add an LSP that produces document highlights when FTL outputs build errors

fixes #1122
@wesbillman wesbillman added the epic An umbrella topic label Apr 1, 2024
@wesbillman wesbillman changed the title implement an LSP for FTL implement an LSP Server for FTL Apr 1, 2024
@wesbillman wesbillman changed the title implement an LSP Server for FTL Implement an LSP Server for FTL Apr 1, 2024
@worstell worstell closed this as completed Apr 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic An umbrella topic
Projects
None yet
Development

No branches or pull requests

2 participants