Todd O'Bryan wrote:
Is there some way, short of rewriting pretty-print myself, to signal
where I want line-breaks when printing an s-expr?

For example, suppose I have '(a b c d), and I'd like it displayed as:

(a b
  c
  d)

Is there a clever way to do that, or am I in for some work?

If there's already something else that prints that way, you're in luck: you can update the 'pretty-print-current-style-table' to treat the symbol as that other thing. The example you have above looks like the indentation of 'lambda', so you could write:

  (parameterize ((pretty-print-current-style-table
                  (pretty-print-extend-style-table
                   (pretty-print-current-style-table)
                   (list 'a)
                   (list 'lambda))))
    (pretty-write '(a b c d)))

Of course, it'll still print on one line if it can.

There are other hooks you might look at. You might be able to intercept all lists starting with 'a, for example, and handle the printing of those yourself. See 'pretty-print-size-hook' and 'pretty-print-print-hook', and maybe others.

Ryan
_________________________________________________
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/users

Reply via email to