Commit Graph

2350 Commits

Author SHA1 Message Date
Florian Bruhin
66d36442d7 Fix version info on OS X 2014-09-25 21:33:03 +02:00
Florian Bruhin
9855ad6906 tabbedbrowser: Connect cur_load_started only once. 2014-09-25 19:08:15 +02:00
Florian Bruhin
c188c6986d Call on_mode_entered only once for hints. 2014-09-25 19:06:38 +02:00
Florian Bruhin
0494bc3763 Improve modeman.maybe_leave logging/exception. 2014-09-25 18:45:16 +02:00
Florian Bruhin
6b459f43f1 Improve :debug-all-objects output. 2014-09-25 18:17:52 +02:00
Florian Bruhin
1239efa615 Set application title to "qutebrowser" on tabs without title. 2014-09-25 17:39:56 +02:00
Florian Bruhin
7649dca2ef tabbedbrowser: Improve titleChanged logging. 2014-09-25 17:36:40 +02:00
Florian Bruhin
f294e28fca Remove change_title signal in QWebPage.
When emitting it inside acceptNaviationRequest we don't know if javascript will
open a new window, so we could end up setting the title for the *wrong*
(current) tab.

It seems there isn't any good solution to this problem - in
QWebView.createWindow we won't know what the URL is - so we currently just
leave it blank.
2014-09-25 17:34:55 +02:00
Florian Bruhin
7b8829286c Merge branch 'objreg' 2014-09-25 08:08:08 +02:00
Florian Bruhin
55e2ccabf5 Fix lint 2014-09-25 07:58:08 +02:00
Florian Bruhin
143fdc5b9f Register tab registry in meta registry. 2014-09-25 07:50:07 +02:00
Florian Bruhin
1e7861660e Add 'meta' scope to objreg. 2014-09-25 07:49:46 +02:00
Florian Bruhin
78949a8c1b Use object registry for hintmanager. 2014-09-25 07:49:45 +02:00
Florian Bruhin
e8ce45c440 Add a tab-scope object registry. 2014-09-25 07:49:45 +02:00
Florian Bruhin
4067b584ec Add a registry argument to objreg.register. 2014-09-25 07:43:14 +02:00
Florian Bruhin
e527db1560 Add scope argument to cmdutils.register/commands. 2014-09-25 07:41:51 +02:00
Florian Bruhin
df5ac3ab2f Use object registry for keyparsers. 2014-09-25 07:41:18 +02:00
Florian Bruhin
8421ff7ad0 Fix :restart when installed as Python egg with launcher 2014-09-25 07:07:27 +02:00
Florian Bruhin
e029139764 Fix exception when adding quickmark with empty name. 2014-09-25 06:56:25 +02:00
Florian Bruhin
c77057e88e Add a scope parameter to objreg functions. 2014-09-25 00:30:52 +02:00
Florian Bruhin
4783df8c32 Avoid download_get signal. 2014-09-25 00:29:29 +02:00
Florian Bruhin
c19b8fe982 Fix tests for object registry. 2014-09-24 23:11:17 +02:00
Florian Bruhin
34a5ad48b2 Don't pass prompt object to prompter. 2014-09-24 22:25:11 +02:00
Florian Bruhin
027e7e054e Remove obsolete EnumBase usertype. 2014-09-24 22:25:11 +02:00
Florian Bruhin
05ff908c4f Update attributes in docstrings. 2014-09-24 22:25:11 +02:00
Florian Bruhin
f2b46dc2e9 Remove srcmodel attribute from completionfilter. 2014-09-24 22:25:11 +02:00
Florian Bruhin
cb35452cf0 Remove unused flag for keyparser. 2014-09-24 22:25:11 +02:00
Florian Bruhin
62e55499eb Privatize all attributes which aren't needed from the outside. 2014-09-24 22:25:11 +02:00
Florian Bruhin
75da8a7f1b Add missing parent=None 2014-09-24 22:25:11 +02:00
Florian Bruhin
507354c8d1 Use object registry for Prompt in Prompter. 2014-09-24 22:25:10 +02:00
Florian Bruhin
8cb6ba01e3 Use object registry for TabbedBrowser in SignalFilter. 2014-09-24 22:25:10 +02:00
Florian Bruhin
59058361b8 Add missing objreg import in browser.webpage. 2014-09-24 22:25:10 +02:00
Florian Bruhin
aa5e1922ef Remove _view attribute in BrowserPage. 2014-09-24 22:25:10 +02:00
Florian Bruhin
6a5c9ba138 Use object registry for CompletionView. 2014-09-24 22:25:10 +02:00
Florian Bruhin
7e8e9ee21f Get rid of _page attribute of WebView 2014-09-24 22:25:10 +02:00
Florian Bruhin
9868721cc7 Use object registry for webview.tabbedbrowser. 2014-09-24 22:25:10 +02:00
Florian Bruhin
b119100321 Get rid of _tabs attribute in CommandDispatcher. 2014-09-24 20:21:43 +02:00
Florian Bruhin
5e8144fafa Move cntwidget to commands. 2014-09-24 19:53:31 +02:00
Florian Bruhin
fd9c4b860a Use object registry for url_stack. 2014-09-24 07:32:05 +02:00
Florian Bruhin
387622623d Detach meta object registry from application. 2014-09-24 07:27:32 +02:00
Florian Bruhin
b0a9ecf094 Detach object registry from application. 2014-09-24 07:13:53 +02:00
Florian Bruhin
aa646463b0 Also use objreg API in app 2014-09-24 07:10:17 +02:00
Florian Bruhin
3c2e584c2a Make pylint shut up with _UNSET object. 2014-09-24 07:07:31 +02:00
Florian Bruhin
3f02451828 Move object registry to its own file. 2014-09-24 07:06:45 +02:00
Florian Bruhin
b121ceef21 Use object registry for last focused tab. 2014-09-24 06:41:51 +02:00
Florian Bruhin
6090bf418d Add utils.delete_object() 2014-09-24 06:41:39 +02:00
Florian Bruhin
d32d6c9b28 Allow a default value for utils.get_object. 2014-09-24 06:41:22 +02:00
Florian Bruhin
a2d3ca6565 Make it possible to update an object in the object registry. 2014-09-24 06:25:08 +02:00
Florian Bruhin
908a69af18 Better __repr__s 2014-09-23 23:31:17 +02:00
Florian Bruhin
9aa65a2341 Fix lint and bugs 2014-09-23 23:17:36 +02:00
Florian Bruhin
2b60cdb64c Object names cleanup 2014-09-23 23:05:55 +02:00
Florian Bruhin
04be586bca Use object registry for keyconfig. 2014-09-23 22:37:41 +02:00
Florian Bruhin
fe5d9939b9 Move debug console from app to utilcmd 2014-09-23 22:31:26 +02:00
Florian Bruhin
90820126b4 Update comment 2014-09-23 22:29:03 +02:00
Florian Bruhin
953e50721c Use object registry for config. 2014-09-23 22:28:28 +02:00
Florian Bruhin
07dde5be80 Fix downloading (getting messagebrige object). 2014-09-23 22:22:44 +02:00
Florian Bruhin
b818bc5896 Use object registry for downloadmanager. 2014-09-23 22:22:03 +02:00
Florian Bruhin
7a7b397c15 Use object registry for cmd-history. 2014-09-23 22:17:25 +02:00
Florian Bruhin
8af8e3530f Use object registry for args. 2014-09-23 22:13:10 +02:00
Florian Bruhin
297e37fdf2 Remove legacy instance= parameter support. 2014-09-23 22:08:05 +02:00
Florian Bruhin
37dbfde6ac Use object registry for app. 2014-09-23 22:06:46 +02:00
Florian Bruhin
a32ed36ba6 Use object registry for mainwindow. 2014-09-23 22:05:00 +02:00
Florian Bruhin
a76c4c8ba5 Use object registry for tabbedbrowser. 2014-09-23 22:01:46 +02:00
Florian Bruhin
487300f926 Use object registry for prompter. 2014-09-23 21:56:29 +02:00
Florian Bruhin
ffaf4f0cb0 Use object registry for completion. 2014-09-23 21:50:34 +02:00
Florian Bruhin
40812f81b6 Use object registry for status-cmd. 2014-09-23 21:50:34 +02:00
Florian Bruhin
9a3ceebf2e Use object registry for completer. 2014-09-23 21:39:42 +02:00
Florian Bruhin
f5b1d3ce4d Use object registry for command-dispatcher. 2014-09-23 21:35:08 +02:00
Florian Bruhin
5f45d3de60 Use object registry for modeman. 2014-09-23 20:02:48 +02:00
Florian Bruhin
d441471a17 Use object registry for app._timers. 2014-09-23 19:53:48 +02:00
Florian Bruhin
184babbd84 Remove destroyed QObjects from ObjectRegistry. 2014-09-23 19:53:48 +02:00
Florian Bruhin
58be65f4f0 Use object registry for messagebridge. 2014-09-23 19:53:48 +02:00
Florian Bruhin
1d535ae300 Use object registry for stateconfig. 2014-09-23 19:53:48 +02:00
Florian Bruhin
21bdf517b7 Use object registry for searchrunner. 2014-09-23 19:53:48 +02:00
Florian Bruhin
68cfe499fc Use object registry for rl_bridge. 2014-09-23 19:53:48 +02:00
Florian Bruhin
ab95234dad Add object registry support to command handler. 2014-09-23 19:53:48 +02:00
Florian Bruhin
10eb849ae7 Fix lint 2014-09-23 19:53:47 +02:00
Florian Bruhin
10f3c47ae2 Add __repr__ for cookies/cache. 2014-09-23 19:53:47 +02:00
Florian Bruhin
aa681f5ad2 Merge get_all_widgets into get_all_objects. 2014-09-23 19:53:47 +02:00
Florian Bruhin
30209f531e Improve get_all_objects output. 2014-09-23 19:53:47 +02:00
Florian Bruhin
9e5d8b2480 Add a meta-registry. 2014-09-23 19:53:47 +02:00
Florian Bruhin
dce5289b69 Rename global registry from obj to registry. 2014-09-23 19:53:47 +02:00
Florian Bruhin
dc7ad3e2de Use a normal UserDict for ObjectRegistry. 2014-09-23 19:53:46 +02:00
Florian Bruhin
ca2be960df Use object registry for cache/cookiejar. 2014-09-23 19:53:20 +02:00
Florian Bruhin
3b3675d1af utils: Add helper functions get_object/register_object. 2014-09-23 19:53:15 +02:00
Florian Bruhin
2694ab2e80 app: Make commandrunner/debugconsole private. 2014-09-23 19:51:52 +02:00
Florian Bruhin
097645ae8e app: Support object registry in get_all_objects. 2014-09-23 19:51:52 +02:00
Florian Bruhin
981604fc8b Add initial object registry. 2014-09-23 19:51:52 +02:00
Florian Bruhin
1ce1c91d69 app: Refactor get_all_objects. 2014-09-23 19:51:52 +02:00
Florian Bruhin
698e4049d3 Fix :bind command. 2014-09-23 17:40:56 +02:00
Florian Bruhin
f4876c7f4f Split docutils from utils 2014-09-23 04:22:51 +02:00
Florian Bruhin
9954a08ea2 Fix commands with ignore_args=True (e.g. :restart) 2014-09-22 22:46:03 +02:00
Florian Bruhin
a4079bb39e Split :navigate into several functions 2014-09-22 22:36:31 +02:00
Florian Bruhin
d5a294ae55 commands: Move tab opening to _open functions. 2014-09-22 22:27:19 +02:00
Florian Bruhin
207bb00c50 Add increment/decrement to :navigate 2014-09-22 21:51:09 +02:00
Florian Bruhin
4213550206 Add :navigate up 2014-09-22 21:16:21 +02:00
Florian Bruhin
4615d22a5a browser.commands: Refactor :navigate. 2014-09-22 21:08:11 +02:00
Florian Bruhin
9145ba9656 Adjust comment 2014-09-22 21:03:01 +02:00
Florian Bruhin
51413094bf Merge prev-page/next-page into a navigate command. 2014-09-22 21:01:52 +02:00
Florian Bruhin
bc01f3a780 Fix spelling of temporarily 2014-09-22 20:44:07 +02:00
Florian Bruhin
e26606b0d6 Add /usr/bin/env to shebangs 2014-09-22 20:21:00 +02:00
Florian Bruhin
688b9a57cb Add missing is_visible check for hints. 2014-09-22 20:06:17 +02:00
Florian Bruhin
812a0fdd41 Merge branch 'newcmd'
Conflicts:
	.flake8
	pkg/PKGBUILD.qutebrowser-git
	qutebrowser/browser/commands.py
	qutebrowser/browser/hints.py
	qutebrowser/config/configdata.py
	qutebrowser/network/qutescheme.py
	qutebrowser/test/config/test_configtypes.py
	qutebrowser/utils/utils.py
2014-09-22 19:09:48 +02:00
Florian Bruhin
53b617590f Maybe fix segfault on download errors. 2014-09-22 17:56:23 +02:00
Florian Bruhin
7cf9989bff Fix text color in command right click menu 2014-09-22 13:24:00 +02:00
Florian Bruhin
def417b8a5 Check if docs are up to date if running from git repo. 2014-09-21 22:15:56 +02:00
Florian Bruhin
81b6a92183 Add error if help was not found 2014-09-21 21:21:41 +02:00
Florian Bruhin
84cdb30bcb webelem: Avoid unnecessary ::geometry calls 2014-09-19 17:39:37 +02:00
Florian Bruhin
658053842e hints: Wrap elements after checking is_visible.
Wrapping thousands of elements is really slow (>3 seconds for hinting on a
reddit page, because we wrap ~2500 elements with 50 methods each), so we try to
filter the elements first before wrapping them, as the visible elements will be
much less.
2014-09-19 12:32:28 +02:00
Florian Bruhin
2686278b48 webelem: Make it possible to use is_visible with unwrapped elements. 2014-09-19 12:30:38 +02:00
Florian Bruhin
bc884ed51e webelem: Refuse to wrap a wrapper in WebElementWrapper. 2014-09-19 12:28:23 +02:00
Florian Bruhin
a0cc55037e webelem: Get rid of functools.wraps/functools.update_wrapper. 2014-09-19 11:35:10 +02:00
Florian Bruhin
1eb9bb079c Hide scrollbars via CSS. 2014-09-19 00:37:55 +02:00
Florian Bruhin
1bc5160453 Make it possible to use CSS strings in ui->user-stylesheet. 2014-09-19 00:35:17 +02:00
Florian Bruhin
c3531de71a Clean up autohide and make it work on start. 2014-09-18 19:06:43 +02:00
Florian Bruhin
076ed43ec0 Add auto-hide option for tabs. 2014-09-18 18:15:37 +02:00
Florian Bruhin
906a049382 Fix lint 2014-09-18 17:25:48 +02:00
Florian Bruhin
7f76c3ba13 safe_shlex_split: cleanup and don't do double-lexing 2014-09-18 16:58:38 +02:00
Florian Bruhin
1c1534b5f6 safe_shlex_split: Use real lexer object and handle ' correctly. 2014-09-18 16:57:07 +02:00
Florian Bruhin
0c4d15ea5a safe_shlex_split: Fix broken \' in test. 2014-09-18 16:56:50 +02:00
Florian Bruhin
7de0b85dda safe_shlex_split: Adjust docstring 2014-09-18 16:15:57 +02:00
Florian Bruhin
6a86924e60 safe_shlex_split: Give up after 3 tries. 2014-09-18 16:15:37 +02:00
Florian Bruhin
2e35685fe1 safe_shlex_split: Don't split None. 2014-09-18 16:15:13 +02:00
Florian Bruhin
38108c68a2 Add tests for single quote with safe_shlex_split. 2014-09-18 16:14:31 +02:00
Florian Bruhin
b2340611f2 Allow - in font names. 2014-09-18 13:25:52 +02:00
Florian Bruhin
cef1dfe368 Remove exception handling code for qutescheme.
The exceptions now get handled by @prevent_exceptions on the createRequest
method of the NetworkManager, causing the exception handler to pop up properly.
2014-09-16 22:08:10 +02:00
Florian Bruhin
3bded60ba6 Prevent exceptions in NetworkManager::createRequest. 2014-09-16 22:08:00 +02:00
Florian Bruhin
644dfe53e2 Add a decorator to prevent Exceptions (to prevent segfaults). 2014-09-16 22:06:48 +02:00
Florian Bruhin
5eef6d422d Better exception formatting and handling. 2014-09-16 08:20:19 +02:00
Florian Bruhin
2e419d413b Catch exceptions in version.version() in CrashDialog. 2014-09-16 07:34:27 +02:00
Florian Bruhin
8f2ad91086 Fix lint 2014-09-16 07:34:07 +02:00
Florian Bruhin
c47fa840a0 network.qutescheme: Workaround for segfault on exceptions. 2014-09-16 07:16:30 +02:00
Florian Bruhin
4bab430c32 utils.version: Use programmatic imports. 2014-09-16 07:16:15 +02:00
Florian Bruhin
d039a29fc9 Move more logic into earlyinit from qutebrowser.py. 2014-09-16 06:39:39 +02:00
Florian Bruhin
3234d9a821 earlyinit refactor: Use programmatic imports. 2014-09-16 06:21:40 +02:00
Florian Bruhin
18e56eca90 earlyinit: Fix text for debian. 2014-09-16 05:24:20 +02:00
Florian Bruhin
55216e207f configdata: Move Consolas further back in font list.
Consolas generally is quite a nice font, but in this font size it shows a lot
of bleeding and Courier New is much more readable, so we only use it as
fallback now.
2014-09-15 22:24:32 +02:00
Florian Bruhin
d1ddc8c6cb Fix lint 2014-09-15 22:01:13 +02:00
Florian Bruhin
f5ecba0d07 Move exit logging to app.py for Python2 compatibility. 2014-09-15 21:55:38 +02:00
Florian Bruhin
19afa69d87 view_source: Add line numbers. 2014-09-15 18:19:56 +02:00
Florian Bruhin
175d25b3c4 Merge branch 'master' of ssh://cmpl.cc:2323/qutebrowser 2014-09-15 18:01:20 +02:00
Florian Bruhin
3bd55b2140 Add keybinding for view_source. 2014-09-15 18:00:06 +02:00
Florian Bruhin
715aec991e Add view_source command. 2014-09-15 17:59:54 +02:00
Florian Bruhin
14cc77ff42 Add pygments as dependency. 2014-09-15 17:59:33 +02:00
Florian Bruhin
34b0cf429c command: Cleanup 2014-09-15 08:16:19 +02:00
Florian Bruhin
8a51aa759e command: Clean up ParamType. 2014-09-15 07:46:50 +02:00
Florian Bruhin
e1d93fa3fa Move inspect stuff from cmdutils to command. 2014-09-15 07:42:21 +02:00
Florian Bruhin
81aa08593b hints: Ignore invalid href's instead of crashing. 2014-09-15 06:54:05 +02:00
Florian Bruhin
ad2435fa0b hints: Small cleanup 2014-09-15 06:53:05 +02:00
Florian Bruhin
00193df99e hints: Fix URL resolving crash with new WebElement API. 2014-09-15 06:52:34 +02:00
Florian Bruhin
f7c0f8f11e Remove :get and use :set with ...? instead. 2014-09-15 06:24:15 +02:00
Florian Bruhin
22e6a26ec3 Fix function calls with changed attribute names. 2014-09-15 06:20:33 +02:00
Florian Bruhin
fa9d9b62b1 config: Use sectname/optname argument names. 2014-09-15 00:03:59 +02:00
Florian Bruhin
f2e68685d2 Fix doc generation with overridden argument names. 2014-09-15 00:03:39 +02:00
Florian Bruhin
4d3b3616a6 Fix lint 2014-09-14 23:56:19 +02:00
Florian Bruhin
063be350e4 cmdutils: Merge _param_to_argparse_args and _param_to_argparse_kw. 2014-09-14 23:34:55 +02:00
Florian Bruhin
66f0aa8d5f cmdutils: Bind keyword-only arguments as flags. 2014-09-14 23:25:40 +02:00
Florian Bruhin
fe08052641 command: Don't handle varargs if they are None 2014-09-14 23:16:54 +02:00
Florian Bruhin
b9216bca15 Fix hint command arguments. 2014-09-14 23:16:35 +02:00
Florian Bruhin
1fd8fb57a6 Use *args for commands where possible. 2014-09-14 23:10:51 +02:00
Florian Bruhin
f1f05516b3 command: Fix handling of count when it's not given. 2014-09-14 23:06:52 +02:00
Florian Bruhin
b2058e2f0e cmdutils: Default to nargs='+' for *args. 2014-09-14 22:56:02 +02:00
Florian Bruhin
d4f584684b command: Iterate over function signature when calling instead over namespace. 2014-09-14 22:48:25 +02:00
Florian Bruhin
4b759c5513 cmdutils: Make sure functions don't have **kwargs. 2014-09-14 22:48:00 +02:00
Florian Bruhin
cd8d137dd6 cmdutils: Bail out if instance is given but function takes no self. 2014-09-14 22:47:18 +02:00
Florian Bruhin
319ea242da cmdutils: raise TypeError instead of ValueError. 2014-09-14 22:46:48 +02:00
Florian Bruhin
ef31157f5e cmdutils: Use inspect.getdoc 2014-09-14 22:09:01 +02:00
Florian Bruhin
3391896037 Disable workaround for PyQt 5.3.2 2014-09-14 21:12:03 +02:00
Florian Bruhin
74b45aea47 conftypes: Better handling of ShellCommand. 2014-09-13 00:42:16 +02:00
Florian Bruhin
fea3524443 Remove 'or None' in docs. 2014-09-13 00:37:07 +02:00
Florian Bruhin
38c341e3ea Add count info in commands. 2014-09-13 00:33:54 +02:00
Florian Bruhin
80ef0782d5 Improve some docstrings. 2014-09-13 00:22:27 +02:00
Florian Bruhin
2336b5de43 Refactor qutehandlers so they are not classmethods. 2014-09-12 20:27:20 +02:00
Florian Bruhin
16caa9ba69 Handle qute://help more intuitively (load index.html) 2014-09-12 20:19:27 +02:00
Florian Bruhin
0c9d7723c8 Fix on_config_changed for tabbar (renamed to tabs) 2014-09-12 20:15:20 +02:00
Florian Bruhin
f2b10160cc Handle IOError with qute://help. 2014-09-12 20:10:13 +02:00
Florian Bruhin
ab0e600977 Error if unknown sections are in the config. 2014-09-12 17:53:27 +02:00
Florian Bruhin
052fa8e277 Don't emit config changed signals during init.
When we're initializing anyways nobody got a config value yet, so emitting the
signals just will mean code gets executed twice.

This reduces the startup time by about 1-2 seconds.
2014-09-12 17:38:40 +02:00
Florian Bruhin
cd14cbbfb8 Handle changed config correctly for interpolated values. 2014-09-12 17:26:47 +02:00
Florian Bruhin
a796482c83 Support !-keysections, don't bind leave-mode in normal mode. 2014-09-12 07:33:52 +02:00
Florian Bruhin
e516589fe3 Fix double default keybindings. 2014-09-12 07:18:04 +02:00
Florian Bruhin
c0e8352c95 Allow unbinding keys. 2014-09-09 23:12:55 +02:00
Florian Bruhin
4fde56a942 Allow binding keys. 2014-09-09 23:05:28 +02:00
Florian Bruhin
277dab4069 keyconfparser: Add empty sections. 2014-09-09 22:38:14 +02:00
Florian Bruhin
95d8091205 Fix double bindings 2014-09-09 22:34:20 +02:00
Florian Bruhin
30e926abf6 Check duplicate keychains 2014-09-09 22:29:17 +02:00
Florian Bruhin
e3d16f3bbe Full read-write support for key config. 2014-09-09 22:18:00 +02:00
Florian Bruhin
414ab88a0e Fix lint 2014-09-09 18:32:18 +02:00
Florian Bruhin
91514ad6c0 Add missing keyconfparser file. 2014-09-09 13:42:25 +02:00
Florian Bruhin
6f03f08111 Make new key config work (readonly) 2014-09-09 07:43:27 +02:00
Florian Bruhin
64183b5a26 Start moving keybindings 2014-09-08 16:53:33 +02:00
Florian Bruhin
070d5ae300 Add more documentation. 2014-09-08 12:21:47 +02:00
Florian Bruhin
1220f0c5fd Move webelem from utils to browser. 2014-09-08 10:30:05 +02:00
Florian Bruhin
6f22319158 webview: Fix insert mode check. 2014-09-08 10:23:18 +02:00
Florian Bruhin
25da8dd169 webelem: Fix debug output 2014-09-08 10:19:52 +02:00
Florian Bruhin
381b06e967 Fix lint 2014-09-08 07:44:32 +02:00
Florian Bruhin
5e6150e665 Add a :help command. 2014-09-08 07:36:18 +02:00
Florian Bruhin
0267dac2be Add --help documentation 2014-09-08 07:36:18 +02:00
Florian Bruhin
fc70d700b2 cmdutils: Force metavar if choices are given. 2014-09-08 07:36:17 +02:00
Florian Bruhin
dcfb52847f Nicer flag output in docs. 2014-09-08 07:36:17 +02:00