This is looking pretty neat. I played around with it a bit. There are a couple of edge cases that you need to address, I think.
Thanks, original code is very synoptical and and well prepared for adding new formats.
- Does not support \x
I know, i dnot`t know, if \x make sense in this case. I will look, how it is done in other formats like html. I think, that it should work in sense, that table generated to rst should give similar output after processing like output of html format.
- When \pset format is rst, then \pset linestyle also shows up as "rst". That is wrong. Same for markdown.
I will look on this.
- Broken output in tuples_only (\t) mode. (rst and markdown)
Similar to \x, im not certain, what it should return. I will look, what returns html format. Or i can use it in markdown for nice vs expanded format.
- rst: Do something about \pset title; the way it currently shows up appears to be invalid; could use ".. table:: title" directive
OK, it shouldn`t be problem alter this.
- markdown: Extra blank line between table and footer.
It is because markdown needs empty line after table, if is row count presented.
- markdown: We should document or comment somewhere exactly which of the various markdown table formats this is supposed to produce. (Pandoc pipe_tables?)
I use format that was similar to aligned format and ascii linestyle, because it allows me to use existing features. I should look over more table styles in markdown.
- markdown: Table title needs to be after the table, like
Table: title
I will change this.
- markdown: Needs to escape | characters in cell contents. (Not needed for rst.) More escaping might be needed.
This can be problem because of aligning, i will look on this, this same problem as replace newline with </br> for markdown.
Have Nice day
Jan
-- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services