@@ -21,13 +21,14 @@ import {
2121 TextEdit ,
2222 DocumentLink ,
2323 CodeLens ,
24+ DefinitionLink ,
2425} from 'vscode-languageserver-types' ;
2526import { JSONSchema } from './jsonSchema' ;
2627import { YAMLDocumentSymbols } from './services/documentSymbols' ;
2728import { YAMLHover } from './services/yamlHover' ;
2829import { YAMLValidation } from './services/yamlValidation' ;
2930import { YAMLFormatter } from './services/yamlFormatter' ;
30- import { JSONDocument , DefinitionLink , TextDocument , DocumentSymbolsContext } from 'vscode-json-languageservice' ;
31+ import { DocumentSymbolsContext } from 'vscode-json-languageservice' ;
3132import { findLinks } from './services/yamlLinks' ;
3233import {
3334 FoldingRange ,
@@ -37,7 +38,9 @@ import {
3738 Connection ,
3839 DocumentOnTypeFormattingParams ,
3940 CodeLensParams ,
41+ DefinitionParams ,
4042} from 'vscode-languageserver/node' ;
43+ import { TextDocument } from 'vscode-languageserver-textdocument' ;
4144import { getFoldingRanges } from './services/yamlFolding' ;
4245import { FoldingRangesContext } from './yamlTypes' ;
4346import { YamlCodeActions } from './services/yamlCodeActions' ;
@@ -49,6 +52,7 @@ import { Telemetry } from '../languageserver/telemetry';
4952import { YamlVersion } from './parser/yamlParser07' ;
5053import { YamlCompletion } from './services/yamlCompletion' ;
5154import { yamlDocumentsCache } from './parser/yaml-documents' ;
55+ import { getDefinition } from './services/yamlDefinition' ;
5256
5357export enum SchemaPriority {
5458 SchemaStore = 1 ,
@@ -132,10 +136,10 @@ export interface LanguageService {
132136 doHover ( document : TextDocument , position : Position ) : Promise < Hover | null > ;
133137 findDocumentSymbols ( document : TextDocument , context : DocumentSymbolsContext ) : SymbolInformation [ ] ;
134138 findDocumentSymbols2 ( document : TextDocument , context : DocumentSymbolsContext ) : DocumentSymbol [ ] ;
135- findDefinition ( document : TextDocument , position : Position , doc : JSONDocument ) : Promise < DefinitionLink [ ] > ;
136139 findLinks ( document : TextDocument ) : Promise < DocumentLink [ ] > ;
137140 resetSchema ( uri : string ) : boolean ;
138141 doFormat ( document : TextDocument , options : CustomFormatterOptions ) : TextEdit [ ] ;
142+ doDefinition ( document : TextDocument , params : DefinitionParams ) : DefinitionLink [ ] | undefined ;
139143 doDocumentOnTypeFormatting ( document : TextDocument , params : DocumentOnTypeFormattingParams ) : TextEdit [ ] | undefined ;
140144 addSchema ( schemaID : string , schema : JSONSchema ) : void ;
141145 deleteSchema ( schemaID : string ) : void ;
@@ -185,13 +189,13 @@ export function getLanguageService(
185189 registerCustomSchemaProvider : ( schemaProvider : CustomSchemaProvider ) => {
186190 schemaService . registerCustomSchemaProvider ( schemaProvider ) ;
187191 } ,
188- findDefinition : ( ) => Promise . resolve ( [ ] ) ,
189192 findLinks,
190193 doComplete : completer . doComplete . bind ( completer ) ,
191194 doValidation : yamlValidation . doValidation . bind ( yamlValidation ) ,
192195 doHover : hover . doHover . bind ( hover ) ,
193196 findDocumentSymbols : yamlDocumentSymbols . findDocumentSymbols . bind ( yamlDocumentSymbols ) ,
194197 findDocumentSymbols2 : yamlDocumentSymbols . findHierarchicalDocumentSymbols . bind ( yamlDocumentSymbols ) ,
198+ doDefinition : getDefinition . bind ( getDefinition ) ,
195199 resetSchema : ( uri : string ) => {
196200 return schemaService . onResourceChange ( uri ) ;
197201 } ,
0 commit comments