all repos — dotfiles @ dcdd7544ffd49d2ff94bf3316d507b09b37499d8

personal dotfiles

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
commit

dcdd7544ffd49d2ff94bf3316d507b09b37499d8

parent

7e044d5c92091a626d81635e6fbe2e8ad4068221

2 files changed, 25 insertions(+), 1 deletions(-)

jump to
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