summaryrefslogtreecommitdiffstats
path: root/scripts/build
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build')
-rwxr-xr-xscripts/build21
1 files changed, 17 insertions, 4 deletions
diff --git a/scripts/build b/scripts/build
index 1d5620b5..9e305b21 100755
--- a/scripts/build
+++ b/scripts/build
@@ -257,9 +257,8 @@ def parse_remote(remote)
[match[:repo], match[:branch] || "master", match[:path], dir]
end
-def copy_file(package, src, dest)
+def copy_file(name, src, dest)
FileUtils.mkdir_p(File.dirname(dest))
- name = package.fetch("name")
if dest.end_with?(".vim")
header = '" Polyglot metafile'
@@ -509,11 +508,11 @@ def extract(packages)
globs.each do |glob|
Dir.glob("#{subdir}/#{glob}", base: subtree).each do |p|
next unless File.file?("#{subtree}#{p}")
- copy_file(package, "#{subtree}#{p}", p)
+ copy_file(package["name"], "#{subtree}#{p}", p)
end
end
elsif File.exist?(subpath)
- copy_file(package, subpath, subdir)
+ copy_file(package["name"], subpath, subdir)
end
end
@@ -889,6 +888,19 @@ def show_warnings(all_filetypes, expected_filetypes)
end
end
+def generate_fallback
+ filetype_content = File.read('tmp/vim/vim/runtime/filetype.vim')
+ filetype_content.gsub!('runtime! ftdetect/*.vim', '')
+ filetype_content.gsub!(/^au BufNewFile,BufRead \*\n.+?runtime!.+?endif/m) {}
+ filetype_content.gsub!(/^au StdinReadPost \* .+?runtime!.+?endif/m) {}
+ filetype_content.gsub!(/^au filetypedetect BufNewFile,BufRead,StdinReadPost \*\n.+?endif/m) {}
+ File.write('extras/filetype.vim', filetype_content)
+
+ autoload_content = File.read('tmp/vim/vim/runtime/autoload/dist/ft.vim')
+ autoload_content.gsub!('dist#ft#', 'polyglot#ft#')
+ File.write('autoload/polyglot/ft.vim', autoload_content)
+end
+
if __FILE__ == $0
if !ENV["DEV"]
@@ -900,6 +912,7 @@ if __FILE__ == $0
packages, heuristics = load_data()
download(packages)
extract(packages)
+ generate_fallback()
generate_ftdetect(packages, heuristics)
generate_plugins(packages)
generate_tests(packages)