Alexander Burger <[email protected]> writes: Hi Alex,
>> I managed to produce a first experimental version of 'epil', i.e. a new >> version of led.l (eled.l) and some small changes in libraries that are >> called at PicoLisp startup. If you clone this github repo: >> >> ,----------------------------- >> | https://github.com/tj64/epil >> `----------------------------- > > Thanks! I think this might make the PicoLisp REPL more usable for many > people, as most are not used to a VI-style command line, and probably > are not even aware of it. Although it seems very efficient, and there are not too many keybindings to remember, the VI-style command line requieres a completely different way a thinking for somebody who uses Emacs all the time. > In the long term, the Emacs-interface should be available without > explicit installation, and possibly even co-exist with the VI version > (switchable at runtime). Would this be difficult? Since now I know how to assign (almost) all kinds of Emacs keybindings in PicoLisp, I can try to better understand the 'commandline' implementation. What I did for 'epil' is simply eliminating 'Command mode' and shifting the commands into 'Insert mode' with new keybindings. Maybe there could be a 1. global switch '*Vi' that is true by default, and 2. a function '(de Toggle-Vi...)' that toggles that switch, and 3. three modes: Command, Insert, EInsert or 3. two modes Command and Insert, with much Command functionality duplicated in Insert where Command and Insert are the Vi-Style modes and EInsert is the Emacs-style mode. Since there are conflicting keybindings, one would call the functions for many keys conditional on the value of '*Vi*'. Does that sound like a reasonable approach, or is there a simpler/more elegant solution? As an alternative approach: maybe one could actually have two additional library files 'eled.l' and 'eedit.l', not change anything in 'led.l' and 'edit.l', and simply insert conditional statements in the startscripts and the functions that load the libraries? I.e., add 'eled.l' and 'eedit.l' to the PicoLisp distribution, and offer the 'epil' shell-command too? For development, at the moment I rather prefer to have 'epil' separated from standard PicoLisp, so I can mess up things ;) -- cheers, Thorsten -- UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe
