From b362f23beceb33ddd56bb7eafba1aa25fe0fc14f Mon Sep 17 00:00:00 2001 From: Wang Shidong Date: Wed, 18 Apr 2018 07:40:37 -0500 Subject: [PATCH] Add json example (#1625) * Add json example * Add json func * Add json support --- autoload/SpaceVim.vim | 7 +++++++ autoload/SpaceVim/custom.vim | 14 ++++++++++++++ mode/basic.json | 10 ++++++++++ 3 files changed, 31 insertions(+) create mode 100644 mode/basic.json diff --git a/autoload/SpaceVim.vim b/autoload/SpaceVim.vim index b930f1619..1b59af740 100644 --- a/autoload/SpaceVim.vim +++ b/autoload/SpaceVim.vim @@ -595,6 +595,13 @@ function! SpaceVim#loadCustomConfig() abort exe 'source ' . custom_glob_conf endif + " json config + let json_global = expand('~/.SpaceVim.d/init.json') + if filereadable(json_global) + let config = join(readfile(json_global), '') + call SpaceVim#custom#apply(config) + endif + if g:spacevim_enable_ycm && g:spacevim_snippet_engine !=# 'ultisnips' call SpaceVim#logger#info('YCM only support ultisnips, change g:spacevim_snippet_engine to ultisnips') let g:spacevim_snippet_engine = 'ultisnips' diff --git a/autoload/SpaceVim/custom.vim b/autoload/SpaceVim/custom.vim index 8124da0af..75b2bdb00 100644 --- a/autoload/SpaceVim/custom.vim +++ b/autoload/SpaceVim/custom.vim @@ -70,3 +70,17 @@ endfunction function! SpaceVim#custom#SPCGroupName(keys, name) abort call add(g:_spacevim_mappings_space_custom_group_name, [a:keys, a:name]) endfunction + + +function! SpaceVim#custom#apply(config) abort + let config = json_decode(a:config) + for key in keys(config) + if exists('g:spacevim_' . key) + exe 'let g:spacevim_' . key . ' = "' . config[key] . '"' + endif + endfor +endfunction + +function! SpaceVim#custom#write(force) abort + +endfunction diff --git a/mode/basic.json b/mode/basic.json new file mode 100644 index 000000000..7ec2ca6a3 --- /dev/null +++ b/mode/basic.json @@ -0,0 +1,10 @@ +{ + "colorscheme": "grubox", + "background": "dark", + "guicolors": true, + "statusline_separator": "nil", + "statusline_inactive_separator": "bar", + "buffer_index_type": 4, + "filetype_icon": false, + "statusline_display_mode": false +}