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:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to