summaryrefslogtreecommitdiffstats
path: root/scripts/build
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-09-10 16:38:32 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-09-10 16:38:32 +0200
commit05ff14bfdaeca8def902c644d119f3946009bf14 (patch)
treee6e9dbb371a1e4ecf4d4f72e05589248f82494ae /scripts/build
parent9243367ba376050621e4c05e8f0439742c1f0f82 (diff)
downloadvim-polyglot-05ff14bfdaeca8def902c644d119f3946009bf14.tar.gz
vim-polyglot-05ff14bfdaeca8def902c644d119f3946009bf14.zip
Add odin support, closes #544
Diffstat (limited to 'scripts/build')
-rwxr-xr-xscripts/build59
1 files changed, 21 insertions, 38 deletions
diff --git a/scripts/build b/scripts/build
index 982e0f3a..fabec033 100755
--- a/scripts/build
+++ b/scripts/build
@@ -97,25 +97,6 @@ def load_data()
[packages, transform_patterns(heuristics)]
end
-def parallel(*procs)
- threads = procs.map { |p| Thread.new { method(p).call } }
- threads.map(&:join).map(&:value)
-end
-
-def read_strings(data, keys, print=false)
- if data.is_a?(Hash)
- data.flat_map do |key, val|
- read_strings(val, keys, keys.include?(key))
- end
- elsif data.is_a?(Array)
- data.flat_map { |d| read_strings(d, keys, print) }
- elsif data.is_a?(String)
- print ? [data] : []
- else
- []
- end
-end
-
def patterns_to_vim_patterns(patterns)
stdin, stdout, stderr = Open3.popen3('vim', '-V', '--clean', '/dev/stdin', '-es', '-c', "echo expand('%:p:h') | source #{__dir__}/eregex.vim", '-c', "for line in range(0, line('$')) | call setline(line, ExtendedRegex2VimRegex(getline(line))) | endfor", '-c', ':wq! /dev/stdout', chdir: __dir__)
stdin.write(patterns.join("\n"))
@@ -168,28 +149,30 @@ def copy_file(package, src, dest)
FileUtils.mkdir_p(File.dirname(dest))
name = package.fetch("name")
- header = '" Polyglot metafile'
- if File.exist?(dest)
- meta_dest = dest
- new_dest = dest
- i = 0
- while File.exist?(new_dest)
- i += 1
- new_dest = "#{dest.gsub(/\.vim$/, '')}-#{i}.vim"
- end
+ if dest.end_with?(".vim")
+ header = '" Polyglot metafile'
+ if File.exist?(dest)
+ meta_dest = dest
+ new_dest = dest
+ i = 0
+ while File.exist?(new_dest)
+ i += 1
+ new_dest = "#{dest.gsub(/\.vim$/, '')}-#{i}.vim"
+ end
- if File.read(dest).include?(header)
- dest = new_dest
- else
- FileUtils.mv(dest, new_dest)
- File.write(meta_dest, "#{header}\n")
+ if File.read(dest).include?(header)
+ dest = new_dest
+ else
+ FileUtils.mv(dest, new_dest)
+ File.write(meta_dest, "#{header}\n")
+ open(meta_dest, "a+") do |output|
+ output << "source <sfile>:h/#{File.basename(new_dest)}\n"
+ end
+ dest = "#{dest.gsub(/\.vim$/, '')}-#{i+1}.vim"
+ end
open(meta_dest, "a+") do |output|
- output << "source <sfile>:h/#{File.basename(new_dest)}\n"
+ output << "source <sfile>:h/#{File.basename(dest)}\n"
end
- dest = "#{dest.gsub(/\.vim$/, '')}-#{i+1}.vim"
- end
- open(meta_dest, "a+") do |output|
- output << "source <sfile>:h/#{File.basename(dest)}\n"
end
end