diff --git a/projects/kiss-vscode/config/KissConfig.kiss b/projects/kiss-vscode/config/KissConfig.kiss index 60bdaa26..027433d2 100644 --- a/projects/kiss-vscode/config/KissConfig.kiss +++ b/projects/kiss-vscode/config/KissConfig.kiss @@ -159,6 +159,7 @@ (loadFrom "kiss-vscode" "src/commands/KissTools.kiss") (loadFrom "kiss-vscode" "src/commands/ExtensionTools.kiss") (loadFrom "kiss-vscode" "src/commands/KTxt2Tools.kiss") +(loadFrom "kiss-vscode" "src/commands/Vscode.kiss") // Provided from Main.kiss via (set): (var &mut :Command tryLoadConfig) @@ -188,6 +189,8 @@ // ExtensionTools.kiss: (registerCommand "${prefix} [u]pdate Kiss-VSCode" updateKissVscode) (registerCommand "${prefix} [t]est and [u]pdate Kiss-VSCode" testAndUpdateKissVscode) + // Vscode.kiss: + (registerCommand "${prefix} edit Kiss-Vscode [c]onfig" openKissConfig) // KTxt2.kiss: (registerCommand "${ktxt2Prefix} [i]mport input file" importKTxt2InputFile)) diff --git a/projects/kiss-vscode/kiss-vscode-0.0.18.vsix b/projects/kiss-vscode/kiss-vscode-0.0.18.vsix index ad6be8f1..bb5238a4 100644 Binary files a/projects/kiss-vscode/kiss-vscode-0.0.18.vsix and b/projects/kiss-vscode/kiss-vscode-0.0.18.vsix differ diff --git a/projects/kiss-vscode/src/commands/Vscode.kiss b/projects/kiss-vscode/src/commands/Vscode.kiss index 1152ad1a..82593e39 100644 --- a/projects/kiss-vscode/src/commands/Vscode.kiss +++ b/projects/kiss-vscode/src/commands/Vscode.kiss @@ -1,5 +1,4 @@ -// Before you use commands in this file: -/* (loadFrom "kiss-vscode" "src/commands/Vscode.kiss") */ +// This is loaded in every KissConfig (function userHome [] (or (Sys.getEnv "MSYSHOME") (Sys.getEnv "HOME") (Sys.getEnv "UserProfile"))) @@ -30,4 +29,12 @@ (registerCommand "desired name with [a]ny [b]indings" openKissConfig) */ (function openKissConfig [&opt _] - ((openFile "$(userHome)/.kiss/Config.kiss"))) \ No newline at end of file + // For first-time extension users, create the config folder + // based on the default + (let [configPath "$(userHome)/.kiss" + defaultConfigPath (joinPath extensionPath "config" "default")] + (unless (FileSystem.exists configPath) + (FileSystem.createDirectory configPath) + (doFor file (FileSystem.readDirectory defaultConfigPath) + (File.copy "${defaultConfigPath}/$file" "${configPath}/$file"))) + ((openFile "${configPath}/Config.kiss")))) \ No newline at end of file