mirror of
https://github.com/davidhalter/jedi-vim.git
synced 2025-12-06 10:54:22 +08:00
Smart completion after "from foo": add "import" and complete
This adds a new setting `jedi#smart_auto_mappings` (default 1).
This commit is contained in:
committed by
Daniel Hahler
parent
d3484afe20
commit
ac1615c647
@@ -32,7 +32,8 @@ let s:default_settings = {
|
||||
\ 'popup_select_first': 1,
|
||||
\ 'quickfix_window_height': 10,
|
||||
\ 'completions_enabled': 1,
|
||||
\ 'force_py_version': "'auto'"
|
||||
\ 'force_py_version': "'auto'",
|
||||
\ 'smart_auto_mappings': 1
|
||||
\ }
|
||||
|
||||
for [key, val] in items(s:deprecations)
|
||||
@@ -422,6 +423,16 @@ function! jedi#complete_opened(is_popup_on_dot)
|
||||
endfunction
|
||||
|
||||
|
||||
function! jedi#smart_auto_mappings(is_popup_on_dot)
|
||||
" Auto put import statement after from module.name<space> and complete
|
||||
if search('\<from\s\+[A-Za-z0-9._]\+\s*\%#\s*$', 'bcn', line('.'))
|
||||
" Enter character and start completion.
|
||||
return "\<space>import \<C-x>\<C-o>\<C-r>=jedi#complete_opened(".a:is_popup_on_dot.")\<CR>"
|
||||
endif
|
||||
return "\<space>"
|
||||
endfunction
|
||||
|
||||
|
||||
"PythonJedi jedi_vim.jedi.set_debug_function(jedi_vim.print_to_stdout, speed=True, warnings=False, notices=False)
|
||||
"PythonJedi jedi_vim.jedi.set_debug_function(jedi_vim.print_to_stdout)
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ Contents *jedi-vim-contents*
|
||||
6.9. completions_enabled |g:jedi#completions_enabled|
|
||||
6.10. use_splits_not_buffers |g:jedi#use_splits_not_buffers|
|
||||
6.11. force_py_version |g:jedi#force_py_version|
|
||||
6.12. smart_auto_mappings |g:jedi#smart_auto_mappings|
|
||||
7. Testing |jedi-vim-testing|
|
||||
8. Contributing |jedi-vim-contributing|
|
||||
9. License |jedi-vim-license|
|
||||
@@ -481,6 +482,18 @@ Function: `jedi#force_py_version(py_version)`
|
||||
|
||||
Options: 2 or 3
|
||||
Default: "auto" (will use sys.version_info from "python" in your $PATH)
|
||||
------------------------------------------------------------------------------
|
||||
6.12. `g:jedi#smart_auto_mappings` *g:jedi#smart_auto_mappings*
|
||||
|
||||
When you start typing `from module.name<space>` jedi-vim automatically
|
||||
adds the "import" statement and displays the autocomplete popup.
|
||||
|
||||
This option can be disabled in the .vimrc:
|
||||
|
||||
`let g:jedi#smart_auto_mappings = 0`
|
||||
|
||||
Options: 0 or 1
|
||||
Default: 1 (enabled by default)
|
||||
|
||||
==============================================================================
|
||||
7. Testing *jedi-vim-testing*
|
||||
|
||||
@@ -37,6 +37,10 @@ if g:jedi#auto_initialization
|
||||
inoremap <silent> <buffer> . .<C-R>=jedi#complete_string(1)<CR>
|
||||
endif
|
||||
|
||||
if g:jedi#smart_auto_mappings == 1
|
||||
inoremap <buffer> <expr> <Space> jedi#smart_auto_mappings(g:jedi#popup_on_dot)
|
||||
end
|
||||
|
||||
if g:jedi#auto_close_doc
|
||||
" close preview if its still open after insert
|
||||
autocmd InsertLeave <buffer> if pumvisible() == 0|pclose|endif
|
||||
|
||||
Reference in New Issue
Block a user