help: hide command line options marked as "advanced"
Previously, we have keywords like "(DEPRECATED)" and "(EXPERIMENTAL)" to
hide command line options in non-verbose help output.
However, sometimes an option is neither deprecated nor experimental. It's
well-tested and working, but just not designed to average users. This patch
adds a keyword "(ADVANCED)" to fit in such use cases.
Thanks rom1dep for the suggestion of the word "advanced".
--- a/mercurial/help.py Thu Feb 23 21:27:25 2017 +0900
+++ b/mercurial/help.py Tue Nov 01 14:50:45 2016 +0000
@@ -33,14 +33,17 @@
webcommands,
)
-_exclkeywords = [
+_exclkeywords = set([
+ "(ADVANCED)",
"(DEPRECATED)",
"(EXPERIMENTAL)",
+ # i18n: "(ADVANCED)" is a keyword, must be translated consistently
+ _("(ADVANCED)"),
# i18n: "(DEPRECATED)" is a keyword, must be translated consistently
_("(DEPRECATED)"),
# i18n: "(EXPERIMENTAL)" is a keyword, must be translated consistently
_("(EXPERIMENTAL)"),
- ]
+ ])
def listexts(header, exts, indent=1, showdeprecated=False):
'''return a text listing of the given extensions'''
--- a/tests/test-help.t Thu Feb 23 21:27:25 2017 +0900
+++ b/tests/test-help.t Tue Nov 01 14:50:45 2016 +0000
@@ -683,6 +683,7 @@
> ('', 'newline', '', 'line1\nline2')],
> 'hg nohelp',
> norepo=True)
+ > @command('debugoptADV', [('', 'aopt', None, 'option is (ADVANCED)')])
> @command('debugoptDEP', [('', 'dopt', None, 'option is (DEPRECATED)')])
> @command('debugoptEXP', [('', 'eopt', None, 'option is (EXPERIMENTAL)')])
> def nohelp(ui, *args, **kwargs):
@@ -895,6 +896,7 @@
complete "names" - tags, open branch names, bookmark names
debugobsolete
create arbitrary obsolete marker
+ debugoptADV (no help text available)
debugoptDEP (no help text available)
debugoptEXP (no help text available)
debugpathcomplete
@@ -1108,7 +1110,15 @@
(use 'hg help -v helpext' to show built-in aliases and global options)
-test deprecated and experimental options are hidden in command help
+test advanced, deprecated and experimental options are hidden in command help
+ $ hg help debugoptADV
+ hg debugoptADV
+
+ (no help text available)
+
+ options:
+
+ (some details hidden, use --verbose to show complete help)
$ hg help debugoptDEP
hg debugoptDEP
@@ -1127,7 +1137,9 @@
(some details hidden, use --verbose to show complete help)
-test deprecated and experimental options is shown with -v
+test advanced, deprecated and experimental options are shown with -v
+ $ hg help -v debugoptADV | grep aopt
+ --aopt option is (ADVANCED)
$ hg help -v debugoptDEP | grep dopt
--dopt option is (DEPRECATED)
$ hg help -v debugoptEXP | grep eopt