diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2020-09-16 17:24:10 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-09-16 17:24:10 +0200 |
commit | 0118088e0a312b579d5811e330e194659b15c006 (patch) | |
tree | 31795d123cf8f4ce19457cc5b94594cf9c292412 | |
parent | 17c2b630e1f0f0f02a24fcc664f0df91122e8e00 (diff) | |
download | vim-polyglot-0118088e0a312b579d5811e330e194659b15c006.tar.gz vim-polyglot-0118088e0a312b579d5811e330e194659b15c006.zip |
Make config more vim-independent
-rw-r--r-- | heuristics.yaml | 4 | ||||
-rwxr-xr-x | 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 |