File tree Expand file tree Collapse file tree 2 files changed +27
-1
lines changed
extensions/ql-vscode/src/data-extensions-editor/model-details Expand file tree Collapse file tree 2 files changed +27
-1
lines changed Original file line number Diff line number Diff line change @@ -61,6 +61,17 @@ export class ModelDetailsDataProvider
6161 return [ ] ;
6262 }
6363 }
64+
65+ public resolveCanonicalUsage ( usage : Usage ) : Usage | undefined {
66+ for ( const externalApiUsage of this . externalApiUsages ) {
67+ for ( const u of externalApiUsage . usages ) {
68+ if ( usagesAreEqual ( u , usage ) ) {
69+ return u ;
70+ }
71+ }
72+ }
73+ return undefined ;
74+ }
6475}
6576
6677export type ModelDetailsTreeViewItem = ExternalApiUsage | Usage ;
@@ -70,3 +81,15 @@ function isExternalApiUsage(
7081) : item is ExternalApiUsage {
7182 return ( item as any ) . usages !== undefined ;
7283}
84+
85+ function usagesAreEqual ( u1 : Usage , u2 : Usage ) : boolean {
86+ return (
87+ u1 . label === u2 . label &&
88+ u1 . classification === u2 . classification &&
89+ u1 . url . uri === u2 . url . uri &&
90+ u1 . url . startLine === u2 . url . startLine &&
91+ u1 . url . startColumn === u2 . url . startColumn &&
92+ u1 . url . endLine === u2 . url . endLine &&
93+ u1 . url . endColumn === u2 . url . endColumn
94+ ) ;
95+ }
Original file line number Diff line number Diff line change @@ -30,6 +30,9 @@ export class ModelDetailsPanel extends DisposableObject {
3030 }
3131
3232 public async revealItem ( usage : Usage ) : Promise < void > {
33- await this . treeView . reveal ( usage ) ;
33+ const canonicalUsage = this . dataProvider . resolveCanonicalUsage ( usage ) ;
34+ if ( canonicalUsage !== undefined ) {
35+ await this . treeView . reveal ( canonicalUsage ) ;
36+ }
3437 }
3538}
You can’t perform that action at this time.
0 commit comments