diff options
author | Amjith Ramanujam <amjith.r@gmail.com> | 2015-06-15 08:41:48 -0700 |
---|---|---|
committer | Amjith Ramanujam <amjith.r@gmail.com> | 2015-06-15 08:41:48 -0700 |
commit | 5e12644db3a35c9f956310eeabc63e6c7389751c (patch) | |
tree | d6b2bac1b41e7b949ccdfff2737c052e14923f05 | |
parent | 9395f9737b75b94b515d34de45f062f3fb2c3565 (diff) |
Add the aliases arg to specials helpers.
-rwxr-xr-x | pgcli/main.py | 15 | ||||
-rw-r--r-- | pgcli/packages/pgspecial/main.py | 12 |
2 files changed, 15 insertions, 12 deletions
diff --git a/pgcli/main.py b/pgcli/main.py index 3d8e708d..6c6a4541 100755 --- a/pgcli/main.py +++ b/pgcli/main.py @@ -78,19 +78,13 @@ class PGCli(object): # Initialize completer smart_completion = c['main'].as_bool('smart_completion') completer = PGCompleter(smart_completion) - completer.extend_special_commands(COMMANDS.keys()) self.completer = completer self.register_special_commands() def register_special_commands(self): - special.register_special_command(self.change_db, '\c', - '\c[onnect] database_name', 'Change to a new database.') - special.register_special_command(self.change_db, 'use', - '\c[onnect] database_name', 'Change to a new database.', - hidden=True) - special.register_special_command(self.change_db, '\connect', - '\c[onnect] database_name', 'Change to a new database.', - hidden=True) + special.register_special_command(self.change_db, '\\c', + '\\c[onnect] database_name', 'Change to a new database.', + aliases=('use', '\\connect')) def change_db(self, pattern, **_): if pattern is None: @@ -397,6 +391,9 @@ class PGCli(object): # databases completer.extend_database_names(pgexecute.databases()) + # special commands + completer.extend_special_commands(COMMANDS.keys()) + def get_completions(self, text, cursor_positition): return self.completer.get_completions( Document(text=text, cursor_position=cursor_positition), None) diff --git a/pgcli/packages/pgspecial/main.py b/pgcli/packages/pgspecial/main.py index fb5b96db..3bee09f9 100644 --- a/pgcli/packages/pgspecial/main.py +++ b/pgcli/packages/pgspecial/main.py @@ -24,19 +24,25 @@ def parse_special_command(sql): @export def special_command(command, syntax, description, arg_type=PARSED_QUERY, - hidden=False, case_sensitive=True): + hidden=False, case_sensitive=True, aliases=()): def wrapper(wrapped): register_special_command(wrapped, command, syntax, description, - arg_type, hidden, case_sensitive) + arg_type, hidden, case_sensitive, aliases) return wrapped return wrapper @export def register_special_command(handler, command, syntax, description, - arg_type=PARSED_QUERY, hidden=False, case_sensitive=True): + arg_type=PARSED_QUERY, hidden=False, case_sensitive=True, aliases=()): cmd = command.lower() if not case_sensitive else command COMMANDS[cmd] = SpecialCommand(handler, syntax, description, arg_type, hidden, case_sensitive) + for alias in aliases: + cmd = alias.lower() if not case_sensitive else alias + COMMANDS[cmd] = SpecialCommand(handler, syntax, description, arg_type, + case_sensitive=case_sensitive, + hidden=True) + @export def execute(cur, sql): |