# HG changeset patch # User wenzelm # Date 1648050780 -3600 # Node ID 5c0ea94757f265897d7c3fbec7539377a4c13229 # Parent f31fbe4e19095bbf6093ee4367f1170829731e47 more operations; diff -r f31fbe4e1909 -r 5c0ea94757f2 src/Tools/VSCode/src/vscode_main.scala --- 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