Add new stuff
This commit is contained in:
parent
69661de82f
commit
07744f6823
333 changed files with 1989 additions and 6 deletions
|
|
@ -1,110 +0,0 @@
|
|||
if has('python3')
|
||||
python3 import sys, vim
|
||||
python3 if vim.eval('expand("<sfile>:p:h")') not in sys.path: sys.path.append(vim.eval('expand("<sfile>:p:h")'))
|
||||
python3 import pyvenv
|
||||
endif
|
||||
if has('python')
|
||||
python import sys, vim
|
||||
python if vim.eval('expand("<sfile>:p:h")') not in sys.path: sys.path.append(vim.eval('expand("<sfile>:p:h")'))
|
||||
python import pyvenv
|
||||
endif
|
||||
|
||||
function! virtualenv#activate(...)
|
||||
let name = a:0 > 0 ? a:1 : ''
|
||||
let silent = a:0 > 1 ? a:2 : 0
|
||||
let env_dir = ''
|
||||
if len(name) == 0 "Figure out the name based on current file
|
||||
if isdirectory($VIRTUAL_ENV)
|
||||
let name = fnamemodify($VIRTUAL_ENV, ':t')
|
||||
let env_dir = $VIRTUAL_ENV
|
||||
elseif isdirectory($PROJECT_HOME)
|
||||
let fn = expand('%:p')
|
||||
let pat = '^'.$PROJECT_HOME.'/'
|
||||
if fn =~ pat
|
||||
let name = fnamemodify(substitute(fn, pat, '', ''), ':h')
|
||||
if name != '.' "No project directory
|
||||
let env_dir = g:virtualenv_directory.'/'.name
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
else
|
||||
let env_dir = g:virtualenv_directory.'/'.name
|
||||
endif
|
||||
|
||||
"Couldn't figure it out, so DIE
|
||||
if !isdirectory(env_dir)
|
||||
if !silent
|
||||
echoerr "No virtualenv could be auto-detected and activated."
|
||||
endif
|
||||
return
|
||||
endif
|
||||
|
||||
let bin = env_dir.(has('win32')? '/Scripts': '/bin')
|
||||
call virtualenv#deactivate()
|
||||
|
||||
let s:prev_path = $PATH
|
||||
|
||||
if has('python')
|
||||
python pyvenv.activate(vim.eval('l:env_dir'))
|
||||
endif
|
||||
if has('python3')
|
||||
python3 pyvenv.activate(vim.eval('l:env_dir'))
|
||||
endif
|
||||
|
||||
let g:virtualenv_name = name
|
||||
let $VIRTUAL_ENV = env_dir
|
||||
|
||||
if exists("*airline#extensions#virtualenv#update")
|
||||
call airline#extensions#virtualenv#update()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! virtualenv#deactivate()
|
||||
if has('python')
|
||||
python pyvenv.deactivate()
|
||||
endif
|
||||
if has('python3')
|
||||
python3 pyvenv.deactivate()
|
||||
endif
|
||||
|
||||
unlet! g:virtualenv_name
|
||||
|
||||
let $VIRTUAL_ENV = '' " can't delete parent variables
|
||||
|
||||
if exists('s:prev_path')
|
||||
let $PATH = s:prev_path
|
||||
endif
|
||||
|
||||
if exists("*airline#extensions#virtualenv#update")
|
||||
call airline#extensions#virtualenv#update()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! virtualenv#list()
|
||||
for name in virtualenv#names('')
|
||||
echo name
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! virtualenv#statusline()
|
||||
if exists('g:virtualenv_name')
|
||||
return substitute(g:virtualenv_stl_format, '\C%n', g:virtualenv_name, 'g')
|
||||
else
|
||||
return ''
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! virtualenv#names(prefix)
|
||||
let venvs = []
|
||||
for dir in split(glob(g:virtualenv_directory.'/'.a:prefix.'*'), '\n')
|
||||
if !isdirectory(dir)
|
||||
continue
|
||||
endif
|
||||
let fn = dir.(has('win32')? '/Scripts': '/bin').'/activate'
|
||||
if !filereadable(fn)
|
||||
continue
|
||||
endif
|
||||
call add(venvs, fnamemodify(dir, ':t'))
|
||||
endfor
|
||||
return venvs
|
||||
endfunction
|
||||
Loading…
Add table
Add a link
Reference in a new issue