git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Philip Oakley <philipoakley@iee.org>
To: GitList <git@vger.kernel.org>
Subject: [PATCH 05/13] Help.c: add list_common_guides_help() function
Date: Sat, 23 Feb 2013 23:05:53 +0000	[thread overview]
Message-ID: <1361660761-1932-6-git-send-email-philipoakley@iee.org> (raw)
In-Reply-To: <1361660761-1932-1-git-send-email-philipoakley@iee.org>

Re-use list_common_cmds_help but simply change the array name.
Candidate for future refactoring to pass a pointer to the array.

Do not list User-manual and Everday Git which not follow the naming
convention, nor gitrepository-layout which doesn't fit within the name field size

Signed-off-by: Philip Oakley <philipoakley@iee.org>
---
 builtin/help.c  |  1 +
 common-guides.h | 12 ++++++++++++
 help.c          | 18 ++++++++++++++++++
 help.h          |  1 +
 4 files changed, 32 insertions(+)
 create mode 100644 common-guides.h

diff --git a/builtin/help.c b/builtin/help.c
index 699e679..b0746af 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -434,6 +434,7 @@ int cmd_help(int argc, const char **argv, const char *prefix)
 		if (!show_guides) return 0;
 	}
 	if (show_guides) {
+		list_common_guides_help();
 		return 0;
 	}
 	if (!argv[0]) {
diff --git a/common-guides.h b/common-guides.h
new file mode 100644
index 0000000..a8ad8d1
--- /dev/null
+++ b/common-guides.h
@@ -0,0 +1,12 @@
+/* Automatically generated by ./generate-guidelist.sh */
+/* re-use struct cmdname_help in common-commands.h */
+
+static struct cmdname_help common_guides[] = {
+  {"attributes", "defining attributes per path"},
+  {"glossary", "A GIT Glossary"},
+  {"ignore", "Specifies intentionally untracked files to ignore"},
+  {"modules", "defining submodule properties"},
+  {"revisions", "specifying revisions and ranges for git"},
+  {"tutorial", "A tutorial introduction to git (for version 1.5.1 or newer)"},
+  {"workflows", "An overview of recommended workflows with git"},
+};
diff --git a/help.c b/help.c
index 1c0e17d..94df446 100644
--- a/help.c
+++ b/help.c
@@ -4,6 +4,7 @@
 #include "levenshtein.h"
 #include "help.h"
 #include "common-cmds.h"
+#include "common-guides.h"
 #include "string-list.h"
 #include "column.h"
 #include "version.h"
@@ -240,6 +241,23 @@ void list_common_cmds_help(void)
 	}
 }
 
+void list_common_guides_help(void)
+{
+	int i, longest = 0;
+
+	for (i = 0; i < ARRAY_SIZE(common_guides); i++) {
+		if (longest < strlen(common_guides[i].name))
+			longest = strlen(common_guides[i].name);
+	}
+
+	puts(_("The common Git guides are:"));
+	for (i = 0; i < ARRAY_SIZE(common_guides); i++) {
+		printf("   %s   ", common_guides[i].name);
+		mput_char(' ', longest - strlen(common_guides[i].name));
+		puts(_(common_guides[i].help));
+	}
+}
+
 int is_in_cmdlist(struct cmdnames *c, const char *s)
 {
 	int i;
diff --git a/help.h b/help.h
index 0ae5a12..4ae1fd7 100644
--- a/help.h
+++ b/help.h
@@ -17,6 +17,7 @@ static inline void mput_char(char c, unsigned int num)
 }
 
 extern void list_common_cmds_help(void);
+extern void list_common_guides_help(void);
 extern const char *help_unknown_cmd(const char *cmd);
 extern void load_command_list(const char *prefix,
 			      struct cmdnames *main_cmds,
-- 
1.8.1.msysgit.1

  parent reply	other threads:[~2013-02-23 23:06 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-23 23:05 [PATCH 00/13] Git help option to list user guides Philip Oakley
2013-02-23 23:05 ` [PATCH 01/13] Use 'Git' in help messages Philip Oakley
2013-02-23 23:41   ` David Aguilar
2013-02-23 23:54     ` Philip Oakley
2013-02-24  8:59     ` Junio C Hamano
2013-02-24 21:50       ` Philip Oakley
2013-02-24 22:11       ` David Aguilar
2013-02-23 23:05 ` [PATCH 02/13] Show 'git help <guide>' usage, with examples Philip Oakley
2013-02-24 14:39   ` W. Trevor King
2013-02-24 22:05     ` Philip Oakley
2013-02-23 23:05 ` [PATCH 03/13] Help.c use OPT_COUNTUP Philip Oakley
2013-02-23 23:05 ` [PATCH 04/13] Help.c add --guide option Philip Oakley
2013-02-23 23:05 ` Philip Oakley [this message]
2013-02-24  9:01   ` [PATCH 05/13] Help.c: add list_common_guides_help() function Junio C Hamano
2013-02-24 21:51     ` Philip Oakley
2013-02-25  5:24       ` Junio C Hamano
2013-02-25 23:43         ` Philip Oakley
2013-02-25 23:55           ` Junio C Hamano
2013-02-23 23:05 ` [PATCH 06/13] Add guide-list.txt and extraction shell Philip Oakley
2013-02-24 14:51   ` W. Trevor King
2013-02-24 22:12     ` Philip Oakley
2013-02-23 23:05 ` [PATCH 07/13] Extend name string for longer names Philip Oakley
2013-02-23 23:05 ` [PATCH 09/13] Rename everyday to giteveryday Philip Oakley
2013-02-24 14:55   ` W. Trevor King
2013-02-24 22:16     ` Philip Oakley
2013-02-23 23:05 ` [PATCH 10/13] Update Git(1) links to guides Philip Oakley
2013-02-23 23:05 ` [PATCH 11/13] Add missing guides to list and regenerate Philip Oakley
2013-02-23 23:06 ` [PATCH 12/13] Documentation/Makefile: update git guide links Philip Oakley
2013-02-24 14:58   ` W. Trevor King
2013-02-24 22:31     ` Philip Oakley
2013-02-25  5:29   ` Junio C Hamano
2013-02-25 23:43     ` Philip Oakley
2013-02-26  0:04       ` Junio C Hamano
2013-02-26 20:24         ` Philip Oakley
2013-02-23 23:06 ` [PATCH 13/13] Fixup! doc: giteveryday and user-manual man format Philip Oakley
2013-02-24 15:01   ` W. Trevor King
2013-02-24 22:32     ` Philip Oakley

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=1361660761-1932-6-git-send-email-philipoakley@iee.org \
    --to=philipoakley@iee.org \
    --cc=git@vger.kernel.org \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).