Add DABs LSP language client for bundle files#1852
Draft
shreyas-goenka wants to merge 4 commits intomainfrom
Draft
Add DABs LSP language client for bundle files#1852shreyas-goenka wants to merge 4 commits intomainfrom
shreyas-goenka wants to merge 4 commits intomainfrom
Conversation
Introduces a BundleLSPClient that spawns `databricks bundle lsp` via stdio to provide deployment-aware features for bundle YAML files: - Document links: Ctrl+click on resource keys to open in workspace - Hover: Shows resource ID, name, and workspace link The client connects to the CLI's new hidden LSP server and activates for all bundle YAML files (databricks.yml, databricks.yaml, etc.). Stacks with the existing Red Hat YAML extension. Depends on: databricks/cli#4714 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The CLI moved the LSP server from `databricks bundle lsp` to `databricks experimental bundle-lsp`. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Match all .yml/.yaml files in workspace (not just root configs) so the LSP server handles included bundle files - Pass selected target to LSP server on start - Restart LSP client when user switches bundle target - Fix dispose() to return the stop() promise for clean shutdown Co-authored-by: Isaac
Gate the DABs LSP client behind the "features.bundleLsp" experimental setting to prevent failures when the CLI doesn't support the command. Add a custom error handler to suppress crash notification popups and prevent restart storms when the server binary exits immediately. Co-authored-by: Isaac
Contributor
|
If integration tests don't run automatically, an authorized user can run them manually by following the instructions below: Trigger: Inputs:
Checks will be approved automatically on success. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a
BundleLSPClientthat spawnsdatabricks experimental bundle-lspvia stdio, providing autocomplete, go-to-definition, hover, document links, and diagnostics for bundle YAML files. Restarts the LSP when the bundle target changes.Gated behind experimental flag: users must opt in via
databricks.experiments.optIntowith"features.bundleLsp".Error handling: Custom error handler suppresses crash notification popups when the CLI doesn't support the command. No restart storms — immediately gives up on server failure.
revealOutputChannelOnset toNever.Depends on: databricks/cli#4714
Test plan
This pull request was AI-assisted by Isaac.