diff --git a/src/nat/ArchiveController.hx b/src/nat/ArchiveController.hx index ef7ac84..2035ebf 100644 --- a/src/nat/ArchiveController.hx +++ b/src/nat/ArchiveController.hx @@ -23,10 +23,13 @@ enum CommandArgType { // Make the user select Entry(s) when called interactively OneEntry; // This constructor must be disambiguated from the typedef "Entry" Entries(min:Null, max:Null); + // TODO Tag -- make sure a tag input is a valid haxe variable name for tagsMatch compatibility // TODO VarTag + // What I really want is tags autocomplete, which is UNREALISTIC - // TODO playground name -- choose from archive.playgrounds + // TODO File + // TODO Files Position; diff --git a/src/nat/ArchiveController.kiss b/src/nat/ArchiveController.kiss index f20a34e..f5b6d9c 100644 --- a/src/nat/ArchiveController.kiss +++ b/src/nat/ArchiveController.kiss @@ -407,6 +407,13 @@ (SelectEntries []) (when playgroundSystem (playgroundSystem.switchPlaygroundKey name)) []) + + (defCommand ChoosePlayground [] + (ui.chooseBetweenStrings + "Choose a playground:" + (for =>key _ archive.playgrounds (if (= key "default") (continue) key)) + ->pg (SwitchPlayground pg)) + []) (defCommand AddConnections [entries (SelectedEntries 1 null) entriesToConnect (Entries 1 null)] (for e entries diff --git a/src/nat/ArchiveUI.hx b/src/nat/ArchiveUI.hx index 592a5d6..db388fb 100644 --- a/src/nat/ArchiveUI.hx +++ b/src/nat/ArchiveUI.hx @@ -75,4 +75,9 @@ interface ArchiveUI { * A way to tell NAT where the cursor is */ function cursorPosition():Option; + + /** + * Prompt the user between some string options + */ + function chooseBetweenStrings(prompt:String, choices:Array, resolve:String->Void):Void; }