diff --git a/ensime_shared/editor.py b/ensime_shared/editor.py index c59fd95..3b0a422 100644 --- a/ensime_shared/editor.py +++ b/ensime_shared/editor.py @@ -321,6 +321,9 @@ def raw_message(self, message, silent=False): cmd = 'echo "{}"'.format(message.replace('"', '\\"')) if silent: cmd = 'silent ' + cmd + cmd = "let _ensime_showcmd=&showcmd | set noshowcmd | let _ensime_ruler=&ruler | set noruler | " + \ + cmd + \ + " | let &showcmd=_ensime_showcmd | let &ruler=_ensime_ruler" if self.isneovim: vim.async_call(vim.command, cmd) diff --git a/ensime_shared/errors.py b/ensime_shared/errors.py index eb74222..67ceb35 100644 --- a/ensime_shared/errors.py +++ b/ensime_shared/errors.py @@ -1,6 +1,7 @@ # coding: utf-8 import os +import re class InvalidJavaPathError(OSError): @@ -31,17 +32,19 @@ def includes(self, path, cursor): and cursor[1] < self.e def get_truncated_message(self, cursor, width): - size = len(self.message) + message = re.sub(r"\s\s+|[\r\n]", " ", self.message) + size = len(message) if size < width: - return self.message + return message percent = float(cursor[1] - self.c) / (self.e - self.c) center = int(percent * size) - start = center - width / 2 - end = center + width / 2 + start = int(center - width / 2) + end = int(center + width / 2) if start < 0: start = 0 end = width elif end > size: end = size start = size - width - return self.message[start:end] + return message[start:end] +