generated from cloudwego/.github
-
Notifications
You must be signed in to change notification settings - Fork 35
Open
Labels
C-bugThis is a bug-report. Bug-fix PRs use `C-enhancement` instead.This is a bug-report. Bug-fix PRs use `C-enhancement` instead.
Description
The problem
In the current implementation, the client capabilities for lsp initialization is defined as
func initLSPClient() {
cs := map[string]interface{}{
"documentSymbol": map[string]interface{}{
"hierarchicalDocumentSymbolSupport": true,
},
}
initParams := initializeParams{ Capabilities: cs,But, the specification says otherwise
interface InitializeParams extends WorkDoneProgressParams {
capabilities: ClientCapabilities; }
interface ClientCapabilities {
textDocument?: TextDocumentClientCapabilities; }
export interface TextDocumentClientCapabilities {
documentSymbol?: DocumentSymbolClientCapabilities; }
export interface DocumentSymbolClientCapabilities {
hierarchicalDocumentSymbolSupport?: boolean; }We need something like
cs := map[string]interface{}{
-- "documentSymbol": map[string]interface{}{
-- "hierarchicalDocumentSymbolSupport": true,
++ "textDocument": map[string]interface{}{
++ "documentSymbol": map[string]interface{}{
++ "hierarchicalDocumentSymbolSupport": true,
++ },
},Complications
Subsequent processing in abcoder DOES NOT ASSUME hierarchical symbols.
A simple fix as above won't work.
Metadata
Metadata
Assignees
Labels
C-bugThis is a bug-report. Bug-fix PRs use `C-enhancement` instead.This is a bug-report. Bug-fix PRs use `C-enhancement` instead.