File tree Expand file tree Collapse file tree
packages/alex/src/core/extension Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import type * as monaco from '@opensumi/monaco-editor-core/esm/vs/editor/editor.api' ;
12import { MainThreadLanguages } from '@opensumi/ide-extension/lib/browser/vscode/api/main.thread.language' ;
23import { AbstractExtInstanceManagementService } from '@opensumi/ide-extension/lib/browser/types' ;
34
@@ -24,6 +25,21 @@ MainThreadLanguages.prototype.createSignatureHelpProvider = function (...args: a
2425 return provider ;
2526} ;
2627
28+ // TODO: 如果加载 webscm 插件,provideReferences 结果会拿到与当前 file 协议一样的 web_scm 协议的 reference,先过滤掉非 file 协议的文件
29+ // @ts -ignore
30+ const _createReferenceProvider = MainThreadLanguages . prototype . createReferenceProvider ;
31+ // @ts -ignore
32+ MainThreadLanguages . prototype . createReferenceProvider = function ( ...args : any [ ] ) {
33+ const provider = _createReferenceProvider . call ( this , ...args ) ;
34+ const _provideReferences = provider . provideReferences ;
35+ provider . provideReferences = function ( ...args : any [ ] ) {
36+ return ( _provideReferences . call ( this , ...args ) as Promise < monaco . languages . Location [ ] > ) . then (
37+ ( references ) => references . filter ( ( reference ) => reference . uri . scheme === 'file' )
38+ ) ;
39+ } ;
40+ return provider ;
41+ } ;
42+
2743disposableCollection . push ( ( injector ) => {
2844 (
2945 injector . get ( AbstractExtInstanceManagementService ) as AbstractExtInstanceManagementService
You can’t perform that action at this time.
0 commit comments