diff --git a/projects/nat-archive-tool/src/nat/Archive.kiss b/projects/nat-archive-tool/src/nat/Archive.kiss index c242a2db..84facf93 100644 --- a/projects/nat-archive-tool/src/nat/Archive.kiss +++ b/projects/nat-archive-tool/src/nat/Archive.kiss @@ -20,6 +20,7 @@ (defmethod :Entry createEntry [:Entry->Dynamic initializer] // initializer returns Dynamic so ->:Void isn't required (let [e (_newEntry)] (initializer e) + (dictSet entries e.id e) (refreshEntry e) e)) diff --git a/projects/nat-archive-tool/src/nat/ArchiveController.kiss b/projects/nat-archive-tool/src/nat/ArchiveController.kiss index b03f3ed2..439dbcb5 100644 --- a/projects/nat-archive-tool/src/nat/ArchiveController.kiss +++ b/projects/nat-archive-tool/src/nat/ArchiveController.kiss @@ -57,7 +57,7 @@ archive continuation)) ((Entries min max) - (unless min (set min 0)) + (unless min (set min 1)) // TODO might want to optimize this O(n) count operation by pre-calculating it (unless max (set max (count archive.entries))) (ui.chooseEntries @@ -69,7 +69,7 @@ (< max entries.length)) (ui.reportError "The requested command expects between $min and $max entries. You chose: $entries.length") - (continuation selectedEntries))) + (continuation entries))) min max)))) @@ -116,17 +116,17 @@ :Map commands (new Map)] (defcommand selectEntry [e OneEntry] - (set selectedEntries [e])) + (set selectedEntries [e]) []) (defcommand selectEntries [entries (Entries null null)] - (set selectedEntries entries)) + (set selectedEntries entries) []) (defcommand selectLastChangeSet [] - (set selectedEntries lastChangeSet)) + (set selectedEntries lastChangeSet) []) (defcommand printSelectedEntries [entries (SelectedEntries null null)] - (doFor e entries (ui.displayMessage (archive.fullString e)))) + (doFor e entries (ui.displayMessage (archive.fullString e))) []) (defcommand createEntry [name (Text null null)] - (archive.createEntry ->e - (addComponent archive e Name name)))) \ No newline at end of file + [(archive.createEntry ->e + (addComponent archive e Name name))])) \ No newline at end of file diff --git a/projects/nat-archive-tool/src/nat/CLI.hx b/projects/nat-archive-tool/src/nat/CLI.hx index 1d7d437b..5731e89a 100644 --- a/projects/nat-archive-tool/src/nat/CLI.hx +++ b/projects/nat-archive-tool/src/nat/CLI.hx @@ -4,7 +4,8 @@ import kiss.Prelude; import kiss.List; import kiss.Operand; import sys.FileSystem; -import nat.ArchiveController.CommandArgType; +import nat.ArchiveController; + using StringTools; @:build(kiss.Kiss.build()) diff --git a/projects/nat-archive-tool/src/nat/CLI.kiss b/projects/nat-archive-tool/src/nat/CLI.kiss index 800883c2..f9351e77 100644 --- a/projects/nat-archive-tool/src/nat/CLI.kiss +++ b/projects/nat-archive-tool/src/nat/CLI.kiss @@ -12,7 +12,7 @@ (.trim (.toString (.readLine (Sys.stdin))))] (if (controller.commands.exists command) (controller.runCommand (dictGet controller.commands command)) - (Sys.print "$command is not a valid command")))))) + (Sys.println "$command is not a valid command")))))) (defnew [])