Re: epil - PicoLisp with Emacs-like command-line (was: Meta key in

2012-11-02 Thread Alexander Burger
Hi Thorsten,

 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

Perhaps it is better to keep the two editors separate? This would make
changes and extensions more modular.


 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

Yes.

 insert conditional statements in the startscripts and the functions that
 load the libraries? I.e., add 'eled.l' and 'eedit.l' to the PicoLisp

I would use the names vled.l and eled.l, and have a symbolic link
led.l to one of those. In that way, no changes to the rest of the
system are necessary.

Cheers,
- Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: epil - PicoLisp with Emacs-like command-line (was: Meta key in

2012-11-01 Thread Alexander Burger
Hi Thorsten,

 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.

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?

Cheers,
- Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: epil - PicoLisp with Emacs-like command-line (was: Meta key in

2012-11-01 Thread Thorsten Jolitz
Alexander Burger a...@software-lab.de 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:picolisp@software-lab.de?subject=Unsubscribe