diff --git a/src/http/commands/help/presenter.rb b/src/http/commands/help/presenter.rb
index 03f9604..d1aa045 100644
--- a/src/http/commands/help/presenter.rb
+++ b/src/http/commands/help/presenter.rb
@@ -70,28 +70,23 @@ def initialize(manifest)
self.manifest = manifest
end
- def render_html_list(data, skip_wrapper: false)
+ def render_html_list(data)
html = ""
-
case data
when ::Hash
- html << "
" unless skip_wrapper
+ html << ""
data.each do |key, value|
html << "- #{key}"
- html << "
"
- html << render_html_list(value, skip_wrapper: true)
- html << "
"
+ html << render_html_list(value)
html << " "
end
- html << "
" unless skip_wrapper
+ html << "
"
when ::Array
- html << "" unless skip_wrapper
data.each do |item|
html << render_html_list(item)
end
- html << "
" unless skip_wrapper
when Manifest::Attributes
- html << "" unless skip_wrapper
+ html << ""
data.relevant_manifest.each_pair do |key, value|
if key.to_s == "type"
next
@@ -102,14 +97,12 @@ def render_html_list(data, skip_wrapper: false)
value = data.attribute_declarations
end
html << "- #{key}"
- html << "
"
- html << render_html_list(value, skip_wrapper: true)
- html << "
"
+ html << render_html_list(value)
html << " "
end
- html << "
" unless skip_wrapper
+ html << "
"
when Manifest::Array
- html << "" unless skip_wrapper
+ html << ""
data.relevant_manifest.each_pair do |key, value|
next if key == :element_type_declaration
@@ -117,42 +110,41 @@ def render_html_list(data, skip_wrapper: false)
value = root_manifest.lookup_path(key, value)
end
html << "- #{key}"
- html << "
"
- html << render_html_list(value, skip_wrapper: true)
- html << "
"
+ html << render_html_list(value)
html << " "
end
- html << render_html_list({ element_type: data.element_type }, skip_wrapper: true)
- html << "
" unless skip_wrapper
+ html << render_html_list({ element_type: data.element_type })
+ html << "
"
when Manifest::TypeDeclaration
manifest = data.relevant_manifest
-
+ html << ""
if manifest.is_a?(::Symbol)
html << "- "
html << foobara_reference_link(data.to_type)
html << "
"
else
- html << "" unless skip_wrapper
data.relevant_manifest.each_pair do |key, value|
if key.to_s == "type"
value = root_manifest.lookup_path(key, value)
end
html << "- #{key}"
- html << "
"
- html << render_html_list(value, skip_wrapper: true)
- html << "
"
+ html << render_html_list(value)
html << " "
end
- html << "
" unless skip_wrapper
end
+ html << "
"
when Manifest::Type, Manifest::Command, Manifest::Error
+ html << ""
html << "- "
html << foobara_reference_link(data)
html << "
"
+ html << "
"
when Manifest::PossibleError
html << render_html_list(data.error)
else
+ html << ""
html << "- #{data}
"
+ html << "
"
end
html