Monaco's built-in TypeScript language service already provides accurate,
multi-model definitions, so this strategy deliberately contributes nothing
when the built-in provider would succeed. Its added value is the lazy-load
path: when a definition resolves only to an import statement whose target
file isn't open, it asks the host's loadFile hook for the file, creates a
model, and re-queries the language service for the precise location.
TS/JS go-to-definition strategy.
Monaco's built-in TypeScript language service already provides accurate, multi-model definitions, so this strategy deliberately contributes nothing when the built-in provider would succeed. Its added value is the lazy-load path: when a definition resolves only to an import statement whose target file isn't open, it asks the host's
loadFilehook for the file, creates a model, and re-queries the language service for the precise location.