aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.config/nvim/after/ftplugin/python.vim24
-rw-r--r--.config/nvim/init.vim2
2 files changed, 25 insertions, 1 deletions
diff --git a/.config/nvim/after/ftplugin/python.vim b/.config/nvim/after/ftplugin/python.vim
new file mode 100644
index 0000000..97a0bcc
--- /dev/null
+++ b/.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\\)\\>
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim
index c8566a3..1d9a9be 100644
--- a/.config/nvim/init.vim
+++ b/.config/nvim/init.vim
@@ -17,7 +17,7 @@ set nu rnu
set mouse=a
" this is for better file searching
-set path+=**
+set path=.,**
set wildmenu
" more intuitive splits