commit 65e437f0501592cccda9e52a24f94613d2712102 parent ad42ea3f6920c7ac3bcf7196b1ddc5736767156a Author: Tomas Hlavaty <tom@logand.com> Date: Tue, 26 Apr 2011 23:31:37 +0200 swank:autodoc works except for built-in stuff and highlighting Diffstat:
M | swank-picolisp.l | | | 15 | ++++++++++++--- |
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/swank-picolisp.l b/swank-picolisp.l @@ -94,9 +94,18 @@ ':version 'nil #NIL #,*swank-wire-protocol-version* ) ) -(de swank:autodoc (RawForm Key PrintRightMargin) -(de swank:autodoc (RawForm . @) # Key PrintRightMargin - "Arg1 ===> Arg2 <=== Arg3" ) +(de swank:autodoc (RawForm . @) + ## TODO highlighting "Arg1 ===> Arg2 <=== Arg3" + ## TODO Key PrintRightMargin + (let? Nm (intern (caar RawForm)) + (let Def (val Nm) + (cond + ((or (not Def) (= Nm Def)) (pack Nm " not defined") ) + ((atom Def) (pack Nm " " Def + (case Nm ## TODO automate this? grep '^# (' *.l | grep -v '# (c)' + (de " (sym . any) -> sym") + (pack " ('any ..) -> sym") ) ) ) + (T (pack Nm " " (sym (car Def)))) ) ) ) ) (de swank:swank-require (Lst))