diff --git a/.travis.yml b/.travis.yml
index 22aaa8cae..9a7715b1a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -34,6 +34,7 @@ install:
elif [ "${LINT#vint}" != "$LINT" ]; then
virtualenv /tmp/vint && source /tmp/vint/bin/activate && pip install vim-vint
elif [ "${LINT#vader}" != "$LINT" ]; then
+ git clone --depth=1 https://github.com/Shougo/dein.vim.git ~/.cache/vimfiles/repos/github.com/Shougo/dein.vim
C_OPTS="--prefix=$DEPS --with-features=huge --disable-gui --enable-pythoninterp"
(git clone --depth 1 https://github.com/vim/vim /tmp/vim &&
cd /tmp/vim &&
@@ -44,12 +45,12 @@ script:
- |
set -ex
if [ "$LINT" = "vimlint" ]; then
- for file in $(find . -name "*.vim");
+ for file in $(git diff --name-only HEAD dev | grep .vim$);
do
sh /tmp/vimlint/bin/vimlint.sh -l /tmp/vimlint -p /tmp/vimlparser $file;
done
elif [ "$LINT" = "vimlint-errors" ]; then
- for file in $(find . -name "*.vim");
+ for file in $(git diff --name-only HEAD dev | grep .vim$);
do
sh /tmp/vimlint/bin/vimlint.sh -E -l /tmp/vimlint -p /tmp/vimlparser $file;
done
@@ -58,5 +59,9 @@ script:
elif [ "$LINT" = "vint-errors" ]; then
vint --error .
elif [ "$LINT" = "vader" ]; then
- make test
+ pip install --no-cache-dir https://github.com/Vimjas/covimerage/archive/develop.zip
+ make test_coverage
+ covimerage -vv xml --omit 'build/*'
+ pip install codecov
+ codecov -X search gcov pycov -f coverage.xml
fi
diff --git a/Makefile b/Makefile
index 30e38f308..4e0e2f81b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,16 @@
test: build/vader | build
vim -Nu test/vimrc -c 'Vader! test/**'
+COVIMERAGE=$(shell command -v ccovimerage 2>/dev/null || echo build/covimerage/bin/covimerage)
+
+test_coverage: $(COVIMERAGE) build/vader | build
+ $(COVIMERAGE) run vim -Nu test/vimrc -c 'Vader! test/**'
+
+build/covimerage:
+ virtualenv $@
+build/covimerage/bin/covimerage: | build/covimerage
+ . build/covimerage/bin/activate && pip install covimerage
+
build/vader:
git clone --depth 1 https://github.com/junegunn/vader.vim.git $@
diff --git a/README.md b/README.md
index 5c1a3e382..f1e5c10ea 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,8 @@
[中文文档](http://spacevim.org/README_zh_cn/)
[![Build Status](https://travis-ci.org/SpaceVim/SpaceVim.svg?branch=dev)](https://travis-ci.org/SpaceVim/SpaceVim)
-[![codecov](https://codecov.io/gh/SpaceVim/SpaceVim/branch/master/graph/badge.svg)](https://codecov.io/gh/SpaceVim/SpaceVim)
+[![Build status](https://ci.appveyor.com/api/projects/status/eh3t5oph70abp665/branch/dev?svg=true)](https://ci.appveyor.com/project/wsdjeg/spacevim/branch/dev)
+[![codecov](https://codecov.io/gh/SpaceVim/SpaceVim/branch/dev/graph/badge.svg)](https://codecov.io/gh/SpaceVim/SpaceVim/branch/dev)
![Version](https://img.shields.io/badge/version-0.5.0--dev-FF00CC.svg)
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Doc](https://img.shields.io/badge/doc-%3Ah%20SpaceVim-orange.svg)](doc/SpaceVim.txt)
@@ -43,6 +44,18 @@ for more info about the install script, please check:
curl -sLf https://spacevim.org/install.sh | bash -s -- -h
```
+### Project layout
+
+```
+├─ autoload/SpaceVim/api/ SpaceVim APIs
+├─ autoload/SpaceVim/layers/ SpaceVim layers
+├─ autoload/SpaceVim/plugins/ SpaceVim plugins
+├─ autoload/SpaceVim/mapping/ SpaceVim mapping guide
+├─ doc/SpaceVim.txt SpaceVim help
+├─ docs/ website of SpaceVim
+└─ test/ tests
+```
+
### Features
- **Great documentation:** access documentation in Vim with :h SpaceVim.
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 000000000..81e4fb215
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,9 @@
+version: 1.0.{build}
+pull_requests:
+ do_not_increment_build_number: true
+skip_tags: true
+clone_depth: 1
+test_script:
+- ps: make test
+build: off
+deploy: off
diff --git a/codecov.yml b/codecov.yml
new file mode 100644
index 000000000..d05a32202
--- /dev/null
+++ b/codecov.yml
@@ -0,0 +1,9 @@
+coverage:
+ range: 50..70
+ round: down
+ precision: 2
+comment:
+ layout: "header, diff, changes, uncovered"
+ behavior: default # update if exists else create new
+codecov:
+ branch: dev
diff --git a/config/main.vim b/config/main.vim
index 947589258..ad14c4f6c 100644
--- a/config/main.vim
+++ b/config/main.vim
@@ -64,5 +64,4 @@ endif
call zvim#util#source_rc('commands.vim')
filetype plugin indent on
syntax on
-
" vim:set et sw=2 cc=80:
diff --git a/test/init.vader b/test/init.vader
new file mode 100644
index 000000000..e189b2340
--- /dev/null
+++ b/test/init.vader
@@ -0,0 +1,3 @@
+Execute ( SpaceVim api: vim#buffer open ):
+ source init.vim
+ AssertEqual fnamemodify(g:Config_Main_Home, ':.'), 'config'
diff --git a/test/test.vader b/test/test.vader
deleted file mode 100644
index 740bcfa67..000000000
--- a/test/test.vader
+++ /dev/null
@@ -1,21 +0,0 @@
-Execute (Clear search history):
- for _ in range(&history)
- call histdel('/', -1)
- endfor
-
-Given (Search and destroy):
- I'm a street walking cheetah with a heart full of napalm
- I'm a runaway son of the nuclear A-bomb
- I'm a world's forgotten boy
- The one who searches and destroys
-
-Do (Searches):
- /street\
- /walking\
- /cheetah\
- /runaway\
- /search\
-
-Execute (Assertions):
- Log string(map(range(1, &history), 'histget("/", - v:val)'))
- AssertEqual 'search', histget('/', -1)