@@ -35,6 +35,7 @@ import { DatabaseChangedEvent, DatabaseEventKind } from "./database-events";
3535import { DatabaseResolver } from "./database-resolver" ;
3636import { telemetryListener } from "../../common/vscode/telemetry" ;
3737import { LanguageContextStore } from "../../language-context-store" ;
38+ import { DatabaseOrigin } from "./database-origin" ;
3839
3940/**
4041 * The name of the key in the workspaceState dictionary in which we
@@ -132,14 +133,19 @@ export class DatabaseManager extends DisposableObject {
132133 */
133134 public async openDatabase (
134135 uri : vscode . Uri ,
136+ origin : DatabaseOrigin | undefined ,
135137 makeSelected = true ,
136138 displayName ?: string ,
137139 {
138140 isTutorialDatabase = false ,
139141 addSourceArchiveFolder = addDatabaseSourceToWorkspace ( ) ,
140142 } : OpenDatabaseOptions = { } ,
141143 ) : Promise < DatabaseItem > {
142- const databaseItem = await this . createDatabaseItem ( uri , displayName ) ;
144+ const databaseItem = await this . createDatabaseItem (
145+ uri ,
146+ origin ,
147+ displayName ,
148+ ) ;
143149
144150 return await this . addExistingDatabaseItem (
145151 databaseItem ,
@@ -190,6 +196,7 @@ export class DatabaseManager extends DisposableObject {
190196 */
191197 private async createDatabaseItem (
192198 uri : vscode . Uri ,
199+ origin : DatabaseOrigin | undefined ,
193200 displayName : string | undefined ,
194201 ) : Promise < DatabaseItemImpl > {
195202 const contents = await DatabaseResolver . resolveDatabaseContents ( uri ) ;
@@ -198,6 +205,7 @@ export class DatabaseManager extends DisposableObject {
198205 displayName,
199206 dateAdded : Date . now ( ) ,
200207 language : await this . getPrimaryLanguage ( uri . fsPath ) ,
208+ origin,
201209 } ;
202210 const databaseItem = new DatabaseItemImpl ( uri , contents , fullOptions ) ;
203211
@@ -213,6 +221,7 @@ export class DatabaseManager extends DisposableObject {
213221 */
214222 public async createOrOpenDatabaseItem (
215223 uri : vscode . Uri ,
224+ origin : DatabaseOrigin | undefined ,
216225 ) : Promise < DatabaseItem > {
217226 const existingItem = this . findDatabaseItem ( uri ) ;
218227 if ( existingItem !== undefined ) {
@@ -221,7 +230,7 @@ export class DatabaseManager extends DisposableObject {
221230 }
222231
223232 // We don't add this to the list automatically, but the user can add it later.
224- return this . createDatabaseItem ( uri , undefined ) ;
233+ return this . createDatabaseItem ( uri , origin , undefined ) ;
225234 }
226235
227236 public async createSkeletonPacks ( databaseItem : DatabaseItem ) {
@@ -356,6 +365,7 @@ export class DatabaseManager extends DisposableObject {
356365 let displayName : string | undefined = undefined ;
357366 let dateAdded = undefined ;
358367 let language = undefined ;
368+ let origin = undefined ;
359369 if ( state . options ) {
360370 if ( typeof state . options . displayName === "string" ) {
361371 displayName = state . options . displayName ;
@@ -364,6 +374,7 @@ export class DatabaseManager extends DisposableObject {
364374 dateAdded = state . options . dateAdded ;
365375 }
366376 language = state . options . language ;
377+ origin = state . options . origin ;
367378 }
368379
369380 const dbBaseUri = vscode . Uri . parse ( state . uri , true ) ;
@@ -376,6 +387,7 @@ export class DatabaseManager extends DisposableObject {
376387 displayName,
377388 dateAdded,
378389 language,
390+ origin,
379391 } ;
380392 const item = new DatabaseItemImpl ( dbBaseUri , undefined , fullOptions ) ;
381393
0 commit comments