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
next prev 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).