1
0
Fork 0

Make a set of reserved words to use with escape_words.

This commit is contained in:
Amjith Ramanujam 2015-01-18 21:51:11 -08:00
parent b1cc36db2f
commit 0921992306
1 changed files with 6 additions and 2 deletions

View File

@ -45,11 +45,15 @@ class PGCompleter(Completer):
def __init__(self, smart_completion=True):
super(self.__class__, self).__init__()
self.smart_completion = smart_completion
self.reserved_words = set()
for x in self.keywords:
self.reserved_words.update(x.split())
self.name_pattern = compile("^[_a-z][_a-z0-9\$]*$")
def escape_name(self, name):
if not self.name_pattern.match(name) or name.upper() in self.keywords or name.upper() in self.functions:
if ((not self.name_pattern.match(name))
or (name.upper() in self.reserved_words)
or (name.upper() in self.functions)):
name = '"%s"' % name
return name