From 81aec3c393d1c1ca54cfe7d90f23569a03008de2 Mon Sep 17 00:00:00 2001 From: wsdjeg Date: Thu, 4 Jan 2018 21:34:23 +0800 Subject: [PATCH] Fix 1232 --- autoload/SpaceVim/api/data/base64.vim | 5 ++-- autoload/SpaceVim/api/vim/compatible.vim | 29 ++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/autoload/SpaceVim/api/data/base64.vim b/autoload/SpaceVim/api/data/base64.vim index d333cab75..1eb3815e3 100644 --- a/autoload/SpaceVim/api/data/base64.vim +++ b/autoload/SpaceVim/api/data/base64.vim @@ -1,7 +1,8 @@ let s:self = {} +let s:CMP = SpaceVim#api#import('vim#compatible') -if has('python') +if s:CMP.has('python') " @vimlint(EVL103, 1, a:text) function! s:self.encode(text) abort py import vim @@ -116,7 +117,7 @@ endif -function! SpaceVim#api#data#base64#get() +function! SpaceVim#api#data#base64#get() abort return deepcopy(s:self) diff --git a/autoload/SpaceVim/api/vim/compatible.vim b/autoload/SpaceVim/api/vim/compatible.vim index c89fc51b7..619c2716a 100644 --- a/autoload/SpaceVim/api/vim/compatible.vim +++ b/autoload/SpaceVim/api/vim/compatible.vim @@ -4,6 +4,7 @@ function! SpaceVim#api#vim#compatible#get() abort \ 'system' : '', \ 'systemlist' : '', \ 'version' : '', + \ 'has' : '', \ 'globpath' : '', \ }, \ "function('s:' . v:key)" @@ -111,4 +112,32 @@ else endfunction endif + +function! s:has(feature) abort + if a:feature ==# 'python' + try + py import vim + return 1 + catch + return 0 + endtry + elseif a:feature ==# 'python3' + try + py3 import vim + return 1 + catch + return 0 + endtry + elseif a:feature ==# 'pythonx' + try + pyx import vim + return 1 + catch + return 0 + endtry + else + return has(a:feature) + endif +endfunction + " vim:set et sw=2 cc=80: