From 0a27795d76234287543356f22bb28befcd07eef6 Mon Sep 17 00:00:00 2001 From: James Cherti <60946298+jamescherti@users.noreply.github.com> Date: Tue, 5 Apr 2022 11:28:20 -0400 Subject: [PATCH 1/2] Add the buffer-local option 'b:jedi_added_sys_path' (to add additional sys_path). --- doc/jedi-vim.txt | 5 +++++ pythonx/jedi_vim.py | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/jedi-vim.txt b/doc/jedi-vim.txt index 1a09794..3b94a6d 100644 --- a/doc/jedi-vim.txt +++ b/doc/jedi-vim.txt @@ -47,6 +47,7 @@ Contents *jedi-vim-contents* 6.15. environment_path |g:jedi#environment_path| |b:jedi_environment_path| 6.16. added_sys_path |g:jedi#added_sys_path| + |b:jedi_added_sys_path| 6.17. case_insensitive_completion |g:jedi#case_insensitive_completion| |b:jedi_case_insensitive_completion| 7. Testing |jedi-vim-testing| @@ -529,9 +530,13 @@ Default: "auto" ------------------------------------------------------------------------------ 6.16. `g:jedi#added_sys_path` *g:jedi#added_sys_path* + *b:jedi_added_sys_path* To add extra sys_path. +The buffer-local variable `b:jedi_added_sys_path` can be used to add +additional extra sys_path. + Examples: ["../site-packages"] Default: [] diff --git a/pythonx/jedi_vim.py b/pythonx/jedi_vim.py index f759ff8..8bccb18 100644 --- a/pythonx/jedi_vim.py +++ b/pythonx/jedi_vim.py @@ -222,7 +222,12 @@ def get_project(): "get(b:, 'jedi_environment_path', g:jedi#environment_path)" ) vim_project_path = vim_eval("g:jedi#project_path") - vim_added_sys_path = vim_eval("g:jedi#added_sys_path") + vim_added_sys_path = vim_eval( + "get(g:, 'jedi#added_sys_path', [])" + ) + vim_added_sys_path += vim_eval( + "get(b:, 'jedi_added_sys_path', [])" + ) global _current_project_cache cache_key = dict(project_path=vim_project_path, environment_path=vim_environment_path) From 50dfac448a4fc0efeace87ad8455eea44bd35a5c Mon Sep 17 00:00:00 2001 From: James Cherti <60946298+jamescherti@users.noreply.github.com> Date: Tue, 5 Apr 2022 15:59:09 -0400 Subject: [PATCH 2/2] Add 'g:jedi#added_sys_path' and 'b:jedi_added_sys_path' to the cache (cache_key). --- pythonx/jedi_vim.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pythonx/jedi_vim.py b/pythonx/jedi_vim.py index 8bccb18..b140668 100644 --- a/pythonx/jedi_vim.py +++ b/pythonx/jedi_vim.py @@ -222,15 +222,14 @@ def get_project(): "get(b:, 'jedi_environment_path', g:jedi#environment_path)" ) vim_project_path = vim_eval("g:jedi#project_path") - vim_added_sys_path = vim_eval( - "get(g:, 'jedi#added_sys_path', [])" - ) - vim_added_sys_path += vim_eval( - "get(b:, 'jedi_added_sys_path', [])" - ) + + vim_added_sys_path = vim_eval("get(g:, 'jedi#added_sys_path', [])") + vim_added_sys_path += vim_eval("get(b:, 'jedi_added_sys_path', [])") global _current_project_cache - cache_key = dict(project_path=vim_project_path, environment_path=vim_environment_path) + cache_key = dict(project_path=vim_project_path, + environment_path=vim_environment_path, + added_sys_path=vim_added_sys_path) if cache_key == _current_project_cache[0]: return _current_project_cache[1] @@ -295,7 +294,9 @@ def load_project(): project.save() global _current_project_cache - cache_key = dict(project_path=path, environment_path=env_path) + cache_key = dict(project_path=path, + environment_path=env_path, + added_sys_path=[]) _current_project_cache = cache_key, project