Re: Registering pretty-printers

Vladimir Prus
2009-06-12T17:43:53Z

On Friday 12 June 2009 Tom Tromey wrote:

> I would like to solve the remaining problems. I just don't know how
> to do it, in a way that preserves the qualities I care about. What I
> care about is, more or less, embedded in what I implemented: make it
> super easy for printers to be developed alongside applications and
> libraries, and be made available automatically without user
> intervention.

Probably the cases I have described are too tricky to allow for automatic
setup of pretty-printers. E.g. header-only-library case is pretty much
impossible to handle.

> Vladimir> Therefore, we should make up some conventions how a
> Vladimir> pretty-printer can be packaged separately, preferably as a
> Vladimir> single file, and how IDE, given name of the file and nothing
> Vladimir> else, can enable pretty printing.
>
> That would be fine by me.
>
> Vladimir> Say, how about tar.gz, which is unpacked by IDE, whose top-level
> Vladimir> directory is added to PYTHONPATH, and which should have top-level
> Vladimir> file called init.py, with a function 'init_pretty_printers'?
>
> I don't see how it is better than the hook file approach we already
> have. Your IDE could easily send "python execfile" to load any given
> hook file. Defining a function in that file doesn't add anything that
> I can see.

There are two important points I propose:

1. Having a file at top-level, as opposed in some subdir which name
differs.
2. Having a file with fixed name.

I am probably wrong, but neither of this is true with the current
recommended approach.

> It seems to me that you could make a .tar holding all the files from
> libstdc++/python, then have your IDE unpack these somewhere, update
> sys.path, and execfile the file(s) in the topmost directory. Assuming
> these files follow the "None convention", it will work fine.

I did not notice any files on top-level. Have I missed something?

- Volodya