forked from pangloss/vim-javascript
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRakefile
More file actions
Latest commit
89 lines (79 loc) · 2.6 KB
/
Copy pathRakefile
File metadata and controls
89 lines (79 loc) · 2.6 KB
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
84
85
86
87
88
89
require'rake'
require'rake/clean'
files=['syntax/javascript.vim','indent/javascript.vim']
CLEAN.include'tmp/*_ctags'
desc"Make zip file"
file'javascript.zip'=>filesdo |t|
File.unlinkt.nameifFile.exists?(t.name)
system('zip','-q',t.name,*t.prerequisites)
end
desc"Make vimball"
file'javascript.vba'=>filesdo |t|
File.unlinkt.nameifFile.exists?(t.name)
File.open(t.name,"w")do |out|
out.puts'" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.'
out.puts'UseVimball'
out.puts'finish'
t.prerequisites.eachdo |name|
File.open(name)do |file|
file.each_line{}
out.putsname
out.putsfile.lineno
file.rewind
file.each_line{|l|out.putsl}
end
end
end
end
desc"Install"
task:installdo
vimfiles=ifENV['VIMFILES']
ENV['VIMFILES']
elsifRUBY_PLATFORM =~ /(win|w)32$/
File.expand_path("~/vimfiles")
else
File.expand_path("~/.vim")
end
puts"Installing javascript.vim"
files.eachdo |file|
target_file=File.join(vimfiles,file)
FileUtils.mkdir_p(File.dirname(target_file))
FileUtils.rm(target_file)rescuenil
FileUtils.cp(file,target_file)
puts" Copied #{file} to #{target_file}"
end
end
desc"Copy ~/.ctags to tmp/original_ctags"
task:get_original_ctagsdo
ifFile.exists?(File.expand_path("~/.ctags"))
File.unlink('tmp/original_ctags')ifFile.exists?('tmp/original_ctags')
FileUtils.cp(File.expand_path("~/.ctags"),'tmp/original_ctags')
elsif not File.exists?("tmp/original_ctags")
File.open("tmp/original_ctags","w"){}
end
end
desc"Combine tmp/original_ctags and extras/ctags"
file'tmp/combined_ctags'=>['tmp/original_ctags','extras/ctags']do |t|
begin_string='# Begin vim-javascript generated section'
end_string='# End vim-javascript generated section'
File.unlinkt.nameifFile.exists?(t.name)
File.open(t.name,"w")do |out|
orig=File.read('tmp/original_ctags')
orig.each_line.inject(true)do |can_print,line|
can_print=falseifline.chomp == begin_string
out.putslineifcan_print
can_printorline.chomp == end_string
end
out.putsbegin_string
out.puts"# generated at #{Time.now}"
out.putsFile.read('extras/ctags')
out.putsend_string
end
end
desc"Add better javascript support to ctags"
task:ctags=>[:get_original_ctags,'tmp/combined_ctags']do
FileUtils.cp('tmp/combined_ctags',File.expand_path('~/.ctags'))
end
task'zip'=>'javascript.zip'
task'vimball'=>'javascript.vba'
task:default=>[:zip,:vimball]