Обсуждение: pgindent wishlist item

Поиск
Список
Период
Сортировка

pgindent wishlist item

От
Andrew Dunstan
Дата:
While Bruce is working on pgindent, let me register a small wishlist 
item. It would be quite useful to be able to supply extra typedefs on 
the command line to supplement a typedefs file downloaded from the 
buildfarm or constructed however. A concrete example: in the code I have 
been recently working on, there are typedefs for Jsonb and JsonbValue. 
If I run pgindent as normal on the new code these items are not treated 
properly. What I had to do was take a special copy of the typedefs list 
and add those two items. If we could pass a list of extra typedefs to 
supplement the typedefs file that would be very useful. Then I could do 
something like:
   pgindent --typedef Jsonb --typedef JsonbValue   src/backend/utils/adt/jsonfuncs.c

without having to mangle a typedefs file.

This would make using pgindent nicer to use during development, since 
any significant development is just about guaranteed to have some new 
typedefs the buildfarm can't have.

cheers

andrew



Re: pgindent wishlist item

От
Tom Lane
Дата:
Andrew Dunstan <andrew@dunslane.net> writes:
> While Bruce is working on pgindent, let me register a small wishlist 
> item. It would be quite useful to be able to supply extra typedefs on 
> the command line to supplement a typedefs file downloaded from the 
> buildfarm or constructed however. A concrete example: in the code I have 
> been recently working on, there are typedefs for Jsonb and JsonbValue. 
> If I run pgindent as normal on the new code these items are not treated 
> properly. What I had to do was take a special copy of the typedefs list 
> and add those two items. If we could pass a list of extra typedefs to 
> supplement the typedefs file that would be very useful. Then I could do 
> something like:

>     pgindent --typedef Jsonb --typedef JsonbValue
>     src/backend/utils/adt/jsonfuncs.c

> without having to mangle a typedefs file.

Personally, I always just edit the downloaded file to add whatever
typedefs the patch I'm working on adds.  I wouldn't use a command
line switch even if there was one, because then I'd have to remember
which typedef names to add each time I run pgindent.
        regards, tom lane



Re: pgindent wishlist item

От
Andres Freund
Дата:
On 2014-01-31 12:29:52 -0500, Andrew Dunstan wrote:
> While Bruce is working on pgindent

If it's christmas, let me wish for a not completly broken formatting of
function typedefs. E.g.
typedef ForeignScan *(*GetForeignPlan_function) (PlannerInfo *root,
  RelOptInfo *baserel,                                                         Oid foreigntableid,
                              ForeignPath *best_path,                                                            List
*tlist,                                                       List *scan_clauses);
 
is ridiculous. It can't be convinced to add a newline at any helpful
place afaik.


Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



Re: pgindent wishlist item

От
Bruce Momjian
Дата:
On Fri, Jan 31, 2014 at 12:44:22PM -0500, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
> > While Bruce is working on pgindent, let me register a small wishlist
> > item. It would be quite useful to be able to supply extra typedefs on
> > the command line to supplement a typedefs file downloaded from the
> > buildfarm or constructed however. A concrete example: in the code I have
> > been recently working on, there are typedefs for Jsonb and JsonbValue.
> > If I run pgindent as normal on the new code these items are not treated
> > properly. What I had to do was take a special copy of the typedefs list
> > and add those two items. If we could pass a list of extra typedefs to
> > supplement the typedefs file that would be very useful. Then I could do
> > something like:
>
> >     pgindent --typedef Jsonb --typedef JsonbValue
> >     src/backend/utils/adt/jsonfuncs.c
>
> > without having to mangle a typedefs file.
>
> Personally, I always just edit the downloaded file to add whatever
> typedefs the patch I'm working on adds.  I wouldn't use a command
> line switch even if there was one, because then I'd have to remember
> which typedef names to add each time I run pgindent.

Easily added, so done with the attached, applied patch.  You use it
like this:

    pgindent --list-of-typedefs 'abc def'

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + Everyone has their own god. +

Вложения

Re: pgindent wishlist item

От
Bruce Momjian
Дата:
On Fri, Jan 31, 2014 at 07:15:05PM +0100, Andres Freund wrote:
> On 2014-01-31 12:29:52 -0500, Andrew Dunstan wrote:
> > While Bruce is working on pgindent
> 
> If it's christmas, let me wish for a not completly broken formatting of
> function typedefs. E.g.
> typedef ForeignScan *(*GetForeignPlan_function) (PlannerInfo *root,
>                                                          RelOptInfo *baserel,
>                                                           Oid foreigntableid,
>                                                       ForeignPath *best_path,
>                                                              List *tlist,
>                                                          List *scan_clauses);
> is ridiculous. It can't be convinced to add a newline at any helpful
> place afaik.

Uh, not sure how to help here.  :-(

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + Everyone has their own god. +