mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
Make config more vim-independent
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user