diff options
Diffstat (limited to 'pgcli/pgbuffer.py')
-rw-r--r-- | pgcli/pgbuffer.py | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/pgcli/pgbuffer.py b/pgcli/pgbuffer.py index dd1e267f..432d1479 100644 --- a/pgcli/pgbuffer.py +++ b/pgcli/pgbuffer.py @@ -1,25 +1,23 @@ -from prompt_toolkit.buffer import Buffer +from __future__ import unicode_literals + +from prompt_toolkit.enums import DEFAULT_BUFFER from prompt_toolkit.filters import Condition +from prompt_toolkit.application import get_app from .packages.parseutils.utils import is_open_quote -class PGBuffer(Buffer): - def __init__(self, always_multiline, multiline_mode, *args, **kwargs): - self.always_multiline = always_multiline - self.multiline_mode = multiline_mode - - @Condition - def is_multiline(): - doc = self.document - if not self.always_multiline: - return False - if self.multiline_mode == 'safe': - return True - else: - return not _multiline_exception(doc.text) +def pg_is_multiline(pgcli): + @Condition + def cond(): + doc = get_app().layout.get_buffer_by_name(DEFAULT_BUFFER).document - super(self.__class__, self).__init__(*args, is_multiline=is_multiline, - tempfile_suffix='.sql', **kwargs) + if not pgcli.multi_line: + return False + if pgcli.multiline_mode == 'safe': + return True + else: + return not _multiline_exception(doc.text) + return cond def _is_complete(sql): |