From 5e8c0a1d2e4abd9f3f5a1676d166b43481388638 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Fri, 22 Oct 2021 22:03:01 -0400 Subject: [PATCH] tryAutoConvert functionality --- .../fountain-to-hollywoo/basic.fountain.hollywoo.ktxt2 | 1 - projects/kiss-vscode/config/KissConfig.hx | 1 + projects/kiss-vscode/config/KissConfig.kiss | 7 ++++++- projects/kiss-vscode/config/build.hxml | 1 + projects/kiss-vscode/src/Main.hx | 4 ++++ projects/kiss-vscode/src/Util.kiss | 1 - projects/kiss-vscode/src/ktxt2/KTxt2.kiss | 6 +----- projects/kiss-vscode/src/ktxt2/KTxt2EditorProvider.kiss | 4 ++-- 8 files changed, 15 insertions(+), 10 deletions(-) diff --git a/projects/hollywoo/src/hollywoo/examples/fountain-to-hollywoo/basic.fountain.hollywoo.ktxt2 b/projects/hollywoo/src/hollywoo/examples/fountain-to-hollywoo/basic.fountain.hollywoo.ktxt2 index 1f8980a7..cb9fc896 100644 --- a/projects/hollywoo/src/hollywoo/examples/fountain-to-hollywoo/basic.fountain.hollywoo.ktxt2 +++ b/projects/hollywoo/src/hollywoo/examples/fountain-to-hollywoo/basic.fountain.hollywoo.ktxt2 @@ -4,7 +4,6 @@ Author: Nat Quayle Nelson (she/her) Contact: natquaylenelson@gmail.com |>||||testing editing another comment|||EXT. CABIN - DAY |>|||| - |||A swanky cabin sits in a clearing in the Adirondacks. The Autumn colors are beautiful. |>|||| |||INT. CABIN - SAME diff --git a/projects/kiss-vscode/config/KissConfig.hx b/projects/kiss-vscode/config/KissConfig.hx index 1d260167..2f5ceb83 100644 --- a/projects/kiss-vscode/config/KissConfig.hx +++ b/projects/kiss-vscode/config/KissConfig.hx @@ -12,6 +12,7 @@ import hscript.Expr; import haxe.io.Path; import sys.io.File; import sys.FileSystem; +import ktxt2.KTxt2; using haxe.io.Path; using StringTools; diff --git a/projects/kiss-vscode/config/KissConfig.kiss b/projects/kiss-vscode/config/KissConfig.kiss index a2e48394..609d0979 100644 --- a/projects/kiss-vscode/config/KissConfig.kiss +++ b/projects/kiss-vscode/config/KissConfig.kiss @@ -238,4 +238,9 @@ parseInt Std.parseInt string Std.string random Std.random - int Std.int))) \ No newline at end of file + int Std.int))) + +(#unless test + (var :Array conversions []) + + (function registerConversion [:KTxt2Conversion conversion] (conversions.push conversion))) \ No newline at end of file diff --git a/projects/kiss-vscode/config/build.hxml b/projects/kiss-vscode/config/build.hxml index f9b02145..43fd41b4 100644 --- a/projects/kiss-vscode/config/build.hxml +++ b/projects/kiss-vscode/config/build.hxml @@ -2,5 +2,6 @@ args.hxml -lib hxnodejs -lib vscode -lib kiss +-lib kiss-vscode KissConfig -js config.js \ No newline at end of file diff --git a/projects/kiss-vscode/src/Main.hx b/projects/kiss-vscode/src/Main.hx index 470d4dd9..41d8860b 100644 --- a/projects/kiss-vscode/src/Main.hx +++ b/projects/kiss-vscode/src/Main.hx @@ -1,6 +1,7 @@ #if !test import vscode.*; import ktxt2.*; +import ktxt2.KTxt2.KTxt2Conversion; #end import Sys; import sys.io.File; @@ -23,6 +24,9 @@ typedef KissConfig = { runCommand:Command, runLastCommand:Command, runKeyboardShortcut:Command, + #if !test + conversions:Array, + #end init:() -> Void }; diff --git a/projects/kiss-vscode/src/Util.kiss b/projects/kiss-vscode/src/Util.kiss index 7c87d865..05d59c1b 100644 --- a/projects/kiss-vscode/src/Util.kiss +++ b/projects/kiss-vscode/src/Util.kiss @@ -2,7 +2,6 @@ * Aliases */ - // output (defAlias &call infoMessage Vscode.window.showInformationMessage) (defAlias &call warningMessage Vscode.window.showWarningMessage) diff --git a/projects/kiss-vscode/src/ktxt2/KTxt2.kiss b/projects/kiss-vscode/src/ktxt2/KTxt2.kiss index b19815b9..0869c6c0 100644 --- a/projects/kiss-vscode/src/ktxt2/KTxt2.kiss +++ b/projects/kiss-vscode/src/ktxt2/KTxt2.kiss @@ -79,11 +79,7 @@ (elements.push (Block block)))) elements)) -(var :Array conversions []) - -(function registerConversion [:KTxt2Conversion conversion] (conversions.push conversion)) - -(function :Map validConversions [sourceFile outputFile source] +(function :Map validConversions [:Array conversions :String sourceFile :String outputFile :String source] (let [validMap (new Map)] (doFor c conversions (case c diff --git a/projects/kiss-vscode/src/ktxt2/KTxt2EditorProvider.kiss b/projects/kiss-vscode/src/ktxt2/KTxt2EditorProvider.kiss index 9e2b4ff2..6c9fd5da 100644 --- a/projects/kiss-vscode/src/ktxt2/KTxt2EditorProvider.kiss +++ b/projects/kiss-vscode/src/ktxt2/KTxt2EditorProvider.kiss @@ -45,8 +45,8 @@ ((objectWith [type "tryAutoConvert"] source output outputStart outputEnd) (let [[base sourceExt outputExt _] (document.fileName.split ".") conversions - (KTxt2.validConversions "${base}.${sourceExt}" "${base}.${outputExt}" source)] - (if (> 0 (Lambda.count conversions)) + (KTxt2.validConversions Main.config.conversions "${base}.${sourceExt}" "${base}.${outputExt}" source)] + (if (> (Lambda.count conversions) 0) (let [overwrite (if output "" "Overwrite") chosenConversion (if (= 1 (Lambda.count conversions)) (first (collect (conversions.iterator))) null)] (withValueOrQuickPick overwrite ["Overwrite" "Cancel"]