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 --- heuristics.yaml | 4 ++-- scripts/build | 21 +++++++++++++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/heuristics.yaml b/heuristics.yaml index 8b803011..6ff7af47 100644 --- a/heuristics.yaml +++ b/heuristics.yaml @@ -11,12 +11,12 @@ rules: --- extensions: [asa] rules: -- override: "g:filetype_asa" +- override: true - filetype: aspvbs --- extensions: [asp] rules: -- override: "g:filetype_asp" +- override: true - lines: 3 pattern: 'perlscript' ignore_case: true 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