diff --git a/jedi_vim.py b/jedi_vim.py index e9d8be3..8d3a92b 100644 --- a/jedi_vim.py +++ b/jedi_vim.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- """ The Python parts of the Jedi library for VIM. It is mostly about communicating with VIM. @@ -18,7 +19,10 @@ except ImportError: is_py3 = sys.version_info[0] >= 3 if is_py3: + ELLIPSIS = "…" unicode = str +else: + ELLIPSIS = u"…" class PythonToVimStr(unicode): @@ -434,22 +438,22 @@ def cmdline_call_signatures(signatures): return elif index is None: pass - elif max_msg_len < len('...'): + elif max_msg_len < len(ELLIPSIS): return else: left = escape(', '.join(params[:index])) center = escape(params[index]) right = escape(', '.join(params[index + 1:])) while too_long(): - if left and left != '...': - left = '...' + if left and left != ELLIPSIS: + left = ELLIPSIS continue - if right and right != '...': - right = '...' + if right and right != ELLIPSIS: + right = ELLIPSIS continue - if (left or right) and center != '...': + if (left or right) and center != ELLIPSIS: left = right = None - center = '...' + center = ELLIPSIS continue if too_long(): # Should never reach here diff --git a/test/signatures.vim b/test/signatures.vim index c69d9f6..70f417c 100644 --- a/test/signatures.vim +++ b/test/signatures.vim @@ -68,22 +68,22 @@ describe 'signatures' put = 'def '.funcname.'(arg1, arg2, arg3, a, b, c):' put = ' pass' execute "normal o".funcname."( " - Expect Signature() == "\n".funcname."(arg1, ...)" + Expect Signature() == "\n".funcname."(arg1, …)" normal sarg1, - Expect Signature() == "\n".funcname."(..., arg2, ...)" + Expect Signature() == "\n".funcname."(…, arg2, …)" normal sarg2, arg3, - Expect Signature() == "\n".funcname."(..., a, b, c)" + Expect Signature() == "\n".funcname."(…, a, b, c)" normal sa, b, - Expect Signature() == "\n".funcname."(..., c)" + Expect Signature() == "\n".funcname."(…, c)" g/^/d put = 'def '.funcname.'('.repeat('b', 20).', arg2):' put = ' pass' execute "normal o".funcname."( " - Expect Signature() == "\n".funcname."(...)" + Expect Signature() == "\n".funcname."(…)" end it 'command line no signature'