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]
|
extensions: [asa]
|
||||||
rules:
|
rules:
|
||||||
- override: "g:filetype_asa"
|
- override: true
|
||||||
- filetype: aspvbs
|
- filetype: aspvbs
|
||||||
---
|
---
|
||||||
extensions: [asp]
|
extensions: [asp]
|
||||||
rules:
|
rules:
|
||||||
- override: "g:filetype_asp"
|
- override: true
|
||||||
- lines: 3
|
- lines: 3
|
||||||
pattern: 'perlscript'
|
pattern: 'perlscript'
|
||||||
ignore_case: true
|
ignore_case: true
|
||||||
|
|||||||
@@ -257,6 +257,8 @@ def rules_to_code(rules)
|
|||||||
end
|
end
|
||||||
|
|
||||||
output << rule_to_code(rules)
|
output << rule_to_code(rules)
|
||||||
|
|
||||||
|
output
|
||||||
end
|
end
|
||||||
|
|
||||||
def rule_to_code(rule)
|
def rule_to_code(rule)
|
||||||
@@ -287,7 +289,9 @@ def rule_to_code(rule)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if rule.has_key?("rules")
|
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
|
end
|
||||||
|
|
||||||
if rule.has_key?("if_set")
|
if rule.has_key?("if_set")
|
||||||
@@ -313,14 +317,15 @@ def rule_to_code(rule)
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
if (rule.keys - ["filetype", "override", "set"]).size > 0
|
if (rule.keys - ["filetype", "override", "set", "extensions"]).size > 0
|
||||||
raise "Unknown rule: #{JSON.generate(rule)}"
|
raise "Unknown rule: #{JSON.generate(rule)}"
|
||||||
end
|
end
|
||||||
|
|
||||||
if rule.has_key?("override")
|
if rule.has_key?("override")
|
||||||
|
variable = "g:filetype_#{rule["extensions"].first}"
|
||||||
return <<~EOS
|
return <<~EOS
|
||||||
if exists("#{rule["override"]}")
|
if exists("#{variable}")
|
||||||
call s:Setf(#{rule["override"]}) | return
|
call s:Setf(#{variable}) | return
|
||||||
endif
|
endif
|
||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
@@ -329,6 +334,14 @@ def rule_to_code(rule)
|
|||||||
return "call s:Setf('#{rule["filetype"]}') | return"
|
return "call s:Setf('#{rule["filetype"]}') | return"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if rule.has_key?("filetype")
|
||||||
|
return "call s:Setf('#{rule["filetype"]}') | return"
|
||||||
|
end
|
||||||
|
|
||||||
|
if rule.has_key?("extensions")
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
|
||||||
return ""
|
return ""
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user