Now that bino lsp (internal/cli/lsp_server.go) implements a real Language Server Protocol server over stdio — completion, hover, diagnostics — the VS Code extension migrated to it via language-client. That makes part of bino lsp-helper (internal/cli/lsp.go) dead: the index, columns, validate, graph-deps, and rows subcommands were the old shell-out-per-call mechanism the extension used before the language-client migration.
Those should be removed:
internal/cli/lsp.go: newLSPIndexCommand, newLSPColumnsCommand, newLSPValidateCommand, newLSPGraphDepsCommand, newLSPRowsCommand and their run*/helper functions
- Corresponding
execBino(['lsp-helper', ...]) call sites in vscode-bino/src/indexer.ts and the lsp-helper --help / lsp-helper validate --help checks in vscode-bino/src/setup.ts, once confirmed nothing still depends on them
Note this is NOT a full removal of lsp-helper — the command group also hosts the DataSource/DataSet creation wizard and the manifest edit engine (introspect-draft, typed-select, preview-dataset, dataset-schema, kinds, scaffold, edit, create in internal/cli/lsp_wizard.go), which the VS Code extension still calls directly and which are unrelated to the LSP protocol (also referenced by internal/cli/mcp_authoring.go for MCP's create_manifest). Those stay.
Before removing, double check nothing else in the daemon (internal/daemon/state.go, results.go reference the lsp-helper contract in comments) or docs still assumes the old subcommands exist.
Now that
bino lsp(internal/cli/lsp_server.go) implements a real Language Server Protocol server over stdio — completion, hover, diagnostics — the VS Code extension migrated to it via language-client. That makes part ofbino lsp-helper(internal/cli/lsp.go) dead: theindex,columns,validate,graph-deps, androwssubcommands were the old shell-out-per-call mechanism the extension used before the language-client migration.Those should be removed:
internal/cli/lsp.go:newLSPIndexCommand,newLSPColumnsCommand,newLSPValidateCommand,newLSPGraphDepsCommand,newLSPRowsCommandand theirrun*/helper functionsexecBino(['lsp-helper', ...])call sites invscode-bino/src/indexer.tsand thelsp-helper --help/lsp-helper validate --helpchecks invscode-bino/src/setup.ts, once confirmed nothing still depends on themNote this is NOT a full removal of
lsp-helper— the command group also hosts the DataSource/DataSet creation wizard and the manifest edit engine (introspect-draft,typed-select,preview-dataset,dataset-schema,kinds,scaffold,edit,createininternal/cli/lsp_wizard.go), which the VS Code extension still calls directly and which are unrelated to the LSP protocol (also referenced byinternal/cli/mcp_authoring.gofor MCP'screate_manifest). Those stay.Before removing, double check nothing else in the daemon (
internal/daemon/state.go,results.goreference thelsp-helpercontract in comments) or docs still assumes the old subcommands exist.