44 *--------------------------------------------------------------------------------------------*/
55
66import * as serverUtils from '../omnisharp/utils' ;
7- import { CancellationToken , DefinitionProvider , Location , Position , TextDocument , Uri } from 'vscode' ;
8- import { GoToDefinitionRequest , MetadataRequest , MetadataSource } from '../omnisharp/protocol' ;
9- import { createRequest , toLocation , toLocationFromUri } from '../omnisharp/typeConversion' ;
7+ import { CancellationToken , DefinitionProvider , Location , Position , TextDocument , Uri } from 'vscode' ;
8+ import { GoToDefinitionRequest , MetadataRequest , MetadataSource } from '../omnisharp/protocol' ;
9+ import { createRequest , toLocation , toLocationFromUri } from '../omnisharp/typeConversion' ;
1010import AbstractSupport from './abstractProvider' ;
1111import DefinitionMetadataDocumentProvider from './definitionMetadataDocumentProvider' ;
1212import { OmniSharpServer } from '../omnisharp/server' ;
@@ -25,8 +25,8 @@ export default class CSharpDefinitionProvider extends AbstractSupport implements
2525 let req = < GoToDefinitionRequest > createRequest ( document , position ) ;
2626 req . WantMetadata = true ;
2727
28- return serverUtils . goToDefinition ( this . _server , req , token ) . then ( gotoDefinitionResponse => {
29-
28+ try {
29+ let gotoDefinitionResponse = await serverUtils . goToDefinition ( this . _server , req , token ) ;
3030 // the defintion is in source
3131 if ( gotoDefinitionResponse && gotoDefinitionResponse . FileName ) {
3232
@@ -38,13 +38,13 @@ export default class CSharpDefinitionProvider extends AbstractSupport implements
3838
3939 // if it is a normal source definition, convert the response to a location
4040 return toLocation ( gotoDefinitionResponse ) ;
41-
42- // the definition is in metadata
41+
42+ // the definition is in metadata
4343 } else if ( gotoDefinitionResponse . MetadataSource ) {
4444 const metadataSource : MetadataSource = gotoDefinitionResponse . MetadataSource ;
4545
4646 // go to metadata endpoint for more information
47- return serverUtils . getMetadata ( this . _server , < MetadataRequest > {
47+ return serverUtils . getMetadata ( this . _server , < MetadataRequest > {
4848 Timeout : 5000 ,
4949 AssemblyName : metadataSource . AssemblyName ,
5050 VersionNumber : metadataSource . VersionNumber ,
@@ -60,6 +60,9 @@ export default class CSharpDefinitionProvider extends AbstractSupport implements
6060 return new Location ( uri , new Position ( gotoDefinitionResponse . Line - 1 , gotoDefinitionResponse . Column - 1 ) ) ;
6161 } ) ;
6262 }
63- } ) ;
63+ }
64+ catch ( error ) {
65+ return ;
66+ }
6467 }
6568}
0 commit comments