-* set local variables in config, have them appear in shell
-* getting the menu to NOT have leading quotes
- -> important for removing passwords if accidentally typed
-* improve library usage of executables
-* interprocess communication
- -> sharing of variables between chitin processes
-* remove trailing whitespace from lines somehow. maybe as a final transformation when you hit enter?
-* `other_ls = method(:ls)` would be cool. note that ls is mapped to a binary and is not actually a method
-* pass environment to child processes
-* tab complete ruby/shell things
-* post_processing for shell commands
- -> make it asynchronous and use pipes
+o fill in Runnable#verify_permissions
-* menu doesn't erase itself sometimes
- -> cat and tabcomplete a file that is empty. output is correct but confusing
-* does not play nice with GDB if it is called within the bash profile file
+o read its entry from .manifest
+ -> each entry formatted as "<path>\0<bitmask of permissions>\0"
+ -> permissions are done as a bitmask: 0b0110101001
+ this is for, say, network access ^
+o return a hash of what's going on
-* ^C on running ruby programs kills the whole interpreter... womp.
-* `include Math; sin(5)` fails
+o display a numbered list to the user of requested permissions
+o display a numbered list of unrequested permissions
+ -> "#a" gives permission to the program for this execution
+ -> "#o" takes permission from the program for this execution
+ -> "<enter>" or "y(es)" proceeds
-* Why do you have to do @line = '' in Coolline in order to not affect the
- history? History calls el.dup which creates a new object. It shouldn't
- matter if I do @line.clear on the original.