Hi Frithjof,
> in the wiki there are a few mentions of using vi/ld to edit code from
> within a running pil foo.l + session. This works fine in picolisp 19
> from the Debian packages and vim here, but the ld functions seems no
> longer to exist in pil21. Is this style of working still supported?
Sorry, yes, 'ld' does not exist any more in pil21.
However, I believe it is not needed any more, because Vim is now replaced by Vip
which supports this behavior directly (and in a more useful way as I believe).
Short answer: When you have a source file open in a Vip window, just hit <space>
to get the ':' prompt in the command window, followed by 'l' (without a space
between the ':' and the 'l'!) and <enter>. This will reload the file.
In Vip you can resize the command window with '+' and '-' like any other window.
Then you can see after the above operation e.g.
:l
# g redefined
-> g
:l
# f redefined
-> f
Note the difference: If ':' is followed by a space and then an expression, it is
an arbitrary Lisp expression, as opposed to editor commands like ":e", ":w" or
":x":
: (symbols)
-> (pico)
: (* 3 4)
-> 12
So the above ":l" could also be achieved with:
: (symbols '(vip pico))
-> (vip pico)
: (load (: buffer file))
# f redefined
-> f
> Also, I was wondering if there is a simple way, that I am missing, to
> pretty print / indent code in vip.
Yes:
:l
# f redefined
-> f
: (pp 'f)
(de f (A)
(dec (* A A)) )
-> f
We should make a PilCon session about Vip.
☺/ A!ex
--
UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe