]> git.lizzy.rs Git - rust.git/blobdiff - editors/code/src/persistent_state.ts
Drop extensionUri copy
[rust.git] / editors / code / src / persistent_state.ts
index 13095b806584f5dc1a76fe9e8bccd4f1590d2044..3e86ed1e32317b3adff1151917a23e434c91ca92 100644 (file)
@@ -1,49 +1,20 @@
 import * as vscode from 'vscode';
-import { log } from "./util";
+import { log } from './util';
 
 export class PersistentState {
-    constructor(private readonly ctx: vscode.ExtensionContext) {
+    constructor(private readonly globalState: vscode.Memento) {
+        const { serverVersion } = this;
+        log.info("PersistentState:", { serverVersion });
     }
 
-    readonly installedNightlyExtensionReleaseDate = new DateStorage(
-        "installed-nightly-extension-release-date",
-        this.ctx.globalState
-    );
-    readonly serverReleaseDate = new DateStorage("server-release-date", this.ctx.globalState);
-    readonly serverReleaseTag = new Storage<null | string>("server-release-tag", this.ctx.globalState, null);
-}
-
-
-export class Storage<T> {
-    constructor(
-        private readonly key: string,
-        private readonly storage: vscode.Memento,
-        private readonly defaultVal: T
-    ) { }
-
-    get(): T {
-        const val = this.storage.get(this.key, this.defaultVal);
-        log.debug(this.key, "==", val);
-        return val;
-    }
-    async set(val: T) {
-        log.debug(this.key, "=", val);
-        await this.storage.update(this.key, val);
+    /**
+     * Version of the extension that installed the server.
+     * Used to check if we need to run patchelf again on NixOS.
+     */
+    get serverVersion(): string | undefined {
+        return this.globalState.get("serverVersion");
     }
-}
-export class DateStorage {
-    inner: Storage<null | string>;
-
-    constructor(key: string, storage: vscode.Memento) {
-        this.inner = new Storage(key, storage, null);
-    }
-
-    get(): null | Date {
-        const dateStr = this.inner.get();
-        return dateStr ? new Date(dateStr) : null;
-    }
-
-    async set(date: null | Date) {
-        await this.inner.set(date ? date.toString() : null);
+    async updateServerVersion(value: string | undefined) {
+        await this.globalState.update("serverVersion", value);
     }
 }