From 782f1d1f94e4cc2ae5083c8b9376bca51c08d49d Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Fri, 10 Mar 2023 13:26:50 -0700 Subject: [PATCH] Finish Kiss-VScode overhaul first pass --- projects/kiss-vscode-api/src/Util.kiss | 5 +++- projects/kiss-vscode/kiss-vscode-0.0.18.vsix | Bin 30309 -> 33248 bytes projects/kiss-vscode/package.json | 22 ++++++++++++-- projects/kiss-vscode/src/Main.kiss | 1 + .../src/commands/ExtensionTools.kiss | 27 +++++++----------- .../kiss-vscode/src/commands/KissTools.kiss | 2 +- projects/kiss-vscode/test.sh | 3 +- 7 files changed, 38 insertions(+), 22 deletions(-) diff --git a/projects/kiss-vscode-api/src/Util.kiss b/projects/kiss-vscode-api/src/Util.kiss index b5fca90b..31b47fa8 100644 --- a/projects/kiss-vscode-api/src/Util.kiss +++ b/projects/kiss-vscode-api/src/Util.kiss @@ -298,4 +298,7 @@ (otherwise (throw "Unsupported operating system"))))) (function :Void osOpenFileInDir [&opt :String dir] - (chooseFileInDir osOpenFile false dir)) \ No newline at end of file + (chooseFileInDir osOpenFile false dir)) + +(function :Void printThroughInfoMessage [] + (set Prelude.printStr ->s (infoMessage s))) \ No newline at end of file diff --git a/projects/kiss-vscode/kiss-vscode-0.0.18.vsix b/projects/kiss-vscode/kiss-vscode-0.0.18.vsix index 04bd2ba400578a7131f1456dcae0b65676a541c6..c255ec4907501685285d086d8a6b67c2826074cf 100644 GIT binary patch delta 29166 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 delta 26216 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 VvUeaYn7(~-Ss**)l*|7#{Xh5sVeInt comparator function", "command": "kiss.sortLinesSync" + }, + { + "title": "Kiss-Vscode: Update and reinstall the Kiss-Vscode extension you are editing", + "command": "kiss.updateExtension" + }, + { + "title": "Kiss-Vscode: Check test.sh, then update and reinstall the kiss-vscode extension you are editing", + "command": "kiss.testAndUpdateExtension" } ], "languages": [ diff --git a/projects/kiss-vscode/src/Main.kiss b/projects/kiss-vscode/src/Main.kiss index 62fabc6e..bdc4aabf 100644 --- a/projects/kiss-vscode/src/Main.kiss +++ b/projects/kiss-vscode/src/Main.kiss @@ -2,6 +2,7 @@ (loadFrom "kiss-vscode-api" "src/KissUtil.kiss") (function _activate [:ExtensionContext context] + (printThroughInfoMessage) (load "commands/ExtensionTools.kiss") (load "commands/KissTools.kiss") (load "commands/Lines.kiss")) \ No newline at end of file diff --git a/projects/kiss-vscode/src/commands/ExtensionTools.kiss b/projects/kiss-vscode/src/commands/ExtensionTools.kiss index 2b3b5a03..2915f62d 100644 --- a/projects/kiss-vscode/src/commands/ExtensionTools.kiss +++ b/projects/kiss-vscode/src/commands/ExtensionTools.kiss @@ -1,7 +1,7 @@ (loadFrom "kiss-vscode-api" "src/Util.kiss") -(function kvLibpath [] (.trim (assertProcess "haxelib" ["libpath" "kiss-vscode"]))) -(function :ChildProcessSpawnSyncOptions options [] (object cwd (let [path (kvLibpath)] (path.substr 0 (- path.length 1))))) +(function extensionPath [] .fsPath .uri (first Vscode.workspace.workspaceFolders)) +(function :ChildProcessSpawnSyncOptions options [] (object cwd (extensionPath))) (function handleUpdateFailure [error] (showCompileError "Error updating Kiss-VSCode: $error") @@ -14,25 +14,20 @@ (return) }) -(function :Void updateKissVscode [&opt _] - (trySpawnSync "haxe" ["build.hxml"] (options) forceUpdateFailure) +(defCommand context kiss.updateExtension "Update and reinstall the Kiss-Vscode extension you are editing" "C-; C-u" [] (if (= "Windows" (Sys.systemName)) - { - (trySpawnSync "cmd.exe" ["/c" "npm" "install"] (options) forceUpdateFailure) - (trySpawnSync "cmd.exe" ["/c" "vsce" "package"] (options) forceUpdateFailure) - } - { - (trySpawnSync "npm" ["install"] (options) forceUpdateFailure) - (trySpawnSync "vsce" ["package"] (options) forceUpdateFailure) - }) + (trySpawnSync "cmd.exe" ["/c" "npm" "install"] (options) forceUpdateFailure) + (trySpawnSync "npm" ["install"] (options) forceUpdateFailure)) + (trySpawnSync "haxe" ["build.hxml"] (options) forceUpdateFailure) (awaitLet [_ (executeCommand "workbench.extensions.command.installFromVSIX" - (Uri.file (joinPath (kvLibpath) (last (filter (FileSystem.readDirectory (kvLibpath)) ->file (file.endsWith ".vsix"))))))] + (Uri.file (joinPath (extensionPath) (last (filter (FileSystem.readDirectory (extensionPath)) ->file (file.endsWith ".vsix"))))))] (catch [error] (handleUpdateFailure error))) - {}) + {} + null) -(function testAndUpdateKissVscode [&opt _] +(defCommand context kiss.testAndUpdateExtension "Check test.sh, then update and reinstall the kiss-vscode extension you are editing" "C-; C-t C-u" [] (trySpawnSync "test.sh" [] (options) handleUpdateFailure) - (updateKissVscode)) \ No newline at end of file + (kiss_updateExtension)) \ No newline at end of file diff --git a/projects/kiss-vscode/src/commands/KissTools.kiss b/projects/kiss-vscode/src/commands/KissTools.kiss index 109348a9..108152ef 100644 --- a/projects/kiss-vscode/src/commands/KissTools.kiss +++ b/projects/kiss-vscode/src/commands/KissTools.kiss @@ -55,7 +55,7 @@ class ${className} {} (defCommand context kiss.showCorrespondingFile "Open the corresponding .kiss/.hx file to this one" "C-; C-f" [] (showTextDocument (Uri.file (correspondingFile .fileName .document activeTextEditor)))) -(defCommand context kiss.insertUTestCase "Generate a UTest test case in this .hx/.kiss file" "C-; C-u" [] +(defCommand context kiss.insertUTestCase "Generate a UTest test case in this .hx/.kiss file" "C-; C-t C-c" [] (awaitLet [testName (inputBox) &sync testName "$(.toUpperCase (testName.substr 0 1))$(testName.substr 1)" diff --git a/projects/kiss-vscode/test.sh b/projects/kiss-vscode/test.sh index 3a272d6f..0ee8ae95 100755 --- a/projects/kiss-vscode/test.sh +++ b/projects/kiss-vscode/test.sh @@ -1,4 +1,3 @@ #! /bin/bash -# Run the build without -D test first, to make sure it works that way too: -echo "!test" && haxe build.hxml && echo "test" && haxe -D test build.hxml -cmd "node bin/extension.js" \ No newline at end of file +haxe build.hxml \ No newline at end of file