-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
68 lines (59 loc) · 1.39 KB
/
Rakefile
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
# Tasks for setting up cross-platform Vim environment
require "fileutils"
def windows?
RUBY_PLATFORM =~ /mswin32|cygwin|mingw|bccwin/
end
task :default => :help
task :help do
end
task :init do
if windows?
# TODO: THIS DOESN'T WORK.
#Dir.chdir(File.join(ENV["HOME"], "vimfiles"))
#`git submodule init`
#`git submodule update`
# TODO: LOOKS LIKE mklink REQURIES SOME PRIVILEGE.
#Dir.chdir(ENV["HOME"])
#`mklink _vimrc vimfiles\\vimrc`
#`mklink _gvimrc vimfiles\\gvimrc`
# WORKAROUND
Dir.chdir(ENV["HOME"])
FileUtils.cp("vimfiles/vimrc", "_vimrc")
FileUtils.cp("vimfiles/gvimrc", "_gvimrc")
puts <<EOS
Run following commands:
cd vimfiles
git submodule init
git submodule update
vim -c NeoBundleInstall -c quit
EOS
else
Dir.chdir(File.join(ENV["HOME"], "vimfiles"))
`git submodule init`
`git submodule update`
Dir.chdir(ENV["HOME"])
`ln -sf vimfiles .vim`
`ln -sf vimfiles/vimrc .vimrc`
`ln -sf vimfiles/gvimrc .gvimrc`
`vim -c NeoBundleInstall -c quit`
end
end
task :clean do
if windows?
Dir.chdir(ENV["HOME"])
`del _vimrc _gvimrc`
else
Dir.chdir(ENV["HOME"])
`rm -fr .vimrc .gvimrc .vim`
end
end
task :clean_all => [:clean] do
if windows?
Dir.chdir(ENV["HOME"])
`del /s /q vimfiles`
else
Dir.chdir(ENV["HOME"])
`rm -fr vimfiles`
end
end
# vim: ft=ruby ts=2 sw=2 sts=2 expandtab