summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmjith Ramanujam <amjith.r@gmail.com>2015-06-15 08:41:48 -0700
committerAmjith Ramanujam <amjith.r@gmail.com>2015-06-15 08:41:48 -0700
commit5e12644db3a35c9f956310eeabc63e6c7389751c (patch)
treed6b2bac1b41e7b949ccdfff2737c052e14923f05
parent9395f9737b75b94b515d34de45f062f3fb2c3565 (diff)
Add the aliases arg to specials helpers.
-rwxr-xr-xpgcli/main.py15
-rw-r--r--pgcli/packages/pgspecial/main.py12
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):