--- a/src/Tools/VSCode/src/vscode_main.scala Wed Mar 23 16:41:32 2022 +0100
+++ b/src/Tools/VSCode/src/vscode_main.scala Wed Mar 23 16:53:00 2022 +0100
@@ -9,6 +9,8 @@
import isabelle._
+import java.util.zip.ZipFile
+
object VSCode_Main
{
@@ -92,6 +94,20 @@
terminate_lines(a :: bs)
}
+ def check_vsix(path: Path): Boolean =
+ {
+ path.is_file && {
+ using(new ZipFile(path.file))(zip_file =>
+ {
+ val entry = zip_file.getEntry("extension/MANIFEST.shasum")
+ entry != null && {
+ val stream = zip_file.getInputStream(entry)
+ stream != null && File.read_stream(stream) == extension_manifest().shasum
+ }
+ })
+ }
+ }
+
def check_dir(dir: Path): Boolean =
{
val path = dir + MANIFEST.shasum