summaryrefslogtreecommitdiffstats
path: root/scripts/build
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-09-06 23:37:24 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-09-06 23:37:24 +0200
commit46040f3ffd35c4a981ca1f3713934f55b58bb525 (patch)
treea562dbf2edce5657e648f6c6a69856ea30985d27 /scripts/build
parent48254ec7adc9cbbc2ff15c606faf062d23d7f200 (diff)
downloadvim-polyglot-46040f3ffd35c4a981ca1f3713934f55b58bb525.tar.gz
vim-polyglot-46040f3ffd35c4a981ca1f3713934f55b58bb525.zip
Add heuristics for .h extension
Diffstat (limited to 'scripts/build')
-rwxr-xr-xscripts/build18
1 files changed, 13 insertions, 5 deletions
diff --git a/scripts/build b/scripts/build
index f688c28f..67f01ca3 100755
--- a/scripts/build
+++ b/scripts/build
@@ -268,10 +268,6 @@ def rule_to_code(rule)
end
end
- if rule.has_key?("rules")
- return rule["rules"].map { |r| indent(rule_to_code(r), 0) }.join("\n")
- end
-
if rule.has_key?("pattern") || rule.has_key?("or") || rule.has_key?("and")
return <<~EOS
if #{pattern_to_condition(rule)}
@@ -280,6 +276,10 @@ def rule_to_code(rule)
EOS
end
+ if rule.has_key?("rules")
+ return rule["rules"].map { |r| indent(rule_to_code(r), 0) }.join("\n")
+ end
+
if rule.has_key?("if_set")
return <<~EOS
if #{rule["negative"] ? "!" : ""}#{rule["if_set"]}
@@ -288,6 +288,14 @@ def rule_to_code(rule)
EOS
end
+ if rule.has_key?("if_exists")
+ return <<~EOS
+ if #{rule["negative"] ? "!" : ""}exists("#{rule["if_exists"]}")
+ #{indent(rule_to_code(except(rule, "if_exists", "negative")), 2)}
+ endif
+ EOS
+ end
+
if rule.has_key?("set")
return <<~EOS
let #{rule["set"]} = 1
@@ -455,7 +463,7 @@ def generate_ftdetect(packages, heuristics)
extensions = filetype["extensions"]
filenames = filetype["filenames"]
- expected_extensions = all_filetypes.has_key?(name) ? all_filetypes.fetch(name)[:extensions] : []
+ expected_extensions = (all_filetypes.has_key?(name) ? all_filetypes.fetch(name)[:extensions] : []).map(&:downcase)
ignored_extensions = expand_all(filetype.fetch("ignored_extensions", []))
ignored_warnings = expand_all(filetype.fetch("ignored_warnings", []))