Florian Bruhin
32e24479b9
commands.cmdutils: Clean up decorator.
2014-09-08 07:36:17 +02:00
Florian Bruhin
03a0a1c599
commands: Handle ArgumentParser exit.
2014-09-08 07:36:17 +02:00
Florian Bruhin
57d51ad9bb
Lots of fixes for new command system.
...
Squashed commit:
- Fix getting current URL
- Get rid of *args for hints.
- Make enums work.
- Fix moving commands to utilcmds.
- Fix enums in argparse
- Fix arg splitting for hints.
- Fix default enum args.
- Fix argument splitting for hints if None is given.
- Fix set_cmd_text with flags and fix {url}.
- Fix unittests
- Fix tuple types for arguments.
- Fix scroll-page.
- Fix lint
- Fix open_target.
- Others
2014-09-08 07:36:17 +02:00
Florian Bruhin
d836e26107
Nicer debug printing of functions.
2014-09-08 07:36:17 +02:00
Florian Bruhin
a811f8cb07
Start initial newcmd stuff.
2014-09-08 07:36:17 +02:00
Florian Bruhin
ccfc0b3c19
Get rid of most @property's.
...
They were problematic because they're executing hidden code, and also PyQt
hides exceptions happening inside them.
2014-09-02 23:37:47 +02:00
Florian Bruhin
ce4a5affa4
Rename commands.utils to commands.cmdutils.
2014-08-26 20:48:39 +02:00
Florian Bruhin
c72bfff306
Rename commands.exceptions to commands.cmdexc.
2014-08-26 20:38:10 +02:00
Florian Bruhin
8bd64382bd
Rename utils.qt to utils.qtutils.
2014-08-26 20:25:11 +02:00
Florian Bruhin
d9a8cbe7ad
Rename utils.misc to utils.utils
2014-08-26 20:20:17 +02:00
Florian Bruhin
b4298c2922
Remove 'as logger' imports.
2014-08-26 20:15:41 +02:00
Florian Bruhin
d625cde28c
Clean up imports
2014-08-26 19:10:14 +02:00
Florian Bruhin
984f984cf0
Fix lint.
2014-08-25 10:58:12 +02:00
Florian Bruhin
66e670a96b
Fix ignore_case for searching.
2014-08-25 06:56:14 +02:00
Florian Bruhin
17dd4732ae
Add explicit encoding to open() calls.
2014-08-20 20:33:14 +02:00
Florian Bruhin
5b915186d7
Add a 'smart' option for ignore-case.
2014-08-12 17:00:18 +02:00
Florian Bruhin
5a88028738
Rename qutebrowser.commands.managers module to .runners.
2014-08-06 15:58:08 +02:00
Florian Bruhin
aebce80b2b
Rename {Command,Search}Manager to ...Runner
2014-08-06 15:38:25 +02:00
Florian Bruhin
ee1b136807
Clean up pylint/noqa comments.
2014-08-04 03:47:09 +02:00
Florian Bruhin
7d9bd17aff
Fix error message when executing command in wrong mode.
2014-08-02 16:15:59 +02:00
Florian Bruhin
425a7fd7c4
Simplify userscript running.
2014-07-29 02:05:15 +02:00
Florian Bruhin
54246bacbe
Add some type checking for enums
2014-07-29 00:23:20 +02:00
Florian Bruhin
54c7f29f04
Remove weird condition when cmd text ends with ' '.
...
For some reason we checked nargs if split is False. This caused the completion
to not get hidden with ":spawn ". Since this condition makes no sense (and
probably was converted wrong in be467d5e
) we remove it here.
2014-07-28 02:27:12 +02:00
Florian Bruhin
e0bd89b762
Add an {url} variable for commands.
...
Note this also means we don't support :spawn running in a shell anymore, as
{url} is evaluated earlier. However this should be fine, as there's no really
important use case for that anyways, and shell escaping on Windows is rather
unmaintainable.
2014-07-28 01:40:36 +02:00
Florian Bruhin
ca3df5e169
Highlight and select text when searching
2014-06-26 11:10:31 +02:00
Florian Bruhin
4ade32777d
Revert "Add search-highlight-all option"
...
There's a better solution: Calling the function twice, once with highlight,
once with mark.
This reverts commit 8812672d7d
.
2014-06-26 10:57:12 +02:00
Florian Bruhin
8812672d7d
Add search-highlight-all option
2014-06-26 10:08:26 +02:00
Florian Bruhin
eeef9aa930
Fix inverted ignore-case setting.
2014-06-26 10:04:08 +02:00
Florian Bruhin
92ff957543
Clean up message API
2014-06-26 07:58:00 +02:00
Florian Bruhin
8a8ca0c34f
Split utils.misc into utils.{qt,misc}
2014-06-23 07:45:04 +02:00
Florian Bruhin
113221c731
Log some exceptions
2014-06-20 23:26:19 +02:00
Florian Bruhin
d65587128f
Add vim modelines to all files.
2014-06-19 09:04:37 +02:00
Florian Bruhin
1fef2d02b9
Add an :all-objects command and __repr__s
2014-06-17 11:03:42 +02:00
Florian Bruhin
af9e4ae072
Fix parent/child relationships
2014-06-17 07:17:21 +02:00
Florian Bruhin
7325cefdae
Fix lint
2014-06-16 12:11:10 +02:00
Florian Bruhin
d76226626f
Add debug argument for commands
2014-06-16 09:44:11 +02:00
Florian Bruhin
fd220b1b36
Raise CommandError instead of message.error where possible
2014-06-06 11:55:55 +02:00
Florian Bruhin
ec25821fae
_foo.py file rename [2/2]
2014-06-03 15:01:57 +02:00
Florian Bruhin
fa1e03f56b
_foo.py file rename [1/2]
2014-06-03 14:57:57 +02:00
Florian Bruhin
2eb26c96c4
More command splitting cleanup
2014-06-03 06:55:08 +02:00
Florian Bruhin
1d2d435231
Move split_cmdline() out of commands.managers
2014-06-03 06:55:08 +02:00
Florian Bruhin
fb7f1b381e
Fix lint
2014-06-02 18:01:56 +02:00
Florian Bruhin
1e256699f8
Add topic-specific loggers
2014-05-23 16:11:55 +02:00
Florian Bruhin
1d5a1a29e8
Simplify calling commands with an instance.
...
We used to use a signal and a function in app.py which executes the command
handler. Now we instead use QCoreApplication.instance() which makes everything
a lot easier and cleaner.
2014-05-22 16:14:43 +02:00
Florian Bruhin
0c0cb48471
Fix lint
2014-05-22 15:44:16 +02:00
Florian Bruhin
22072eac7d
Cleanup and documentation in commands/userscripts
2014-05-22 04:12:52 +02:00
Florian Bruhin
8d570b686c
Initial userscript support
2014-05-21 19:53:58 +02:00
Florian Bruhin
d450257485
Add search-prev and bind N to it
2014-05-19 05:05:54 +02:00
Florian Bruhin
da2dc4861f
Rename nextsearch command to search-next
2014-05-19 04:21:30 +02:00
Florian Bruhin
d1f921cc39
Print command name in ArgumentCountException
2014-05-19 04:06:12 +02:00
Florian Bruhin
f0d1d4ed45
Selectively queue messages rather than unqueueing.
2014-05-19 03:40:10 +02:00
Florian Bruhin
d901fe69e6
Rename some commands
2014-05-16 23:01:40 +02:00
Florian Bruhin
326280f910
Fix consistency and spelling in docstrings/comments
2014-05-15 16:27:34 +02:00
Florian Bruhin
603fbdf239
Range-check all values passed to C code.
2014-05-15 00:02:20 +02:00
Florian Bruhin
a045511962
Use exceptions for command errors
2014-05-14 18:00:40 +02:00
Florian Bruhin
df3528e454
Fix lint
2014-05-12 11:22:17 +02:00
Florian Bruhin
5a6208862e
Add cmdutils.arg_or_count
2014-05-09 19:12:08 +02:00
Florian Bruhin
edc9d0810c
Use QCoreApplication.instance()
2014-05-09 17:01:05 +02:00
Florian Bruhin
c8fd0937b0
Revert "Use global object dict for global objects"
...
This reverts commit bf2c7831c8
.
This was a bad idea as we need to access some of the main attributes
from commands via instance=...
2014-05-05 20:12:20 +02:00
Florian Bruhin
bf2c7831c8
Use global object dict for global objects
2014-05-05 19:12:47 +02:00
Florian Bruhin
667b255d01
Use QApplication for global singletons
2014-05-05 17:56:14 +02:00
Florian Bruhin
45e1feeb27
Handle arguments after aliases correctly when splitting.
2014-05-02 15:24:10 +02:00
Florian Bruhin
1655ddbfac
Restore original command when splitting aliases
2014-05-02 15:23:45 +02:00
Florian Bruhin
554d5d2745
Fix command length (s/args/nargs)
2014-05-02 11:28:11 +02:00
Florian Bruhin
be467d5e50
Refactor command argument splitting.
...
This uses split=True/False as cmdutils.register argument again (because
we would never want to set maxsplit ourselves, only not splitting the
*last* argument makes any sense.
Also this uses shlex for splitting again, like earlier.
2014-05-02 10:28:41 +02:00
Florian Bruhin
0bf918631e
Handle maxsplit=-1 correctly for completions
2014-05-01 20:18:29 +02:00
Florian Bruhin
533d82417e
Refactor completion handling
2014-05-01 00:23:53 +02:00
Florian Bruhin
4e2517a94f
Run sub-commands correctly
2014-04-30 10:47:46 +02:00
Florian Bruhin
995a0d19cc
Clean up command exception handling
2014-04-30 10:43:40 +02:00
Florian Bruhin
689723508f
Add broken JS checking for commands
2014-04-30 10:05:55 +02:00
Florian Bruhin
bfecafd686
Report if instance in cmdutils.register is missing
2014-04-28 00:01:21 +02:00
Florian Bruhin
8474bbdf6a
Rename and reorder config options
2014-04-27 21:21:14 +02:00
Florian Bruhin
6e78f67a81
Rename keyinput stuff
2014-04-25 12:21:01 +02:00
Florian Bruhin
d4b35b6734
Rename {Command,Seach}Parser to *Manager
2014-04-25 12:04:11 +02:00
Florian Bruhin
937196e287
Rename package-private modules to _foo.py
2014-04-25 11:50:30 +02:00
Florian Bruhin
f437bc25bf
Fix lint/cleanup
2014-04-25 11:21:00 +02:00
Florian Bruhin
b7440b1f79
Small exception handling cleanup in parsers.py
2014-04-25 11:02:41 +02:00
Florian Bruhin
7787a67c45
Add modes=[]/not_modes=[] to cmdutils.register
2014-04-25 10:10:58 +02:00
Florian Bruhin
c674d96cfe
Reorganize input modules into keyinput subpackage
2014-04-24 21:03:45 +02:00
Florian Bruhin
ecdd887664
Split KeyParser into KeyParser (non-chain) and KeyChainParser
2014-04-24 19:21:38 +02:00
Florian Bruhin
718295eb9f
Use <> instead of @@ for special keys
2014-04-24 17:48:38 +02:00
Florian Bruhin
8648d88b51
Handle special keys instead of only modifiers
2014-04-24 17:43:19 +02:00
Florian Bruhin
0e3e588038
Add forward_unbound_keys setting
2014-04-24 16:53:16 +02:00
Florian Bruhin
2c5bb6a413
cmdutils.register: Support functions with no docstring
2014-04-23 07:32:00 +02:00
Florian Bruhin
55e3aca702
linting cleanup
2014-04-22 17:53:27 +02:00
Florian Bruhin
7758289f8b
Register :nextsearch command.
2014-04-22 15:05:12 +02:00
Florian Bruhin
963066b4bd
Remove some old FIXMEs
2014-04-22 14:45:24 +02:00
Florian Bruhin
d7b87e09c9
Implement modes and hint input.
2014-04-21 15:24:19 +02:00
Florian Bruhin
341481cd99
Allow bindings to be modified
2014-04-21 11:00:58 +02:00
Florian Bruhin
52c7376402
Split command-related stuff off from KeyParser
2014-04-21 10:45:57 +02:00
Florian Bruhin
39f580d9f1
Cleanup
2014-04-17 17:44:27 +02:00
Florian Bruhin
457e173592
More config cleanup.
...
This renames the config instance from "config" to "instance" and adds a
convenience get() function in the config module.
2014-04-17 15:26:27 +02:00
Florian Bruhin
b323706f5f
Use maxsplit (passed to str.split()) instead bool
2014-04-17 12:06:27 +02:00
Florian Bruhin
4421862b3e
Don't use shlex for splitting anymore
2014-04-17 11:49:19 +02:00
Florian Bruhin
97bde402fb
Add docstring
2014-04-17 11:40:19 +02:00
Florian Bruhin
72340575af
Remove value from on_config_changed signal again.
...
Turns out this causes more trouble than it's worth, and it's unintuitive
from which layer we get the value.
2014-04-17 11:39:25 +02:00
Florian Bruhin
7c64e8846a
Refresh keybinds when config changes
2014-04-17 11:23:01 +02:00
Florian Bruhin
00dc4d6bc4
Remove set_trace
2014-04-17 11:09:12 +02:00
Florian Bruhin
a1a0325283
Use ChainMap for ValueList config section.
...
This also fixes the problem where no keybindings are loaded on the first
start.
2014-04-17 11:01:45 +02:00
Florian Bruhin
91e6f4c37d
Better linting with config files
2014-04-16 11:05:58 +02:00