summaryrefslogtreecommitdiffstats
path: root/pgcli/pgbuffer.py
diff options
context:
space:
mode:
Diffstat (limited to 'pgcli/pgbuffer.py')
-rw-r--r--pgcli/pgbuffer.py32
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):