add good python stuff PyInclude function is ripped from Leeren's python.vim (https://youtube.com/watch?v=Gs1VDYnS-Ac)
la-ninpre leobrekalini@gmail.com
Wed, 25 Nov 2020 20:24:02 +0300
2 files changed,
25 insertions(+),
1 deletions(-)
A
.config/nvim/after/ftplugin/python.vim
@@ -0,0 +1,24 @@
+set shiftwidth=4 tabstop=4 softtabstop=4 expandtab autoindent smartindent + +setlocal path=.,** +setlocal wildignore=*/__pycache__/*,*.pyc + +set include=^\\s*\\(from\\\|import\\)\\s*\\zs\\(\\S\\+\\s\\{-}\\)*\\ze\\($\\\|\ as\\) + +function! PyInclude(fname) + let parts = split(a:fname, ' import ') + let l = parts[0] + if len(parts) > 1 + let r = parts[1] + let joined = join([l, r], '.') + let fp = substitute(joined, '\.', '/', 'g') . '.py' + let found = glob(fp, 1) + if len(found) + return substitute(joined, '\.', '/', 'g') . '.py' + endif + endif + return substitute(joined, '\.', '/', 'g') . '.py' +endfunction + +setlocal includeexpr=PyInclude(v:fname) +setlocal define=^\\s*\\<\\(def\\\|class\\)\\>
M
.config/nvim/init.vim
→
.config/nvim/init.vim
@@ -17,7 +17,7 @@ " mouse is bad, but sometimes is useful
set mouse=a " this is for better file searching -set path+=** +set path=.,** set wildmenu " more intuitive splits