@@ -453,7 +453,7 @@ pub(crate) fn handle_document_symbol(
453453pub ( crate ) fn handle_workspace_symbol (
454454 snap : GlobalStateSnapshot ,
455455 params : WorkspaceSymbolParams ,
456- ) -> anyhow:: Result < Option < Vec < SymbolInformation > > > {
456+ ) -> anyhow:: Result < Option < lsp_types :: WorkspaceSymbolResponse > > {
457457 let _p = profile:: span ( "handle_workspace_symbol" ) ;
458458
459459 let config = snap. config . workspace_symbol ( ) ;
@@ -479,7 +479,7 @@ pub(crate) fn handle_workspace_symbol(
479479 res = exec_query ( & snap, query) ?;
480480 }
481481
482- return Ok ( Some ( res) ) ;
482+ return Ok ( Some ( lsp_types :: WorkspaceSymbolResponse :: Nested ( res) ) ) ;
483483
484484 fn decide_search_scope_and_kind (
485485 params : & WorkspaceSymbolParams ,
@@ -519,13 +519,12 @@ pub(crate) fn handle_workspace_symbol(
519519 fn exec_query (
520520 snap : & GlobalStateSnapshot ,
521521 query : Query ,
522- ) -> anyhow:: Result < Vec < SymbolInformation > > {
522+ ) -> anyhow:: Result < Vec < lsp_types :: WorkspaceSymbol > > {
523523 let mut res = Vec :: new ( ) ;
524524 for nav in snap. analysis . symbol_search ( query) ? {
525525 let container_name = nav. container_name . as_ref ( ) . map ( |v| v. to_string ( ) ) ;
526526
527- #[ allow( deprecated) ]
528- let info = SymbolInformation {
527+ let info = lsp_types:: WorkspaceSymbol {
529528 name : match & nav. alias {
530529 Some ( alias) => format ! ( "{} (alias for {})" , alias, nav. name) ,
531530 None => format ! ( "{}" , nav. name) ,
@@ -534,10 +533,11 @@ pub(crate) fn handle_workspace_symbol(
534533 . kind
535534 . map ( to_proto:: symbol_kind)
536535 . unwrap_or ( lsp_types:: SymbolKind :: VARIABLE ) ,
536+ // FIXME: Set deprecation
537537 tags : None ,
538- location : to_proto:: location_from_nav ( snap, nav) ?,
539538 container_name,
540- deprecated : None ,
539+ location : lsp_types:: OneOf :: Left ( to_proto:: location_from_nav ( snap, nav) ?) ,
540+ data : None ,
541541 } ;
542542 res. push ( info) ;
543543 }
0 commit comments