From 0118088e0a312b579d5811e330e194659b15c006 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Wed, 16 Sep 2020 17:24:10 +0200 Subject: Make config more vim-independent --- scripts/build | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'scripts/build') diff --git a/scripts/build b/scripts/build index c44e8cc8..0fac234d 100755 --- a/scripts/build +++ b/scripts/build @@ -257,6 +257,8 @@ def rules_to_code(rules) end output << rule_to_code(rules) + + output end def rule_to_code(rule) @@ -287,7 +289,9 @@ def rule_to_code(rule) end if rule.has_key?("rules") - return rule["rules"].map { |r| indent(rule_to_code(r), 0) }.join("\n") + return rule["rules"].map do |r| + indent(rule_to_code({ "extensions" => rule["extensions"], **r }), 0) + end.join("\n") end if rule.has_key?("if_set") @@ -313,14 +317,15 @@ def rule_to_code(rule) EOS end - if (rule.keys - ["filetype", "override", "set"]).size > 0 + if (rule.keys - ["filetype", "override", "set", "extensions"]).size > 0 raise "Unknown rule: #{JSON.generate(rule)}" end if rule.has_key?("override") + variable = "g:filetype_#{rule["extensions"].first}" return <<~EOS - if exists("#{rule["override"]}") - call s:Setf(#{rule["override"]}) | return + if exists("#{variable}") + call s:Setf(#{variable}) | return endif EOS end @@ -329,6 +334,14 @@ def rule_to_code(rule) return "call s:Setf('#{rule["filetype"]}') | return" end + if rule.has_key?("filetype") + return "call s:Setf('#{rule["filetype"]}') | return" + end + + if rule.has_key?("extensions") + return "" + end + return "" end -- cgit v1.2.3