# LSP - VSCode extension **Author**: FTL Team **Status**: ==draft== / in-review / accepted / rejected ## Description FTL build errors will be shown inline in vscode to improve the developer/debug experience. ## Goals - Propagate FTL schema validation and build errors to VScode via an LSP ## Non-Goals (optional) - Implementing a full featured VSCode extension with custom UI ## Design ```mermaid graph LR go-runtime -- STDERR --> FTL kotlin-runtime -- STDERR --> FTL FTL --> STDERR FTL --> Language-Server Language-Server --> VSCode ``` Link to quick sketches: https://excalidraw.com/#room=a2a7fb95e8afb032e0bc,SNfXkJvgCBfyGpYqFrCZyQ ## Rejected Alternatives (optional) Injecting language server into `buildengine` causes tight coupling between the two. Using a custom error struct in go-runtime and sending custom errors to the LSP. This solution works for `go` but will not work for other runtimes.