forked from SpaceVim/SpaceVim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.vim
83 lines (73 loc) · 2.83 KB
/
main.vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
"=============================================================================
" main.vim --- Main file of SpaceVim
" Copyright (c) 2016-2021 Shidong Wang & Contributors
" Author: Shidong Wang < [email protected] >
" URL: https://spacevim.org
" License: GPLv3
"=============================================================================
" Ensures that SpaceVim only initializes once.
"
" SpaceVim can be installed as a Vim package, in which case the entry point is
" inside the 'plugin' directory and sources this script.
"
" SpaceVim can also be installed using the provided Vim entry point files (e.g.
" vimrc, init.vim), which will source this script. However, the file inside of
" the 'plugin' directory will still be executed and would run this twice if we
" don't have this gate.
"
if exists('g:_spacevim_init')
finish
else
let g:_spacevim_init = 1
endif
" set default encoding to utf-8
" Let Vim use utf-8 internally, because many scripts require this
set encoding=utf-8
scriptencoding utf-8
" Enable nocompatible
if &compatible
set nocompatible
endif
let g:_spacevim_root_dir = escape(fnamemodify(resolve(fnamemodify(expand('<sfile>'),
\ ':p:h:gs?\\?'.((has('win16') || has('win32')
\ || has('win64'))?'\':'/') . '?')), ':p:gs?[\\/]?/?'), ' ')
lockvar g:_spacevim_root_dir
if has('nvim')
let s:qtdir = split(&rtp, ',')[-1]
if s:qtdir =~# 'nvim-qt'
let &rtp = s:qtdir . ',' . g:_spacevim_root_dir . ',' . $VIMRUNTIME
else
let &rtp = g:_spacevim_root_dir . ',' . $VIMRUNTIME
endif
else
let &rtp = g:_spacevim_root_dir . ',' . $VIMRUNTIME
endif
call SpaceVim#logger#info('Loading SpaceVim from: ' . g:_spacevim_root_dir)
if has('vim_starting')
" python host
" @bug python2 error on neovim 0.6.1
" let g:loaded_python_provider = 0
if !empty($PYTHON_HOST_PROG)
let g:python_host_prog = $PYTHON_HOST_PROG
call SpaceVim#logger#info('$PYTHON_HOST_PROG is not empty, setting g:python_host_prog:' . g:python_host_prog)
endif
if !empty($PYTHON3_HOST_PROG)
let g:python3_host_prog = $PYTHON3_HOST_PROG
call SpaceVim#logger#info('$PYTHON3_HOST_PROG is not empty, setting g:python3_host_prog:' . g:python3_host_prog)
if !has('nvim')
\ && (has('win16') || has('win32') || has('win64'))
\ && exists('&pythonthreedll')
\ && exists('&pythonthreehome')
let &pythonthreedll = get(split(globpath(fnamemodify($PYTHON3_HOST_PROG, ':h'), 'python*.dll'), '\n'), -1, '')
call SpaceVim#logger#info('init &pythonthreedll:' . &pythonthreedll)
let &pythonthreehome = fnamemodify($PYTHON3_HOST_PROG, ':h')
call SpaceVim#logger#info('init &pythonthreehome:' . &pythonthreehome)
endif
endif
endif
call SpaceVim#begin()
call SpaceVim#custom#load()
call SpaceVim#default#keyBindings()
call SpaceVim#end()
call SpaceVim#logger#info('finished loading SpaceVim!')
" vim:set et sw=2 cc=80: