git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: paul@pauldsmith.org.uk
Cc: git@vger.kernel.org
Subject: Re: Support 'help' for custom/alias commands
Date: Fri, 7 Feb 2020 23:46:18 +0000	[thread overview]
Message-ID: <20200207234618.GH6573@camp.crustytoothpaste.net> (raw)
In-Reply-To: <005001d5dda3$5bc12510$13436f30$@pauldsmith.org.uk>

[-- Attachment #1: Type: text/plain, Size: 2510 bytes --]

On 2020-02-07 at 10:42:56, paul@pauldsmith.org.uk wrote:
> Adding a custom comment (let’s call is ‘foolish’) is easy but then you
> someone types ‘git help foolish’, they get some strange message about help
> not being found.
> 
> There are two problems with this:
> 
> 1. It’s hard for users to create good documentation in the same format as
> the core git product 2. The git ‘help’ processing currently looks in one,
> and one place only and that location is often ‘locked down’ meaning that
> mere users cannot add their custom help to this directory.

It is possible to extend the set of locations that one can use for man
by setting MANPATH.  If you do so, something like "git foolish --help"
does indeed work.

> I propose that #1 be solved by creating a command/tool and documentation
> that explains how to mimic the input to the standard Git help files and have
> them processed to create the HTML/HTML5/MAN help normally produced.  Ideally
> it would do exactly the same processing as the core tools (perhaps even
> having their docs built using this tool now) and use exactly the same
> template files that core git uses.

There is such a tool, and it's called Asciidoctor.  However, it's
written in Ruby, and not all users will want to install Ruby as part of
their Git installation.  It does work nicely, though, and I use it for
my own custom Git subcommands.

Also, if a user prefers to use a different tool for creating manual
pages or HTML documentation, they can certainly do so.

> I propose that #2 be solved by allowing a new set of ‘git config’ fields.
> The layout should be sensible and should users to be able to set a git
> variable which then means that the core git help finds their help text.
> Possible we want to force
> 
> <where I installed my tool>/docs/man, or html, or html5
> 
> And the git config variable be something like
> “help.custom.foolish=<where-foolish-is-installed>/docs”

I think specifying a single location may be a problem because different
types of documentation live in different locations.  On Debian, man
pages live in /usr/share/man, but HTML documentation lives in
/usr/share/doc.

We could theoretically add support for this if we did help.foolish.man
and help.foolish.html, though.

I don't feel strongly enough about this to implement it, but if you're
interested, I could review a patch.
-- 
brian m. carlson: Houston, Texas, US
OpenPGP: https://keybase.io/bk2204

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 868 bytes --]

  parent reply	other threads:[~2020-02-07 23:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <VI1P192MB025548BB0508125DF9B5852DC81C0@VI1P192MB0255.EURP192.PROD.OUTLOOK.COM>
2020-02-07 10:42 ` Support 'help' for custom/alias commands paul
2020-02-07 11:29   ` Konstantin Khomoutov
2020-02-09 13:16     ` paul
2020-02-07 23:46   ` brian m. carlson [this message]
2020-02-09 13:14     ` paul
2020-02-09 16:38       ` brian m. carlson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200207234618.GH6573@camp.crustytoothpaste.net \
    --to=sandals@crustytoothpaste.net \
    --cc=git@vger.kernel.org \
    --cc=paul@pauldsmith.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).