summaryrefslogtreecommitdiffstats
path: root/scripts/build
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build')
-rwxr-xr-xscripts/build22
1 files changed, 16 insertions, 6 deletions
diff --git a/scripts/build b/scripts/build
index 125fa310..e8cafd51 100755
--- a/scripts/build
+++ b/scripts/build
@@ -4,6 +4,7 @@ require 'open-uri'
require 'open3'
require 'yaml'
require 'fileutils'
+require 'set'
Dir.chdir(File.dirname(__dir__))
@@ -247,6 +248,10 @@ def generate_ftdetect
EOS
+ ambiguous_extensions = languages.flat_map { |_, v| v["extensions"] || [] }
+ .group_by(&:itself).transform_values(&:count)
+ .select { |a, b| b > 1 }.keys.map { |a| a[1..] }.to_set
+
for package in PACKAGES
name = package.fetch("name")
output << if name == "jsx"
@@ -264,17 +269,22 @@ def generate_ftdetect
linguist = filetype["linguist"] ? languages.fetch(filetype["linguist"]) : {}
extensions = filetype["extensions"] || linguist.fetch("extensions", []).map { |e| e[1..] }
extensions = (extensions | filetype.fetch("extra_extensions", [])) - filetype.fetch("ignored_extensions", [])
+
filenames = filetype["filenames"] || linguist.fetch("filenames", [])
filenames = (filenames | filetype.fetch("extra_filenames", [])) - filetype.fetch("ignored_filenames", [])
-
for extension in extensions.sort
outer_filetype = filetype["outer_filetype"]
if outer_filetype
output << " au BufNewFile *.*.#{extension} execute \"do BufNewFile filetypedetect \" . expand(\"<afile>:r\") | #{outer_filetype}"
output << " au BufReadPre *.*#{extension} execute \"do BufRead filetypedetect \" . expand(\"<afile>:r\") | #{outer_filetype}"
end
- output << " au BufNewFile,BufRead *.#{extension} #{set_command}\n"
+
+ if ambiguous_extensions.include?(extension)
+ output << " au BufNewFile,BufRead *.#{extension} setf #{filetype["name"]}\n"
+ else
+ output << " au BufNewFile,BufRead *.#{extension} #{set_command}\n"
+ end
end
for filename in filenames.sort
@@ -297,8 +307,8 @@ def generate_ftdetect
File.write('ftdetect/polyglot.vim', output)
end
-download
-extract
+# download
+# extract
generate_ftdetect
-puts(" Bye! Have a wonderful time!")
-FileUtils.rm_rf("tmp")
+# puts(" Bye! Have a wonderful time!")
+# FileUtils.rm_rf("tmp")