diff --git a/functions.py b/functions.py index 8149ef25..82a95310 100644 --- a/functions.py +++ b/functions.py @@ -98,7 +98,7 @@ class Definition(object): if isinstance(d, evaluate.Array): d = 'class ' + d.type - elif isinstance(d, (evaluate.Class, evaluate.Instance)): + elif isinstance(d, (parsing.Class, evaluate.Class, evaluate.Instance)): d = 'class ' + str(d.name) elif isinstance(d, (evaluate.Function, evaluate.parsing.Function)): d = 'def ' + str(d.name) diff --git a/plugin/jedi.vim b/plugin/jedi.vim index 5d8692ab..93c7fd34 100644 --- a/plugin/jedi.vim +++ b/plugin/jedi.vim @@ -117,7 +117,7 @@ if 1: PYTHONEOF if bufnr("__doc__") > 0 " If the __doc__ buffer is open in the current window, jump to it - silent execute "sbuffer" bufnr("__doc__") + silent execute "sbuffer ".bufnr("__doc__") else split '__doc__' endif @@ -137,9 +137,15 @@ PYTHONEOF endif execute "resize ".l:doc_lines - " TODO more highlightings - "highlight jedi_doc ctermbg=green guibg=green - "match jedi_doc /^|.*|\n/ + nnoremap q ZQ + unlet! b:current_syntax + let l:pythonpath = fnameescape(globpath(&rtp,"syntax/python.vim")) + exe "syn include @rstPythonScript ".l:pythonpath + " 4 spaces + syn region rstPythonRegion start=/^\v {4}/ end=/\v^( {4}|\n)@!/ contains=@rstPythonScript + " >>> python code + syn region rstPythonRegion matchgroup=pythonDoctest start=/^>>>\s*/ end=/\n/ contains=@rstPythonScript + let b:current_syntax = "rst" endfunction " ------------------------------------------------------------------------ @@ -253,6 +259,7 @@ if g:jedi#popup_on_dot autocmd FileType python imap . .=jedi#do_popup_on_dot() ? "\C-X>\C-O>" : "" end +setlocal switchbuf=useopen " needed for pydoc let s:current_file=expand("") python << PYTHONEOF diff --git a/test/completion/basic.py b/test/completion/basic.py index d8e0cffd..758f85ed 100644 --- a/test/completion/basic.py +++ b/test/completion/basic.py @@ -1,3 +1,14 @@ +# ----------------- +# cursor position +# ----------------- +#? 0 int +int() +#? 3 int +int() +#? 4 str +int(str) + + # ----------------- # if/else/elif # -----------------