@@ -7,13 +7,14 @@ import { workspace, extensions, ExtensionContext, window, StatusBarAlignment, co
77import { ExecuteCommandParams , ExecuteCommandRequest , LanguageClient , LanguageClientOptions , RevealOutputChannelOn , Position as LSPosition , Location as LSLocation , StreamInfo , VersionedTextDocumentIdentifier , ErrorHandler , Message , ErrorAction , CloseAction , InitializationFailedHandler } from 'vscode-languageclient' ;
88import { onExtensionChange , collectJavaExtensions } from './plugin' ;
99import { prepareExecutable , awaitServerConnection } from './javaServerStarter' ;
10+ import { getDocumentSymbolsCommand , getDocumentSymbolsProvider } from './documentSymbols' ;
1011import * as requirements from './requirements' ;
1112import { Commands } from './commands' ;
1213import {
1314 StatusNotification , ClassFileContentsRequest , ProjectConfigurationUpdateRequest , MessageType , ActionableNotification , FeatureStatus , CompileWorkspaceRequest , CompileWorkspaceStatus , ProgressReportNotification , ExecuteClientCommandRequest , SendNotificationRequest ,
1415 SourceAttachmentRequest , SourceAttachmentResult , SourceAttachmentAttribute
1516} from './protocol' ;
16- import { ExtensionAPI } from './extension.api' ;
17+ import { ExtensionAPI , ExtensionApiVersion } from './extension.api' ;
1718import * as buildpath from './buildpath' ;
1819import * as hoverAction from './hoverAction' ;
1920import * as sourceAction from './sourceAction' ;
@@ -207,6 +208,7 @@ export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
207208 languageClient = new LanguageClient ( 'java' , extensionName , serverOptions , clientOptions ) ;
208209 languageClient . registerProposedFeatures ( ) ;
209210 const registerHoverCommand = hoverAction . registerClientHoverProvider ( languageClient , context ) ;
211+ const getDocumentSymbols : getDocumentSymbolsCommand = getDocumentSymbolsProvider ( languageClient ) ;
210212
211213 languageClient . onReady ( ) . then ( ( ) => {
212214 languageClient . onNotification ( StatusNotification . type , ( report ) => {
@@ -217,10 +219,11 @@ export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
217219 lastStatus = item . text ;
218220 commands . executeCommand ( 'setContext' , 'javaLSReady' , true ) ;
219221 resolve ( {
220- apiVersion : '0.2' ,
222+ apiVersion : ExtensionApiVersion ,
221223 javaRequirement : requirements ,
222224 status : report . type ,
223225 registerHoverCommand,
226+ getDocumentSymbols
224227 } ) ;
225228 break ;
226229 case 'Error' :
@@ -229,10 +232,11 @@ export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
229232 p . report ( { message : 'Finished with Error' } ) ;
230233 toggleItem ( window . activeTextEditor , item ) ;
231234 resolve ( {
232- apiVersion : '0.2' ,
235+ apiVersion : ExtensionApiVersion ,
233236 javaRequirement : requirements ,
234237 status : report . type ,
235238 registerHoverCommand,
239+ getDocumentSymbols
236240 } ) ;
237241 break ;
238242 case 'Starting' :
0 commit comments