racket/collects/xrepl
Eli Barzilay e8d3223ce5 Add an example for extending xrepl, the very stupid way.
For the record, a way to do this permanently is to add something like
this to your ~/.racketrc:

  (eval '(begin
           (saved-values-char #\~)
           (defcommand eli "stuff" "eli says" ["Make eli say stuff"]
             (printf "Eli says: ~a\n" (getarg 'line)))
           (defcommand er #f "alias for errortrace" ["Runs errortrace"]
             (run-command 'errortrace)))
        (module->namespace 'xrepl/xrepl))

But this is too stupid even for a section that has "Hacking" in its title.

There should definitely be an organized way to do this.  This will
require several things:

* A decent API for doing these things for user code.  (So the above
  `eval' turns to a `require' for your file which uses this API.)  This
  goes beyond just documenting what's in there -- there are issues to
  resolve like some argument reading protocol (separating the
  declaration of argument types from the command implementation code),
  so a new command can call another with arguments that it reads.

* There should also be some ,set command for customization
  options (reading and changing) and code to use the preference file for
  doing that.  I almost started to do this, but currently there are only
  three values that this could apply to (`saved-values-char', `-number',
  and `wrap-column' (which might be better to dump and use
  `pretty-print-columns' instead)).

* Also, it might be nice to have some command to do the same for simple
  aliases.  (But this might get into shady parsing issues if it's more
  than just "I want `foo' to be an alias for an existing `bar' command".)
(cherry picked from commit 3c1e624916)
2011-07-19 11:36:17 -04:00
..
doc-utils.rkt XREPL documentation. 2011-07-19 11:36:10 -04:00
info.rkt XREPL documentation. 2011-07-19 11:36:10 -04:00
main.rkt Lots of improvements: 2011-07-19 11:36:07 -04:00
xrepl.rkt Lots of improvements: 2011-07-19 11:36:07 -04:00
xrepl.scrbl Add an example for extending xrepl, the very stupid way. 2011-07-19 11:36:17 -04:00