1
0
Fork 0

Add in USE and DESCRIBE to auto-completion.

This commit is contained in:
Amjith Ramanujam 2014-12-12 08:26:25 -08:00
parent 082d275fd7
commit c285aebbec
3 changed files with 30 additions and 17 deletions

14
TODO
View File

@ -1,4 +1,18 @@
* [] Implement \l, show databases
* [] Check why Indexes have a invalid at the end when \d is called on them.
* [] Meta-enter to end the line not just semi-colon.
* [] Cmd-K breaks in OS X.
* [] Typing mid stream doesn't complete, only end of line is auto-completed.
* [] Column list for INSERT INTO would be nice.
* [] DESCRIBE is also not listed in the autocompletion.
* [] :q for quit.
* [] INSERT INTO accounts ;
show accounts;
current transaction aborted error.
* [] Add some tests. Sanity, Unit, Completion, Config.
* [ ] Add tests for smart completion.
* [] Check how to add the name of the table before printing the table.

View File

@ -1 +1 @@
__version__ = '0.4.1'
__version__ = '0.4.2'

View File

@ -6,20 +6,20 @@ class PGCompleter(Completer):
keywords = ['ACCESS', 'ADD', 'ALL', 'ALTER TABLE', 'AND', 'ANY', 'AS',
'ASC', 'AUDIT', 'BETWEEN', 'BY', 'CHAR', 'CHECK', 'CLUSTER',
'COLUMN', 'COMMENT', 'COMPRESS', 'CONNECT', 'CREATE', 'CURRENT',
'DATE', 'DECIMAL', 'DEFAULT', 'DELETE FROM', 'DESC', 'DISTINCT',
'DROP', 'ELSE', 'EXCLUSIVE', 'EXISTS', 'FILE', 'FLOAT', 'FOR',
'FROM', 'GRANT', 'GROUP', 'HAVING', 'IDENTIFIED', 'IMMEDIATE',
'IN', 'INCREMENT', 'INDEX', 'INITIAL', 'INSERT INTO', 'INTEGER',
'INTERSECT', 'INTO', 'IS', 'LEVEL', 'LIKE', 'LOCK', 'LONG',
'MAXEXTENTS', 'MINUS', 'MLSLABEL', 'MODE', 'MODIFY', 'NOAUDIT',
'NOCOMPRESS', 'NOT', 'NOWAIT', 'NULL', 'NUMBER', 'OF', 'OFFLINE',
'ON', 'ONLINE', 'OPTION', 'OR', 'ORDER', 'PCTFREE', 'PRIOR',
'PRIVILEGES', 'PUBLIC', 'RAW', 'RENAME', 'RESOURCE', 'REVOKE',
'ROW', 'ROWID', 'ROWNUM', 'ROWS', 'SELECT', 'SESSION', 'SET',
'SHARE', 'SIZE', 'SMALLINT', 'START', 'SUCCESSFUL', 'SYNONYM',
'SYSDATE', 'TABLE', 'THEN', 'TO', 'TRIGGER', 'UID', 'UNION',
'UNIQUE', 'UPDATE', 'USER', 'VALIDATE', 'VALUES', 'VARCHAR',
'VARCHAR2', 'VIEW', 'WHENEVER', 'WHERE', 'WITH', ]
'DATE', 'DECIMAL', 'DEFAULT', 'DELETE FROM', 'DESC', 'DESCRIBE',
'DISTINCT', 'DROP', 'ELSE', 'EXCLUSIVE', 'EXISTS', 'FILE', 'FLOAT',
'FOR', 'FROM', 'GRANT', 'GROUP', 'HAVING', 'IDENTIFIED',
'IMMEDIATE', 'IN', 'INCREMENT', 'INDEX', 'INITIAL', 'INSERT INTO',
'INTEGER', 'INTERSECT', 'INTO', 'IS', 'LEVEL', 'LIKE', 'LOCK',
'LONG', 'MAXEXTENTS', 'MINUS', 'MLSLABEL', 'MODE', 'MODIFY',
'NOAUDIT', 'NOCOMPRESS', 'NOT', 'NOWAIT', 'NULL', 'NUMBER', 'OF',
'OFFLINE', 'ON', 'ONLINE', 'OPTION', 'OR', 'ORDER', 'PCTFREE',
'PRIOR', 'PRIVILEGES', 'PUBLIC', 'RAW', 'RENAME', 'RESOURCE',
'REVOKE', 'ROW', 'ROWID', 'ROWNUM', 'ROWS', 'SELECT', 'SESSION',
'SET', 'SHARE', 'SIZE', 'SMALLINT', 'START', 'SUCCESSFUL',
'SYNONYM', 'SYSDATE', 'TABLE', 'THEN', 'TO', 'TRIGGER', 'UID',
'UNION', 'UNIQUE', 'UPDATE', 'USE', 'USER', 'VALIDATE', 'VALUES',
'VARCHAR', 'VARCHAR2', 'VIEW', 'WHENEVER', 'WHERE', 'WITH', ]
special_commands = []
@ -60,8 +60,7 @@ class PGCompleter(Completer):
@staticmethod
def find_matches(text, collection):
for item in collection:
if item.startswith(text) or item.startswith(text.upper() or
item.startswith(text.lower())):
if item.startswith(text) or item.startswith(text.upper()):
yield Completion(item, -len(text))
def get_completions(self, document, complete_event):