Re: [PATCH AMENDED] help: add "man.viewer" config var to use "woman" or "konqueror"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le samedi 1 mars 2008, Junio C Hamano a écrit :
> Xavier Maillard <xma@xxxxxxx> writes:
> > This patch makes it possible to view man pages using other tools
> > than the "man" program. It also implements support for emacs'
> > "woman" and konqueror with the man KIO slave to view man pages.
> >
> > Note that "emacsclient" is used with option "-e" to launch "woman"
> > on GNU emacs and this works only on versions >= 22.
> >
> > Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx>
> > Amended-by: Xavier Maillard <xma@xxxxxxx>
>
> When you do something like this, please CC the original author
> to keep him in the loop.

Yes please.

> I really do not think doing it this way would scale.  What if
> somebody prefers konq under X, and otherwise woman but wants to
> fall back to man?
>
> I do not think checking emacsclient version _every time_ is a
> good idea either, but for the sake of discussing an alternative
> approach, let's say that is fine.
>
> How about allowing multi-valued man.viewer like this:
>
>         [man]
>                 viewer = woman
>                 viewer = konqueror
>                 viewer = man

I tried the above in my .git/config and I get:

$ git config man.viewer
woman
error: More than one value for the key man.viewer: konqueror
error: More than one value for the key man.viewer: man

so I guess this can work only in C.

> and have:
>
>         static struct man_viewer {
>                 char *name;
>                 void (*exec)(const char *);
>         } viewers[] = {
>                 { "woman", exec_woman },
>                 { "konqueror", exec_konqueror },
>                 { "man", exec_man },
>                 { NULL, },
>         };
>
> Then you can iterate the man.viewer values, ask the viewer's
> exec() function to show the page (or return when it is not
> in an environment that it can be useful).
>
> show_man_page() would become:
>
> 	for (each viewer in user's config)
> 		viewer.exec(page); /* will return when unable */
> 	die("no man viewer handled the request");

Great idea, I will see if I can do that in some latter patches.

Thanks,
Christian.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux