mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-23 07:00:04 +08:00
feat(github): enable github action
This commit is contained in:
parent
ab666f13f1
commit
13fe60ed2e
5
.ci/bootstrap
Normal file
5
.ci/bootstrap
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# usage: script/bootstrap
|
||||||
|
#
|
||||||
|
|
||||||
|
cd docs && bundle install
|
6
.ci/build-production
Normal file
6
.ci/build-production
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# usage: script/build-production
|
||||||
|
#
|
||||||
|
# Run the jekyll build
|
||||||
|
|
||||||
|
cd docs && bundle exec jekyll build
|
75
.ci/common/github_commenter.vim
Normal file
75
.ci/common/github_commenter.vim
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
exe 'set nocp'
|
||||||
|
set rtp+=/build/GitHub.vim
|
||||||
|
set rtp+=/API
|
||||||
|
so /build/GitHub.vim/plugin/github.vim
|
||||||
|
let s:LIST = SpaceVim#api#import('data#list')
|
||||||
|
let s:log = filereadable('build_log') ? system('cat build_log') : ''
|
||||||
|
let g:githubapi_verbose = 1
|
||||||
|
function! s:update_log(log, summary, new_log) abort
|
||||||
|
let log = split(a:log, "\n")
|
||||||
|
let begin = -1
|
||||||
|
let end = -1
|
||||||
|
for i in range(len(log))
|
||||||
|
if log[i] =~ a:summary
|
||||||
|
let begin = i
|
||||||
|
endif
|
||||||
|
if begin != -1 && log[i] ==# '</details>'
|
||||||
|
let end = i
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
if begin != -1 && end != -1
|
||||||
|
return s:LIST.replace(log, begin, end, split(a:new_log, "\n"))
|
||||||
|
else
|
||||||
|
return a:log . "\n" . a:new_log
|
||||||
|
endif
|
||||||
|
|
||||||
|
endfunction
|
||||||
|
if !empty(s:log)
|
||||||
|
if $LINT ==# 'vader'
|
||||||
|
let s:summary = $VIM . ' ' . $LINT . ' build log'
|
||||||
|
else
|
||||||
|
let s:summary = $LINT . ' build log'
|
||||||
|
endif
|
||||||
|
let s:log = '<details><summary>' . s:summary . "</summary>\n" . s:log . "\n</details>"
|
||||||
|
let s:comments = github#api#issues#List_comments('SpaceVim', 'SpaceVim',$TRAVIS_PULL_REQUEST ,'')
|
||||||
|
if empty(s:comments)
|
||||||
|
call github#api#issues#Create_comment('SpaceVim','SpaceVim', $TRAVIS_PULL_REQUEST, {'body': s:log}, 'SpaceVimBot', $BOTSECRET)
|
||||||
|
else
|
||||||
|
let s:nr = 0
|
||||||
|
for s:comment in s:comments
|
||||||
|
if s:comment.user.login ==# 'SpaceVimBot'
|
||||||
|
let s:nr = s:comment.id
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
if s:nr == 0
|
||||||
|
call github#api#issues#Create_comment('SpaceVim','SpaceVim', $TRAVIS_PULL_REQUEST, {'body': s:log}, 'SpaceVimBot', $BOTSECRET)
|
||||||
|
else
|
||||||
|
call github#api#issues#Edit_comment('SpaceVim','SpaceVim', s:nr,
|
||||||
|
\ {'body': s:update_log(s:comment.body, s:summary, s:log)}, 'SpaceVimBot', $BOTSECRET)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if $LINT ==# 'vader'
|
||||||
|
let s:summary = $VIM . ' ' . $LINT . ' build log'
|
||||||
|
else
|
||||||
|
let s:summary = $LINT . ' build log'
|
||||||
|
endif
|
||||||
|
let s:log = '<details><summary>' . s:summary . "</summary>\n" . s:log . "\n</details>"
|
||||||
|
let s:comments = github#api#issues#List_comments('SpaceVim', 'SpaceVim',$TRAVIS_PULL_REQUEST ,'')
|
||||||
|
if !empty(s:comments)
|
||||||
|
let s:nr = 0
|
||||||
|
for s:comment in s:comments
|
||||||
|
if s:comment.user.login ==# 'SpaceVimBot'
|
||||||
|
let s:nr = s:comment.id
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
if s:nr != 0
|
||||||
|
call github#api#issues#Edit_comment('SpaceVim','SpaceVim', s:nr,
|
||||||
|
\ {'body': s:update_log(s:comment.body, s:summary, s:log)}, 'SpaceVimBot', $BOTSECRET)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
echom v:shell_error
|
||||||
|
quit
|
455
.ci/detach_plugin.sh
Normal file
455
.ci/detach_plugin.sh
Normal file
@ -0,0 +1,455 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
_detact () {
|
||||||
|
cp -f ../../$1 $1
|
||||||
|
}
|
||||||
|
|
||||||
|
_detact_bundle () {
|
||||||
|
cp -f ../../bundle/$1/$2 $2
|
||||||
|
}
|
||||||
|
|
||||||
|
_checkdir () {
|
||||||
|
if [[ ! -d "$1" ]]; then
|
||||||
|
mkdir -p $1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_default_readme () {
|
||||||
|
cat <<EOT > README.md
|
||||||
|
# $1
|
||||||
|
> $2
|
||||||
|
|
||||||
|
This plugin is automatically detach from [SpaceVim](https://github.com/SpaceVim/SpaceVim/). you can use it without SpaceVim.
|
||||||
|
EOT
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
main () {
|
||||||
|
case "$1" in
|
||||||
|
flygrep)
|
||||||
|
git clone https://github.com/wsdjeg/FlyGrep.vim.git detach/$1
|
||||||
|
cd detach/$1
|
||||||
|
_checkdir syntax/
|
||||||
|
_checkdir autoload/SpaceVim/api
|
||||||
|
_checkdir autoload/SpaceVim/api/vim
|
||||||
|
_checkdir autoload/SpaceVim/api/neovim
|
||||||
|
_checkdir autoload/SpaceVim/api/data
|
||||||
|
_checkdir autoload/SpaceVim/mapping
|
||||||
|
_checkdir autoload/SpaceVim/plugins
|
||||||
|
_detact autoload/SpaceVim/plugins/flygrep.vim
|
||||||
|
_detact autoload/SpaceVim/api.vim
|
||||||
|
_detact autoload/SpaceVim/api/logger.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/buffer.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/regex.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/compatible.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/floating.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/highlight.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/statusline.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/window.vim
|
||||||
|
_detact autoload/SpaceVim/api/neovim/floating.vim
|
||||||
|
_detact autoload/SpaceVim/api/data/dict.vim
|
||||||
|
_detact autoload/SpaceVim/api/data/list.vim
|
||||||
|
_detact autoload/SpaceVim/api/data/json.vim
|
||||||
|
_detact autoload/SpaceVim/api/data/string.vim
|
||||||
|
_detact autoload/SpaceVim/api/prompt.vim
|
||||||
|
_detact autoload/SpaceVim/api/job.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim.vim
|
||||||
|
_detact autoload/SpaceVim/api/file.vim
|
||||||
|
_detact autoload/SpaceVim/api/system.vim
|
||||||
|
_detact autoload/SpaceVim/api/time.vim
|
||||||
|
_detact autoload/SpaceVim/mapping/search.vim
|
||||||
|
_detact autoload/SpaceVim/logger.vim
|
||||||
|
# detach lua version flygrep
|
||||||
|
_checkdir lua/spacevim/api
|
||||||
|
_checkdir lua/spacevim/api/vim
|
||||||
|
_checkdir lua/spacevim/plugin
|
||||||
|
_detact lua/spacevim/plugin/flygrep.lua
|
||||||
|
_detact lua/spacevim/plugin/search.lua
|
||||||
|
_detact lua/spacevim.lua
|
||||||
|
_detact lua/spacevim/logger.lua
|
||||||
|
_detact lua/spacevim/api.lua
|
||||||
|
_detact lua/spacevim/api/logger.lua
|
||||||
|
_detact lua/spacevim/api/prompt.lua
|
||||||
|
_detact lua/spacevim/api/notify.lua
|
||||||
|
_detact lua/spacevim/api/password.lua
|
||||||
|
_detact lua/spacevim/api/vim.lua
|
||||||
|
_detact lua/spacevim/api/system.lua
|
||||||
|
_detact lua/spacevim/api/vim/compatible.lua
|
||||||
|
_detact lua/spacevim/api/vim/highlight.lua
|
||||||
|
_detact lua/spacevim/api/vim/regex.lua
|
||||||
|
_detact lua/spacevim/api/vim/keys.lua
|
||||||
|
_detact lua/spacevim/api/vim/buffer.lua
|
||||||
|
_detact lua/spacevim/api/vim/window.lua
|
||||||
|
_detact lua/spacevim/api/vim/statusline.lua
|
||||||
|
# detach syntax/ftplugin etc
|
||||||
|
_detact syntax/SpaceVimFlyGrep.vim
|
||||||
|
# detach bundle
|
||||||
|
_checkdir plugin
|
||||||
|
_detact_bundle FlyGrep plugin/FlyGrep.vim
|
||||||
|
_detact_bundle FlyGrep README.md
|
||||||
|
_detact_bundle FlyGrep addon-info.json
|
||||||
|
_checkdir doc/
|
||||||
|
_detact_bundle FlyGrep doc/FlyGrep.txt
|
||||||
|
# detach LICENSE
|
||||||
|
_detact LICENSE
|
||||||
|
# detach test vimrc
|
||||||
|
_checkdir test
|
||||||
|
_detact_bundle FlyGrep test/vimrc
|
||||||
|
git add .
|
||||||
|
git config user.email "wsdjeg@qq.com"
|
||||||
|
git config user.name "SpaceVimBot"
|
||||||
|
git commit -m "Auto Update based on https://github.com/SpaceVim/SpaceVim/commit/${GITHUB_SHA}"
|
||||||
|
git remote add wsdjeg_flygrep https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/FlyGrep.vim.git
|
||||||
|
git push wsdjeg_flygrep master
|
||||||
|
cd -
|
||||||
|
rm -rf detach/$1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
dein-ui)
|
||||||
|
git clone https://github.com/wsdjeg/dein-ui.vim.git detach/$1
|
||||||
|
cd detach/$1
|
||||||
|
_checkdir syntax/
|
||||||
|
_checkdir autoload/SpaceVim/api
|
||||||
|
_checkdir autoload/SpaceVim/api/data
|
||||||
|
_checkdir autoload/SpaceVim/api/vim
|
||||||
|
_checkdir autoload/SpaceVim/mapping
|
||||||
|
_checkdir autoload/SpaceVim/plugins
|
||||||
|
_detact autoload/SpaceVim/plugins/manager.vim
|
||||||
|
_detact autoload/SpaceVim/api.vim
|
||||||
|
_detact autoload/SpaceVim/commands.vim
|
||||||
|
_detact autoload/SpaceVim/logger.vim
|
||||||
|
_detact autoload/SpaceVim/api/job.vim
|
||||||
|
_detact autoload/SpaceVim/api/system.vim
|
||||||
|
_detact autoload/SpaceVim/api/data/list.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/compatible.vim
|
||||||
|
_detact syntax/SpaceVimPlugManager.vim
|
||||||
|
_detact LICENSE
|
||||||
|
git add .
|
||||||
|
git config user.email "wsdjeg@qq.com"
|
||||||
|
git config user.name "SpaceVimBot"
|
||||||
|
git commit -m "Auto Update based on https://github.com/SpaceVim/SpaceVim/commit/${GITHUB_SHA}"
|
||||||
|
git remote add wsdjeg_dein_ui https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/dein-ui.vim.git
|
||||||
|
git push wsdjeg_dein_ui master
|
||||||
|
cd -
|
||||||
|
rm -rf detach/$1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
iedit)
|
||||||
|
git clone https://github.com/wsdjeg/iedit.vim.git detach/$1
|
||||||
|
cd detach/$1
|
||||||
|
_checkdir autoload/SpaceVim/api/vim
|
||||||
|
_checkdir autoload/SpaceVim/api/data
|
||||||
|
_checkdir autoload/SpaceVim/plugins
|
||||||
|
_detact autoload/SpaceVim/api.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/compatible.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/highlight.vim
|
||||||
|
_detact autoload/SpaceVim/api/data/string.vim
|
||||||
|
_detact autoload/SpaceVim/plugins/iedit.vim
|
||||||
|
_checkdir autoload/plugin
|
||||||
|
cat <<EOT > autoload/plugin/iedit.vim
|
||||||
|
"=============================================================================
|
||||||
|
" iedit.vim --- multiple cursor support for neovim and vim
|
||||||
|
" Copyright (c) 2016-2022 Shidong Wang & Contributors
|
||||||
|
" Author: Shidong Wang < wsdjeg@outlook.com >
|
||||||
|
" URL: https://github.com/wsdjeg/iedit.vim
|
||||||
|
" License: MIT license
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
""
|
||||||
|
" @section Introduction, intro
|
||||||
|
" @stylized iedit.vim
|
||||||
|
" @library
|
||||||
|
" @order intro version dicts functions exceptions layers api faq
|
||||||
|
" multiple cursor in vim, written in pure vim script for MacVim, gvim and vim version
|
||||||
|
" 8.0+.
|
||||||
|
"
|
||||||
|
|
||||||
|
command! -nargs=0 Iedit call SpaceVim#plugins#iedit#start()
|
||||||
|
EOT
|
||||||
|
_detact LICENSE
|
||||||
|
_default_readme "iedit.vim" "multiple cussor support for Vim/Neovim"
|
||||||
|
git add .
|
||||||
|
git config user.email "wsdjeg@qq.com"
|
||||||
|
git config user.name "SpaceVimBot"
|
||||||
|
git commit -m "Auto Update"
|
||||||
|
git remote add wsdjeg_vim_todo https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/iedit.vim.git
|
||||||
|
git push wsdjeg_vim_todo master
|
||||||
|
cd -
|
||||||
|
rm -rf detach/$1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
vim-todo)
|
||||||
|
git clone https://github.com/wsdjeg/vim-todo.git detach/$1
|
||||||
|
cd detach/$1
|
||||||
|
_checkdir syntax/
|
||||||
|
_detact syntax/SpaceVimTodoManager.vim
|
||||||
|
_checkdir autoload/SpaceVim/api/vim
|
||||||
|
_checkdir autoload/SpaceVim/api/data
|
||||||
|
_checkdir autoload/SpaceVim/plugins
|
||||||
|
_checkdir autoload/SpaceVim/mapping
|
||||||
|
_detact autoload/SpaceVim/api.vim
|
||||||
|
_detact autoload/SpaceVim/api/logger.vim
|
||||||
|
_detact autoload/SpaceVim/api/job.vim
|
||||||
|
_detact autoload/SpaceVim/api/system.vim
|
||||||
|
_detact autoload/SpaceVim/api/data/string.vim
|
||||||
|
_detact autoload/SpaceVim/api/file.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/buffer.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/regex.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/compatible.vim
|
||||||
|
_detact autoload/SpaceVim/logger.vim
|
||||||
|
_detact autoload/SpaceVim/mapping/search.vim
|
||||||
|
_detact autoload/SpaceVim/plugins/todo.vim
|
||||||
|
_checkdir plugin
|
||||||
|
cat <<EOT > plugin/todo.vim
|
||||||
|
"=============================================================================
|
||||||
|
" todo.vim --- todo manager for SpaceVim
|
||||||
|
" Copyright (c) 2016-2023 Wang Shidong & Contributors
|
||||||
|
" Author: Wang Shidong < wsdjeg@outlook.com >
|
||||||
|
" URL: https://spacevim.org
|
||||||
|
" License: GPLv3
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
command! OpenTodo call todo#open()
|
||||||
|
EOT
|
||||||
|
_detact LICENSE
|
||||||
|
git add .
|
||||||
|
git config user.email "wsdjeg@qq.com"
|
||||||
|
git config user.name "SpaceVimBot"
|
||||||
|
git commit -m "Auto Update"
|
||||||
|
git remote add wsdjeg_vim_todo https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/vim-todo.git
|
||||||
|
git push wsdjeg_vim_todo master
|
||||||
|
cd -
|
||||||
|
rm -rf detach/$1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
vim-chat)
|
||||||
|
git clone https://github.com/wsdjeg/vim-chat.git detach/$1
|
||||||
|
cd detach/$1
|
||||||
|
_detact LICENSE
|
||||||
|
_checkdir autoload/SpaceVim/api
|
||||||
|
_detact autoload/SpaceVim/api.vim
|
||||||
|
_detact autoload/SpaceVim/api/job.vim
|
||||||
|
_checkdir autoload/chat/
|
||||||
|
_detact_bundle vim-chat autoload/chat.vim
|
||||||
|
_detact_bundle vim-chat autoload/chat/gitter.vim
|
||||||
|
_detact_bundle vim-chat autoload/chat/logger.vim
|
||||||
|
_detact_bundle vim-chat autoload/chat/notify.vim
|
||||||
|
_detact_bundle vim-chat autoload/chat/qq.vim
|
||||||
|
_detact_bundle vim-chat autoload/chat/weixin.vim
|
||||||
|
_checkdir doc/
|
||||||
|
_detact_bundle vim-chat doc/vim-chat.txt
|
||||||
|
_checkdir syntax/
|
||||||
|
_detact_bundle vim-chat syntax/vimchat.vim
|
||||||
|
_detact_bundle vim-chat addon-info.json
|
||||||
|
_detact_bundle vim-chat README.md
|
||||||
|
git add .
|
||||||
|
git config user.email "wsdjeg@qq.com"
|
||||||
|
git config user.name "SpaceVimBot"
|
||||||
|
git commit -m "Auto Update based on https://github.com/SpaceVim/SpaceVim/commit/${GITHUB_SHA}"
|
||||||
|
git remote add wsdjeg_vim_chat https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/vim-chat.git
|
||||||
|
git push wsdjeg_vim_chat master
|
||||||
|
cd -
|
||||||
|
rm -rf detach/$1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
JavaUnit.vim)
|
||||||
|
git clone https://github.com/wsdjeg/JavaUnit.vim.git detach/$1
|
||||||
|
cd detach/$1
|
||||||
|
# _detact LICENSE
|
||||||
|
# _checkdir autoload/SpaceVim/api
|
||||||
|
# _detact autoload/SpaceVim/api.vim
|
||||||
|
# _detact autoload/SpaceVim/api/job.vim
|
||||||
|
# _checkdir autoload/chat/
|
||||||
|
_detact_bundle JavaUnit.vim README.md
|
||||||
|
git add .
|
||||||
|
git config user.email "wsdjeg@qq.com"
|
||||||
|
git config user.name "SpaceVimBot"
|
||||||
|
git commit -m "Auto Update based on https://github.com/SpaceVim/SpaceVim/commit/${GITHUB_SHA}"
|
||||||
|
git remote add wsdjeg_javaunit_vim https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/JavaUnit.vim.git
|
||||||
|
git push wsdjeg_javaunit_vim master
|
||||||
|
cd -
|
||||||
|
rm -rf detach/$1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
git.vim)
|
||||||
|
git clone https://github.com/wsdjeg/git.vim.git detach/$1
|
||||||
|
cd detach/$1
|
||||||
|
_checkdir autoload/SpaceVim/api
|
||||||
|
_detact autoload/SpaceVim/api.vim
|
||||||
|
_detact autoload/SpaceVim/api/job.vim
|
||||||
|
_detact_bundle git.vim LICENSE
|
||||||
|
_detact_bundle git.vim README.md
|
||||||
|
_detact_bundle git.vim addon-info.json
|
||||||
|
_checkdir autoload/git/branch
|
||||||
|
_detact_bundle git.vim autoload/git.vim
|
||||||
|
_detact_bundle git.vim autoload/git/add.vim
|
||||||
|
_detact_bundle git.vim autoload/git/blame.vim
|
||||||
|
_detact_bundle git.vim autoload/git/branch.vim
|
||||||
|
_detact_bundle git.vim autoload/git/branch/manager.vim
|
||||||
|
_detact_bundle git.vim autoload/git/checkout.vim
|
||||||
|
_detact_bundle git.vim autoload/git/cherry_pick.vim
|
||||||
|
_detact_bundle git.vim autoload/git/clean.vim
|
||||||
|
_detact_bundle git.vim autoload/git/commit.vim
|
||||||
|
_detact_bundle git.vim autoload/git/config.vim
|
||||||
|
_detact_bundle git.vim autoload/git/diff.vim
|
||||||
|
_detact_bundle git.vim autoload/git/fetch.vim
|
||||||
|
_detact_bundle git.vim autoload/git/log.vim
|
||||||
|
_detact_bundle git.vim autoload/git/logger.vim
|
||||||
|
_detact_bundle git.vim autoload/git/merge.vim
|
||||||
|
_detact_bundle git.vim autoload/git/mv.vim
|
||||||
|
_detact_bundle git.vim autoload/git/pull.vim
|
||||||
|
_detact_bundle git.vim autoload/git/push.vim
|
||||||
|
_detact_bundle git.vim autoload/git/rebase.vim
|
||||||
|
_detact_bundle git.vim autoload/git/reflog.vim
|
||||||
|
_detact_bundle git.vim autoload/git/remote.vim
|
||||||
|
_detact_bundle git.vim autoload/git/reset.vim
|
||||||
|
_detact_bundle git.vim autoload/git/rm.vim
|
||||||
|
_detact_bundle git.vim autoload/git/stash.vim
|
||||||
|
_detact_bundle git.vim autoload/git/status.vim
|
||||||
|
_checkdir doc
|
||||||
|
_detact_bundle git.vim doc/git.txt
|
||||||
|
_checkdir plugin
|
||||||
|
_detact_bundle git.vim plugin/git.vim
|
||||||
|
_checkdir syntax
|
||||||
|
_detact_bundle git.vim syntax/git-blame.vim
|
||||||
|
_detact_bundle git.vim syntax/git-commit.vim
|
||||||
|
_detact_bundle git.vim syntax/git-config.vim
|
||||||
|
_detact_bundle git.vim syntax/git-log.vim
|
||||||
|
_detact_bundle git.vim syntax/git-rebase.vim
|
||||||
|
_detact_bundle git.vim syntax/git-reflog.vim
|
||||||
|
_checkdir test
|
||||||
|
_detact_bundle git.vim test/vimrc
|
||||||
|
git add .
|
||||||
|
git config user.email "wsdjeg@qq.com"
|
||||||
|
git config user.name "SpaceVimBot"
|
||||||
|
git commit -m "Auto Update based on https://github.com/SpaceVim/SpaceVim/commit/${GITHUB_SHA}"
|
||||||
|
git remote add wsdjeg_git_vim https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/git.vim.git
|
||||||
|
git push wsdjeg_git_vim master
|
||||||
|
cd -
|
||||||
|
rm -rf detach/$1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
vim-cheat)
|
||||||
|
git clone https://github.com/wsdjeg/vim-cheat.git detach/$1
|
||||||
|
cd detach/$1
|
||||||
|
_checkdir plugin/
|
||||||
|
_checkdir autoload/
|
||||||
|
_detact LICENSE
|
||||||
|
_detact_bundle vim-cheat autoload/cheat.vim
|
||||||
|
_detact_bundle vim-cheat plugin/cheat.vim
|
||||||
|
_detact_bundle vim-cheat README.md
|
||||||
|
_detact_bundle vim-cheat .travis.yml
|
||||||
|
_detact_bundle vim-cheat .vintrc.yaml
|
||||||
|
_checkdir doc/
|
||||||
|
_detact_bundle vim-cheat doc/vim-cheat.txt
|
||||||
|
git add .
|
||||||
|
git config user.email "wsdjeg@qq.com"
|
||||||
|
git config user.name "SpaceVimBot"
|
||||||
|
git commit -m "Auto Update based on https://github.com/SpaceVim/SpaceVim/commit/${GITHUB_SHA}"
|
||||||
|
git remote add wsdjeg_vim_cheat https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/vim-cheat.git
|
||||||
|
git push wsdjeg_vim_cheat master
|
||||||
|
cd -
|
||||||
|
rm -rf detach/$1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
xmake.vim)
|
||||||
|
git clone https://github.com/wsdjeg/xmake.vim.git detach/$1
|
||||||
|
cd detach/$1
|
||||||
|
_checkdir plugin/
|
||||||
|
_detact_bundle xmake.vim plugin/xmake.vim
|
||||||
|
_detact_bundle xmake.vim plugin/xmgen.py
|
||||||
|
_checkdir autoload/
|
||||||
|
_detact_bundle xmake.vim autoload/xmake.vim
|
||||||
|
_detact_bundle xmake.vim autoload/spy.lua
|
||||||
|
_detact LICENSE
|
||||||
|
_default_readme "xmake.vim" "xmake support for neovim/vim"
|
||||||
|
_checkdir autoload/xmake/
|
||||||
|
_detact_bundle xmake.vim autoload/xmake/log.vim
|
||||||
|
_checkdir doc/
|
||||||
|
_detact_bundle xmake.vim doc/xmake.txt
|
||||||
|
_checkdir UltiSnips/
|
||||||
|
_detact_bundle xmake.vim UltiSnips/lua.snippets
|
||||||
|
_checkdir rplugin/python3/deoplete/sources/docs/
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/xmake.py
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_defines
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_defines
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_deps
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_files
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_headers
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_includedirs
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_linkdirs
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_links
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_subdirs
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/is_os
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/is_plat
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_basename
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_headerdir
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_kind
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_languages
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_objectdir
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_optimize
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_project
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_strip
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_symbols
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_targetdir
|
||||||
|
_detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_warnings
|
||||||
|
git add .
|
||||||
|
git config user.email "wsdjeg@qq.com"
|
||||||
|
git config user.name "SpaceVimBot"
|
||||||
|
git commit -m "Auto Update based on https://github.com/SpaceVim/SpaceVim/commit/${GITHUB_SHA}"
|
||||||
|
git remote add wsdjeg_xmake_vim https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/xmake.vim.git
|
||||||
|
git push wsdjeg_xmake_vim master
|
||||||
|
cd -
|
||||||
|
rm -rf detach/$1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
scrollbar.vim)
|
||||||
|
git clone https://github.com/wsdjeg/scrollbar.vim.git detach/$1
|
||||||
|
cd detach/$1
|
||||||
|
_checkdir autoload/SpaceVim/api/
|
||||||
|
_checkdir autoload/SpaceVim/api/vim
|
||||||
|
_detact autoload/SpaceVim/api.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/buffer.vim
|
||||||
|
_detact autoload/SpaceVim/api/vim/window.vim
|
||||||
|
_checkdir autoload/SpaceVim/plugins/
|
||||||
|
_detact autoload/SpaceVim/plugins/scrollbar.vim
|
||||||
|
_detact LICENSE
|
||||||
|
_default_readme "scrollbar.vim" "floating scrollbar support for neovim/vim[wip]"
|
||||||
|
git add .
|
||||||
|
git config user.email "wsdjeg@qq.com"
|
||||||
|
git config user.name "SpaceVimBot"
|
||||||
|
git commit -m "Auto Update based on https://github.com/SpaceVim/SpaceVim/commit/${GITHUB_SHA}"
|
||||||
|
git remote add wsdjeg_scrollbar https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/scrollbar.vim.git
|
||||||
|
git push wsdjeg_scrollbar master
|
||||||
|
cd -
|
||||||
|
rm -rf detach/$1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
github.vim)
|
||||||
|
git clone https://github.com/wsdjeg/GitHub.vim.git detach/$1
|
||||||
|
cd detach/$1
|
||||||
|
_checkdir plugin/
|
||||||
|
_checkdir autoload/
|
||||||
|
_detact LICENSE
|
||||||
|
_detact_bundle github.vim autoload/github.vim
|
||||||
|
_detact_bundle github.vim plugin/github.vim
|
||||||
|
_default_readme "GitHub.vim" "GitHub API support for neovim/vim[wip]"
|
||||||
|
_checkdir doc/
|
||||||
|
_detact_bundle github doc/github.txt
|
||||||
|
git add .
|
||||||
|
git config user.email "wsdjeg@qq.com"
|
||||||
|
git config user.name "SpaceVimBot"
|
||||||
|
git commit -m "Auto Update based on https://github.com/SpaceVim/SpaceVim/commit/${GITHUB_SHA}"
|
||||||
|
git remote add wsdjeg_github_vim https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/GitHub.vim.git
|
||||||
|
git push wsdjeg_github_vim master
|
||||||
|
cd -
|
||||||
|
rm -rf detach/$1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
spacevim-theme)
|
||||||
|
exit 0
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
main $@
|
64
.ci/install/linux.sh
Normal file
64
.ci/install/linux.sh
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Fail on unset variables and command errors
|
||||||
|
set -ue -o pipefail
|
||||||
|
|
||||||
|
# Prevent commands misbehaving due to locale differences
|
||||||
|
export LC_ALL=C
|
||||||
|
|
||||||
|
install_vim() {
|
||||||
|
local URL=https://github.com/vim/vim
|
||||||
|
local tag=$1
|
||||||
|
local ext=$([[ $tag == "nightly" ]] && echo "" || echo "-b $tag")
|
||||||
|
local tmp="$(mktemp -d)"
|
||||||
|
local out="${DEPS}/_vim/$tag"
|
||||||
|
mkdir -p $out
|
||||||
|
git clone --depth 1 --single-branch $ext $URL $tmp
|
||||||
|
cd $tmp
|
||||||
|
|
||||||
|
# Apply Vim patch v8.0.1635 to fix build with Python.
|
||||||
|
if grep -q _POSIX_THREADS src/if_python3.c; then
|
||||||
|
sed -i '/#ifdef _POSIX_THREADS/,+2 d' src/if_python3.c
|
||||||
|
fi
|
||||||
|
|
||||||
|
./configure \
|
||||||
|
--with-features=huge \
|
||||||
|
--enable-pythoninterp \
|
||||||
|
--enable-python3interp \
|
||||||
|
--enable-luainterp \
|
||||||
|
--prefix=${out}
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
|
||||||
|
install_nvim() {
|
||||||
|
local URL=https://github.com/neovim/neovim
|
||||||
|
local tag=$1
|
||||||
|
local tmp="$(mktemp -d)"
|
||||||
|
local out="${DEPS}/_neovim/$tag"
|
||||||
|
mkdir -p $out
|
||||||
|
curl -o $tmp/nvim-linux64.tar.gz -L "https://github.com/neovim/neovim/releases/download/$tag/nvim-linux64.tar.gz"
|
||||||
|
tar -xzvf $tmp/nvim-linux64.tar.gz -C $tmp
|
||||||
|
cp -r $tmp/nvim-linux64/* $out
|
||||||
|
chmod +x $out/bin/nvim
|
||||||
|
# fix ModuleNotFoundError: No module named 'setuptools'
|
||||||
|
python3 -m pip install -U setuptools
|
||||||
|
python3 -m pip install pynvim
|
||||||
|
}
|
||||||
|
|
||||||
|
install() {
|
||||||
|
local vim=$1
|
||||||
|
local tag=$2
|
||||||
|
|
||||||
|
if [[ -d "${DEPS}/_$vim/$tag/bin" ]]; then
|
||||||
|
echo "Use a cached version '$HOME/_$vim/$tag'."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
if [[ $vim == "nvim" ]]; then
|
||||||
|
install_nvim $tag
|
||||||
|
else
|
||||||
|
install_vim $tag
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
install $@
|
63
.ci/install/windows.ps1
Normal file
63
.ci/install/windows.ps1
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
function install_vim($ver)
|
||||||
|
{
|
||||||
|
if ($ver -eq "nightly")
|
||||||
|
{
|
||||||
|
$url = 'https://github.com/vim/vim-win32-installer/releases/download/v8.2.3361/gvim_8.2.3361_x86.zip'
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$ver = $ver -replace "^v", ""
|
||||||
|
$url = 'https://github.com/vim/vim-win32-installer/releases/download/v' + $ver + '/gvim_' + $ver + '_x86.zip'
|
||||||
|
}
|
||||||
|
$Env:VIM_BIN = $Env:DEPS + '\vim\vim82\vim.exe'
|
||||||
|
$zip = $Env:DEPS + '\vim.zip'
|
||||||
|
echo "download: $url"
|
||||||
|
echo "path: $zip"
|
||||||
|
(New-Object Net.WebClient).DownloadFile($url, $zip)
|
||||||
|
[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') > $null
|
||||||
|
[System.IO.Compression.ZipFile]::ExtractToDirectory($zip, $Env:DEPS)
|
||||||
|
}
|
||||||
|
|
||||||
|
function install_nvim($ver)
|
||||||
|
{
|
||||||
|
if ($ver -eq "nightly")
|
||||||
|
{
|
||||||
|
$url = 'https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.zip'
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$url = 'https://github.com/neovim/neovim/releases/download/' + $ver + '/nvim-win64.zip'
|
||||||
|
}
|
||||||
|
$zip = $Env:DEPS + '\nvim.zip'
|
||||||
|
(New-Object Net.WebClient).DownloadFile($url, $zip)
|
||||||
|
[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') > $null
|
||||||
|
[System.IO.Compression.ZipFile]::ExtractToDirectory($zip, $Env:DEPS)
|
||||||
|
if (Test-Path '$DEPS\Neovim\bin\nvim.exe') {
|
||||||
|
$Env:VIM_BIN = $Env:DEPS + '\Neovim\bin\nvim.exe'
|
||||||
|
}else{
|
||||||
|
$Env:VIM_BIN = $Env:DEPS + '\nvim-win64\bin\nvim.exe'
|
||||||
|
|
||||||
|
}
|
||||||
|
echo "VIM_BIN is: $Env:VIM_BIN"
|
||||||
|
}
|
||||||
|
|
||||||
|
function download_lua()
|
||||||
|
{
|
||||||
|
$url = 'https://github.com/wsdjeg/vim-galore-zh_cn/releases/download/downdows/lua53.zip'
|
||||||
|
$zip = $Env:DEPS + '\lua53.zip'
|
||||||
|
(New-Object Net.WebClient).DownloadFile($url, $zip)
|
||||||
|
[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') > $null
|
||||||
|
[System.IO.Compression.ZipFile]::ExtractToDirectory($zip, $Env:DEPS + '\vim\vim82')
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($Env:VIM_BIN.StartsWith("nvim"))
|
||||||
|
{
|
||||||
|
mkdir $Env:DEPS
|
||||||
|
install_nvim $Env:VIM_TAG
|
||||||
|
}
|
||||||
|
elseif ($Env:VIM_BIN.StartsWith("vim"))
|
||||||
|
{
|
||||||
|
mkdir $Env:DEPS
|
||||||
|
install_vim $Env:VIM_TAG
|
||||||
|
download_lua
|
||||||
|
}
|
10
.ci/push_baidu.sh
Normal file
10
.ci/push_baidu.sh
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
date_en=`cat docs/_site/sitemap.xml`
|
||||||
|
date_cn=`cat docs/_site/cn/sitemap.xml`
|
||||||
|
echo $date_en | grep -oP 'https://spacevim[^\<]*' > urls_en.txt
|
||||||
|
echo $date_cn | grep -oP 'https://spacevim[^\<]*' > urls_cn.txt
|
||||||
|
|
||||||
|
|
||||||
|
curl -H 'Content-Type:text/plain' --data-binary @urls_en.txt "http://data.zz.baidu.com/urls?site=spacevim.org&token=4MYgdYW7QHIaM01P"
|
||||||
|
curl -H 'Content-Type:text/plain' --data-binary @urls_cn.txt "http://data.zz.baidu.com/urls?site=spacevim.org&token=4MYgdYW7QHIaM01P"
|
89
.ci/script.sh
Normal file
89
.ci/script.sh
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
export TRAVIS_PULL_REQUEST=${TRAVIS_PULL_REQUEST}
|
||||||
|
if [ "$LINT" = "vimlint" ]; then
|
||||||
|
if [[ -f build_log ]]; then
|
||||||
|
rm build_log
|
||||||
|
fi
|
||||||
|
for file in $(git ls-files | grep SpaceVim.*.vim);
|
||||||
|
do
|
||||||
|
/tmp/vimlint/bin/vimlint.sh -l /tmp/vimlint -p /tmp/vimlparser $file >> build_log 2>&1;
|
||||||
|
done
|
||||||
|
if [[ -s build_log ]]; then
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
elif [ "$LINT" = "vimlint-errors" ]; then
|
||||||
|
if [[ -f build_log ]]; then
|
||||||
|
rm build_log
|
||||||
|
fi
|
||||||
|
for file in $(git ls-files | grep SpaceVim.*.vim);
|
||||||
|
do
|
||||||
|
/tmp/vimlint/bin/vimlint.sh -E -l /tmp/vimlint -p /tmp/vimlparser $file >> build_log 2>&1;
|
||||||
|
done
|
||||||
|
if [[ -s build_log ]]; then
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
elif [ "$LINT" = "file-encoding" ]; then
|
||||||
|
if [[ -f build_log ]]; then
|
||||||
|
rm build_log
|
||||||
|
fi
|
||||||
|
for file in $(git diff --name-only HEAD master);
|
||||||
|
do
|
||||||
|
# get the encoding of a file, based on:
|
||||||
|
# https://superuser.com/a/351658/618193
|
||||||
|
# It should be -b instead of -bi
|
||||||
|
encoding=`file -b --mime-encoding $file`
|
||||||
|
if [ $encoding != "utf-8" ] && [ $encoding != "us-ascii" ];
|
||||||
|
then
|
||||||
|
echo $file " " $encoding >> build_log
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ -s build_log ]]; then
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
elif [ "$LINT" = "vint" ]; then
|
||||||
|
if [[ -f build_log ]]; then
|
||||||
|
rm build_log
|
||||||
|
fi
|
||||||
|
for file in $(git ls-files | grep SpaceVim.*.vim);
|
||||||
|
do
|
||||||
|
vint --enable-neovim $file >> build_log 2>&1;
|
||||||
|
done
|
||||||
|
if [[ -s build_log ]]; then
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
elif [ "$LINT" = "vint-errors" ]; then
|
||||||
|
if [[ -f build_log ]]; then
|
||||||
|
rm build_log
|
||||||
|
fi
|
||||||
|
for file in $(git ls-files | grep SpaceVim.*.vim);
|
||||||
|
do
|
||||||
|
vint --enable-neovim --error $file >> build_log 2>&1;
|
||||||
|
done
|
||||||
|
if [[ -s build_log ]]; then
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
elif [ "$LINT" = "vader" ]; then
|
||||||
|
if [ "$VIM_BIN" = "nvim" ]; then
|
||||||
|
export PATH="${DEPS}/_neovim/${VIM_TAG}/bin:${PATH}"
|
||||||
|
export VIM="${DEPS}/_neovim/${VIM_TAG}/share/nvim/runtime"
|
||||||
|
else
|
||||||
|
export PATH="${DEPS}/_vim/${VIM_TAG}/bin:${PATH}"
|
||||||
|
export VIM="${DEPS}/_vim/${VIM_TAG}/share/vim"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "\$PATH: \"${PATH}\""
|
||||||
|
echo "\$VIM: \"${VIM}\""
|
||||||
|
echo "================= ${VIM_BIN} version ======================"
|
||||||
|
$VIM_BIN --version
|
||||||
|
pip install covimerage
|
||||||
|
pip install codecov
|
||||||
|
python -c 'import os,sys,fcntl; flags = fcntl.fcntl(sys.stdout, fcntl.F_GETFL); fcntl.fcntl(sys.stdout, fcntl.F_SETFL, flags&~os.O_NONBLOCK);'
|
||||||
|
make test_coverage
|
||||||
|
covimerage -vv xml --omit 'build/*'
|
||||||
|
codecov -X search gcov pycov -f coverage.xml
|
||||||
|
elif [ "$LINT" = "jekyll" ]; then
|
||||||
|
.ci/build-production
|
||||||
|
fi
|
||||||
|
set +x
|
46
.ci/update_mirror.sh
Normal file
46
.ci/update_mirror.sh
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
usage () {
|
||||||
|
echo ".ci/update_remote.sh [option] [target]"
|
||||||
|
}
|
||||||
|
|
||||||
|
push_gitee()
|
||||||
|
{
|
||||||
|
git remote add gitee https://SpaceVimBot:${BOTSECRET}@gitee.com/spacevim/SpaceVim.git
|
||||||
|
git push gitee master -f
|
||||||
|
}
|
||||||
|
|
||||||
|
push_gitlab()
|
||||||
|
{
|
||||||
|
git remote add gitlab https://SpaceVimBot:${BOTSECRET}@gitlab.com/SpaceVim/SpaceVim.git
|
||||||
|
git push gitlab master -f
|
||||||
|
}
|
||||||
|
|
||||||
|
push_coding()
|
||||||
|
{
|
||||||
|
git remote add coding https://spacevim%40outlook.com:${CODINGBOTSECRET}@e.coding.net/spacevim/SpaceVim.git
|
||||||
|
git push coding master -f
|
||||||
|
}
|
||||||
|
|
||||||
|
main () {
|
||||||
|
case $1 in
|
||||||
|
--help|-h)
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
gitee)
|
||||||
|
push_gitee
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
gitlab)
|
||||||
|
push_gitlab
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
coding)
|
||||||
|
push_coding
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
main $@
|
22
.github/CODEOWNERS
vendored
Normal file
22
.github/CODEOWNERS
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# These owners will be the default owners for everything in
|
||||||
|
# the repo. Unless a later match takes precedence,
|
||||||
|
# @wsdjeg will be requested for review when someone opens a
|
||||||
|
# pull request.
|
||||||
|
# Just watching this repo, disable duplicate message
|
||||||
|
# * @wsdjeg
|
||||||
|
|
||||||
|
# lang#julia layer
|
||||||
|
autoload/SpaceVim/layers/lang/julia.vim @jingpengw
|
||||||
|
docs/layers/lang/julia.md @jingpengw
|
||||||
|
docs/cn/layers/lang/julia.md @jingpengw
|
||||||
|
|
||||||
|
# lang#javascript layer
|
||||||
|
autoload/SpaceVim/layers/lang/javascript.vim @zhujinxuan @S1ngS1ng @chemzqm
|
||||||
|
docs/layers/lang/javascript.md @zhujinxuan @S1ngS1ng @chemzqm
|
||||||
|
docs/cn/layers/lang/javascript.md @zhujinxuan @S1ngS1ng @chemzqm
|
||||||
|
|
||||||
|
|
||||||
|
# lang#erlang layer
|
||||||
|
autoload/SpaceVim/layers/lang/erlang.vim @suzuiyuegjy
|
||||||
|
docs/layers/lang/erlang.md @suzuiyuegjy
|
||||||
|
docs/cn/layers/lang/erlang.md @suzuiyuegjy
|
1
.github/FUNDING.yml
vendored
Normal file
1
.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
custom: https://spacevim.org/sponsors/
|
29
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
29
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
name: Bug Report
|
||||||
|
description: File a bug report
|
||||||
|
labels: ["bug"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to fill out this bug report!
|
||||||
|
- type: textarea
|
||||||
|
id: expected-behavior
|
||||||
|
attributes:
|
||||||
|
label: Expected behavior.
|
||||||
|
description: What is the expected behavior?
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: reproduce-step
|
||||||
|
attributes:
|
||||||
|
label: The reproduce ways from Vim starting.
|
||||||
|
description: The reproduce ways are needed to debug.
|
||||||
|
placeholder: Tell us what you see!
|
||||||
|
value: "A bug happened!"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: SPDebugInfo
|
||||||
|
attributes:
|
||||||
|
label: Output of the `:SPDebugInfo!`
|
||||||
|
description: Please copy and paste the result of :SPDebugInfo! command.
|
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: Community Support
|
||||||
|
url: https://app.element.io/#/room/#spacevim:matrix.org
|
||||||
|
about: Please ask and answer questions here.
|
28
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
28
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
name: Feature Request
|
||||||
|
description: request an new feature
|
||||||
|
labels: ["feature request"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to fill out this feature request!
|
||||||
|
- type: textarea
|
||||||
|
id: feature-description
|
||||||
|
attributes:
|
||||||
|
label: Is your feature request related to a problem? Please describe..
|
||||||
|
description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: feature-solution
|
||||||
|
attributes:
|
||||||
|
label: Describe the solution you'd like.
|
||||||
|
description: A clear and concise description of what you want to happen.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: Additional context
|
||||||
|
description: Add any other context or screenshots about the feature request here.
|
||||||
|
|
13
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
13
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
### PR Prelude
|
||||||
|
|
||||||
|
Thank you for working on SpaceVim! :)
|
||||||
|
|
||||||
|
Please complete these steps and check these boxes before filing your PR:
|
||||||
|
|
||||||
|
- [ ] I have read and understood SpaceVim's [CONTRIBUTING](https://github.com/SpaceVim/SpaceVim/blob/master/CONTRIBUTING.md) document.
|
||||||
|
- [ ] I have read and understood SpaceVim's [CODE_OF_CONDUCT](https://github.com/SpaceVim/SpaceVim/blob/master/CODE_OF_CONDUCT.md) document.
|
||||||
|
- [ ] I understand my PR may be closed if it becomes obvious I didn't actually perform all of these steps.
|
||||||
|
|
||||||
|
### Why this change is necessary and useful?
|
||||||
|
|
||||||
|
[Please explain **in detail** why the changes in this PR are needed.]
|
15
.github/SUPPORT.md
vendored
Normal file
15
.github/SUPPORT.md
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
SpaceVim is an open source project.
|
||||||
|
Currently, this project is maintained by [@wsdjeg](https://github.com/wsdjeg),
|
||||||
|
If you use SpaceVim in your daily work and feel that it has made your life easier,
|
||||||
|
please consider supporting SpaceVim by:
|
||||||
|
|
||||||
|
- [Become a backer on opencollective](https://opencollective.com/spacevim)
|
||||||
|
- [Become a backer on Bountysource](https://salt.bountysource.com/teams/spacevim)
|
||||||
|
|
||||||
|
Also, you can buy me a coffee via ko-fi.com or wechat:
|
||||||
|
|
||||||
|
<a href='https://ko-fi.com/SpaceVim' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://az743702.vo.msecnd.net/cdn/kofi4.png?v=f' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
|
||||||
|
|
||||||
|
| wechat | alipay |
|
||||||
|
| ------------------------------------------------------------------------ | -------------------------------------------------------------------------- |
|
||||||
|
| <img src="https://spacevim.org/img/weixin.png" height="150" width="150"> | <img src="https://spacevim.org/img/zhifubao.png" height="150" width="150"> |
|
18
.github/workflows/async.yml
vendored
Normal file
18
.github/workflows/async.yml
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: Detach Plugins
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
detachPlugin: ["flygrep", "dein-ui", "vim-todo", "iedit", "scrollbar.vim", "vim-chat", "vim-cheat", "xmake.vim", "github.vim", "JavaUnit.vim", "git.vim"]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Detach ${{ matrix.detachPlugin }}
|
||||||
|
env:
|
||||||
|
BOTSECRET: ${{ secrets.BOTSECRET_GITHUB }}
|
||||||
|
run: .ci/detach_plugin.sh ${{ matrix.detachPlugin }}
|
201
.github/workflows/check.yml
vendored
Normal file
201
.github/workflows/check.yml
vendored
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
name: test
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Linux:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v7.4.052
|
||||||
|
disable_es: true
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v7.4.629
|
||||||
|
disable_es: true
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v7.4.1689
|
||||||
|
disable_es: true
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.0.0027
|
||||||
|
disable_es: true
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.0.0183
|
||||||
|
disable_es: true
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.0.0184
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.0.1453
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.1.2269
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.2.2434
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.2.3995
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: nightly
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: nightly
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.9.1
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.9.0
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.8.3
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.8.2
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.8.1
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.8.0
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.7.2
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.7.0
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.6.1
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.6.0
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.5.1
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.5.0
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.4.4
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.4.3
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.4.2
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.4.0
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.3.8
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
env:
|
||||||
|
VIM_BIN: ${{ matrix.vimbin }}
|
||||||
|
VIM_TAG: ${{ matrix.vimtag }}
|
||||||
|
DEPS: /home/runner/work/SpaceVim/deps
|
||||||
|
DISABLE_ES: ${{ matrix.disable_es }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install ninja-build gettext libtool libtool-bin autoconf automake cmake g++ pkg-config unzip curl lua5.2 liblua5.2-dev
|
||||||
|
- name: Install ${{ matrix.vimbin }} ${{ matrix.vimtag }}
|
||||||
|
run: |
|
||||||
|
.ci/install/linux.sh $VIM_BIN $VIM_TAG
|
||||||
|
- name: Run test
|
||||||
|
run: |
|
||||||
|
if [ "$VIM_BIN" = "nvim" ]; then
|
||||||
|
export PATH="${DEPS}/_neovim/${VIM_TAG}/bin:${PATH}"
|
||||||
|
export VIM="${DEPS}/_neovim/${VIM_TAG}/share/nvim/runtime"
|
||||||
|
export VIM_Es="--headless"
|
||||||
|
else
|
||||||
|
export PATH="${DEPS}/_vim/${VIM_TAG}/bin:${PATH}"
|
||||||
|
export VIM="${DEPS}/_vim/${VIM_TAG}/share/vim"
|
||||||
|
if [ "$DISABLE_ES" = "true" ]; then
|
||||||
|
export VIM_Es=""
|
||||||
|
else
|
||||||
|
export VIM_Es="-Es"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
export PATH="/home/runner/.local/bin:${PATH}"
|
||||||
|
echo "\$PATH: \"${PATH}\""
|
||||||
|
echo "\$VIM: \"${VIM}\""
|
||||||
|
echo "================= ${VIM_BIN} version ======================"
|
||||||
|
$VIM_BIN --version
|
||||||
|
pip3 install --upgrade "pip < 21.0"
|
||||||
|
pip3 install covimerage virtualenv codecov
|
||||||
|
make test_coverage
|
||||||
|
covimerage -vv xml --omit 'build/*' --omit 'bundle/*'
|
||||||
|
codecov -X search gcov pycov -f coverage.xml
|
||||||
|
Windows:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: nightly
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v7.4.1185
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v7.4.1689
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.0.0027
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.0.1453
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.1.2269
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.2.2434
|
||||||
|
- vimbin: vim
|
||||||
|
vimtag: v8.2.3995
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: nightly
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.9.1
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.9.0
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.8.3
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.8.2
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.8.1
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.8.0
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.7.2
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.7.0
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.6.1
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.6.0
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.5.1
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.5.0
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.4.4
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.4.3
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.4.2
|
||||||
|
- vimbin: nvim
|
||||||
|
vimtag: v0.3.8
|
||||||
|
runs-on: windows-latest
|
||||||
|
env:
|
||||||
|
VIM_BIN: ${{ matrix.vimbin }}
|
||||||
|
VIM_TAG: ${{ matrix.vimtag }}
|
||||||
|
DEPS: C:\deps
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Install ${{ matrix.vimbin }} ${{ matrix.vimtag }}
|
||||||
|
run: |
|
||||||
|
.ci/install/windows.ps1 $VIM_BIN $VIM_TAG
|
||||||
|
- name: Run test
|
||||||
|
run: |
|
||||||
|
if ($Env:VIM_BIN.StartsWith("nvim"))
|
||||||
|
{
|
||||||
|
if (Test-Path $env:DEPS\Neovim\bin ) {
|
||||||
|
$Env:PATH = $Env:DEPS + '\Neovim\bin\;' + $Env:PATH
|
||||||
|
$Env:VIM = $Env:DEPS + '\Neovim\share\nvim'
|
||||||
|
}else{
|
||||||
|
$Env:PATH = $Env:DEPS + '\nvim-win64\bin\;' + $Env:PATH
|
||||||
|
$Env:VIM = $Env:DEPS + '\nvim-win64\share\nvim'
|
||||||
|
}
|
||||||
|
$Env:VIM_Es = '--headless'
|
||||||
|
}
|
||||||
|
elseif ($Env:VIM_BIN.StartsWith("vim"))
|
||||||
|
{
|
||||||
|
$Env:PATH = $Env:DEPS + '\vim\vim82\;' + $Env:PATH
|
||||||
|
$Env:VIM = $Env:DEPS + '\vim'
|
||||||
|
}
|
||||||
|
echo $Env:PATH
|
||||||
|
echo $Env:VIM
|
||||||
|
make test
|
34
.github/workflows/docker.yml
vendored
Normal file
34
.github/workflows/docker.yml
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
name: docker
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'master'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
docker:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
-
|
||||||
|
name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
-
|
||||||
|
name: Login to DockerHub
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
-
|
||||||
|
name: Build and push
|
||||||
|
uses: docker/build-push-action@v2
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: docker/Dockerfile
|
||||||
|
push: true
|
||||||
|
tags: spacevim/spacevim:latest
|
13
.github/workflows/lint.yml
vendored
Normal file
13
.github/workflows/lint.yml
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
name: reviewdog
|
||||||
|
on: [pull_request]
|
||||||
|
jobs:
|
||||||
|
vint:
|
||||||
|
name: runner / vint
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: vint
|
||||||
|
uses: reviewdog/action-vint@v1
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.github_token }}
|
||||||
|
reporter: github-pr-review # Change reporter.
|
23
.github/workflows/remote.yml
vendored
Normal file
23
.github/workflows/remote.yml
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
name: mirror
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
mirror: ["gitee", "coding", "gitlab"]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Push to ${{ matrix.mirror }}
|
||||||
|
env:
|
||||||
|
BOTSECRET: ${{ secrets.BOTSECRET }}
|
||||||
|
BOTSECRET_GITHUB: ${{ secrets.BOTSECRET_GITHUB }}
|
||||||
|
CODINGBOTSECRET: ${{ secrets.CODINGBOTSECRET }}
|
||||||
|
run: .ci/update_mirror.sh ${{ matrix.mirror }}
|
||||||
|
|
40
README.md
40
README.md
@ -1,25 +1,29 @@
|
|||||||
# SpaceVim
|
<h1 align="center">
|
||||||
|
<a href="https://github.com/SpaceVim/SpaceVim#readme">
|
||||||
|
<img src="https://spacevim.org/logo.png" width="440" alt="SpaceVim"/>
|
||||||
|
</a>
|
||||||
|
</h1>
|
||||||
|
|
||||||
[![twitter](https://img.spacevim.org/twitter.svg)](https://twitter.com/SpaceVim)
|
[Quick Start Guide](https://spacevim.org/quick-start-guide/) \|
|
||||||
|
[FAQ](https://spacevim.org/faq/)
|
||||||
|
|
||||||
SpaceVim is a modular configuration of Vim and Neovim.
|
[![build](https://img.shields.io/github/actions/workflow/status/SpaceVim/SpaceVim/check.yml?branch=master)](https://github.com/SpaceVim/SpaceVim/actions/workflows/check.yml?query=branch%3Amaster)
|
||||||
It's inspired by spacemacs. It manages collections of plugins in layers,
|
[![Codecov coverage](https://img.shields.io/codecov/c/github/SpaceVim/SpaceVim.svg)](https://codecov.io/gh/SpaceVim/SpaceVim)
|
||||||
which help to collect related packages together to provide features.
|
[![GPLv3 License](https://img.shields.io/badge/license-GPLv3-blue.svg)](https://github.com/SpaceVim/SpaceVim/blob/master/LICENSE)
|
||||||
This approach helps keep the configuration organized and reduces
|
[![Docker Pulls](https://img.shields.io/docker/pulls/spacevim/spacevim)](https://hub.docker.com/r/spacevim/spacevim)
|
||||||
overhead for the user by keeping them from having to think about
|
|
||||||
what packages to install.
|
|
||||||
|
|
||||||
- [Quick start guide](https://spacevim.org/quick-start-guide/): installation, configuration, and learning resources for SpaceVim
|
SpaceVim is a (neo)vim configuration inspired by spacemacs.
|
||||||
- [Documentation](https://spacevim.org/documentation/): the primary official documentation of SpaceVim
|
|
||||||
- [Available layers](https://spacevim.org/layers/): a list of available layers which can be used in SpaceVim
|
|
||||||
|
|
||||||
## Community
|
## Features
|
||||||
|
|
||||||
- English: [https://spacevim.org/community/](https://spacevim.org/community/)
|
- **Modularization:** plugins and functions are organized in [layers](https://spacevim.org/layers/).
|
||||||
- Chinese: [https://spacevim.org/cn/community/](https://spacevim.org/cn/community/)
|
- **Compatible api:** a series of [compatible APIs](https://spacevim.org/api/) for Vim/Neovim.
|
||||||
|
- **Great documentation:** online [documentation](https://spacevim.org/documentation/) and `:h SpaceVim`.
|
||||||
|
- **Better experience:** [Use lua to implement core plugins](https://spacevim.org/use-lua-to-reimplement-core-plugins/)
|
||||||
|
- **Beautiful UI:** you'll love the awesome UI and its useful features.
|
||||||
|
- **Mnemonic key bindings:** key binding guide will be displayed automatically
|
||||||
|
- **Fast boot time:** Lazy-load 90% of plugins with [dein.vim](https://github.com/Shougo/dein.vim)
|
||||||
|
- **Lower the risk of RSI:** by heavily using the space bar instead of modifiers.
|
||||||
|
- **Consistent experience:** consistent experience between terminal and gui
|
||||||
|
|
||||||
## Development
|
|
||||||
|
|
||||||
- English: [https://spacevim.org/development/](https://spacevim.org/development/)
|
|
||||||
- Chinese: [https://spacevim.org/cn/development/](https://spacevim.org/cn/development/)
|
|
||||||
<!-- vim:set nowrap: -->
|
<!-- vim:set nowrap: -->
|
||||||
|
41
docker/Dockerfile
Normal file
41
docker/Dockerfile
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
FROM ubuntu:latest
|
||||||
|
|
||||||
|
MAINTAINER Shidong Wang <wsdjeg@outlook.com>
|
||||||
|
|
||||||
|
RUN apt update && \
|
||||||
|
apt install -y \
|
||||||
|
neovim \
|
||||||
|
curl \
|
||||||
|
python3-dev \
|
||||||
|
python3-pynvim \
|
||||||
|
lua5.3 \
|
||||||
|
git \
|
||||||
|
universal-ctags \
|
||||||
|
silversearcher-ag && \
|
||||||
|
apt clean
|
||||||
|
|
||||||
|
ENV HOME /home/spacevim
|
||||||
|
|
||||||
|
RUN groupdel users \
|
||||||
|
&& groupadd -r spacevim \
|
||||||
|
&& useradd --create-home --home-dir $HOME \
|
||||||
|
-r -g spacevim \
|
||||||
|
spacevim
|
||||||
|
|
||||||
|
USER spacevim
|
||||||
|
|
||||||
|
WORKDIR $HOME
|
||||||
|
|
||||||
|
ENV PYTHON3_HOST_PROG "/usr/bin/python3"
|
||||||
|
|
||||||
|
RUN mkdir -p $HOME/.config $HOME/.SpaceVim.d
|
||||||
|
|
||||||
|
RUN curl https://raw.githubusercontent.com/SpaceVim/SpaceVim/master/docker/init.toml > $HOME/.SpaceVim.d/init.toml
|
||||||
|
|
||||||
|
RUN curl -sLf https://spacevim.org/install.sh | bash
|
||||||
|
|
||||||
|
RUN nvim --headless +'call dein#install#_update([], "install", v:false)' +qall
|
||||||
|
|
||||||
|
RUN rm $HOME/.SpaceVim.d/init.toml
|
||||||
|
|
||||||
|
ENTRYPOINT nvim
|
13
docker/Makefile
Normal file
13
docker/Makefile
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
HAVE_DOCKER := $(shell which docker 2>/dev/null)
|
||||||
|
HAVE_PODMAN := $(shell which podman 2>/dev/null)
|
||||||
|
|
||||||
|
build:
|
||||||
|
ifdef HAVE_DOCKER
|
||||||
|
docker build -t nvim -f Dockerfile .
|
||||||
|
else
|
||||||
|
ifdef HAVE_PODMAN
|
||||||
|
podman build -t nvim -f Dockerfile .
|
||||||
|
else
|
||||||
|
$(error "No docker or podman in $(PATH). Check if one was installed.")
|
||||||
|
endif
|
||||||
|
endif
|
43
docker/README.md
Normal file
43
docker/README.md
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
## SpaceVim in DockerHub
|
||||||
|
|
||||||
|
![Docker Automated build](https://img.shields.io/docker/automated/spacevim/spacevim)
|
||||||
|
![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/spacevim/spacevim?sort=date)
|
||||||
|
[![Docker Pulls](https://img.shields.io/docker/pulls/spacevim/spacevim)](https://hub.docker.com/r/spacevim/spacevim)
|
||||||
|
|
||||||
|
This Dockerfile builds neovim `HEAD` and installs the latest available version of SpaceVim. You might want to use this for several reasons:
|
||||||
|
|
||||||
|
- Have a consistent version of Neovim and SpaceVim as long as the machine supports Docker.
|
||||||
|
- Try SpaceVim without modifying your current Vim/Neovim configuration.
|
||||||
|
- Try the latest Neovim with SpaceVim.
|
||||||
|
- Try SpaceVim with a newer version of Python.
|
||||||
|
- Debug SpaceVim configurations. e.g. when posting a bug report if you can reproduce it in this container then there's a higher chance that it is a true bug and not just an issue with your machine.
|
||||||
|
|
||||||
|
### FAQ
|
||||||
|
|
||||||
|
Isn't Docker stateless? Won't I have to reinstall all plugins each time I launch the container?
|
||||||
|
|
||||||
|
- During the build we call `dein#install()` so all plugins are installed and frozen. Your custom configurations can be added as an additional build step using the Docker `COPY` command.
|
||||||
|
|
||||||
|
### Build
|
||||||
|
|
||||||
|
You can build using the supplied `Makefile`:
|
||||||
|
|
||||||
|
make build
|
||||||
|
|
||||||
|
or call the command manually using:
|
||||||
|
|
||||||
|
docker build -t nvim -f Dockerfile .
|
||||||
|
|
||||||
|
### Run
|
||||||
|
|
||||||
|
You can run the container using:
|
||||||
|
|
||||||
|
docker run -it nvim
|
||||||
|
|
||||||
|
but that isn't terribly useful since changes made inside the container won't be visible outside. More useful is mounting the current working directory inside the container:
|
||||||
|
|
||||||
|
docker run -it -v $(pwd):/home/spacevim/src nvim
|
||||||
|
|
||||||
|
Even better is an alias `dnvim` which will do this automatically:
|
||||||
|
|
||||||
|
alias dnvim='docker run -it -v $(pwd):/home/spacevim/src nvim'
|
232
docker/init.toml
Normal file
232
docker/init.toml
Normal file
@ -0,0 +1,232 @@
|
|||||||
|
#=============================================================================
|
||||||
|
# init.toml --- Docker config temp file
|
||||||
|
# Copyright (c) 2016-2023 Wang Shidong & Contributors
|
||||||
|
# Author: Wang Shidong < wsdjeg@outlook.com >
|
||||||
|
# URL: https://spacevim.org
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
# SpaceVim options {{{
|
||||||
|
[options]
|
||||||
|
# vimcompatible = true
|
||||||
|
# enable_language_specific_leader = false
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
## -- SpaceVim layer list start
|
||||||
|
[[layers]]
|
||||||
|
name = "VersionControl"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "autocomplete"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "chat"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "checkers"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "chinese"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "colorscheme"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "core#banner"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "core#statusline"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "core#tabline"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "core"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "cscope"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "ctrlp"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "debug"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "default"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "denite"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "edit"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "floobits"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "format"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "fzf"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "git"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "github"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "japanese"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#WebAssembly"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#agda"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#asciidoc"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#autohotkey"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#c"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#clojure"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#csharp"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#dart"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#dockerfile"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#elixir"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#elm"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#erlang"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#extra"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#fsharp"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#go"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#haskell"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#html"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#java"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#javascript"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#julia"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#kotlin"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#latex"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#lisp"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#lua"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#markdown"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#nim"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#ocaml"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#perl"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#php"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#plantuml"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#puppet"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#purescript"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#python"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#ruby"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#rust"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#scala"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#sh"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#swift"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#typescript"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#vim"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lang#vue"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "lsp"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "leaderf"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "shell"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "sudo"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "tags"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "tmux"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "tools#dash"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "tools"
|
||||||
|
|
||||||
|
[[layers]]
|
||||||
|
name = "ui"
|
||||||
|
|
||||||
|
## -- SpaceVim layer list end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user