From 83d398bc5df476b6750973794e4776fb25770574 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Thu, 30 Apr 2015 02:33:39 +0200 Subject: [PATCH] auto-config: set completeopt only if it's the default The setting is also moved from "ftplugin" to "plugin", which allows for easier customization, e.g. via a FileType plugin. Ref: https://github.com/davidhalter/jedi-vim/issues/374#issuecomment-97621368 --- README.rst | 2 +- doc/jedi-vim.txt | 8 +++++--- ftplugin/python/jedi.vim | 7 ------- plugin/jedi.vim | 13 +++++++++++++ 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/README.rst b/README.rst index ffb6dcd..ef0db88 100644 --- a/README.rst +++ b/README.rst @@ -113,7 +113,7 @@ you disable the auto-initialization in your ``.vimrc``: let g:jedi#auto_initialization = 0 There are also some VIM options (like ``completeopt`` and key defaults) which -are automatically initialized, but you can change all of them: +are automatically initialized, but you can skip this: .. code-block:: vim diff --git a/doc/jedi-vim.txt b/doc/jedi-vim.txt index d48f2ce..82e24f1 100644 --- a/doc/jedi-vim.txt +++ b/doc/jedi-vim.txt @@ -336,9 +336,11 @@ Default: 1 (Perform automatic initialization) ------------------------------------------------------------------------------ 6.2. `g:jedi#auto_vim_configuration` *g:jedi#auto_vim_configuration* -Jedi-vim sets 'completeopt' to `menuone,longest,preview` by default. It also -remaps to in insert mode. If you want to keep your own -configuration, disable this setting. +Jedi-vim sets 'completeopt' to `menuone,longest,preview` by default, if +'completeopt' is not changed from Vim's default. +It also remaps to in insert mode. + +If you want to keep your own configuration, disable this setting. Options: 0 or 1 Default: 1 (Set 'completeopt' and mapping as described above) diff --git a/ftplugin/python/jedi.vim b/ftplugin/python/jedi.vim index df7f595..134fd91 100644 --- a/ftplugin/python/jedi.vim +++ b/ftplugin/python/jedi.vim @@ -38,10 +38,3 @@ if g:jedi#auto_initialization autocmd InsertLeave if pumvisible() == 0|pclose|endif endif endif - -if g:jedi#auto_vim_configuration - setlocal completeopt=menuone,longest,preview - if len(mapcheck('', 'i')) == 0 - inoremap - endif -endif diff --git a/plugin/jedi.vim b/plugin/jedi.vim index 0b52c3a..36afd5b 100644 --- a/plugin/jedi.vim +++ b/plugin/jedi.vim @@ -12,6 +12,19 @@ if !exists("g:jedi#auto_vim_configuration") || g:jedi#auto_vim_configuration " jedi-vim really needs, otherwise jedi-vim cannot start. filetype plugin on + + " Change completeopt, but only if it has Vim's default value. + let s:save_completeopt=&completeopt + set completeopt& + let s:default_completeopt=&completeopt + let &completeopt=s:save_completeopt + if s:default_completeopt == &completeopt + set completeopt=menuone,longest,preview + endif + + if len(mapcheck('', 'i')) == 0 + inoremap + endif endif " Pyimport command