return mdoc.cs_short_comment
end
- # Returns 1self` as a list element that can be displayed in console.
+ # Returns `self` as a list element that can be displayed in console.
+ #
+ # Displays `cs_icon`, `cs_name`, `cs_short_comment, `cs_namespace`,
+ # `cs_declaration` and `cs_location`.
fun cs_list_item: String do
var tpl = new FlatBuffer
tpl.append " {cs_visibility_color(cs_icon).bold} {cs_name.blue.bold}"
return tpl.write_to_string
end
+ # Returns `self` as a short list element that can be displayed in console.
+ # Displays `cs_icon`, `cs_name`, and `cs_short_comment.
+ fun cs_short_list_item: String do
+ var tpl = new FlatBuffer
+ tpl.append " {cs_visibility_color(cs_icon).bold} {cs_name.blue.bold}"
+ var comment = cs_short_comment
+ if comment != null then
+ tpl.append " # {comment}".green
+ end
+ return tpl.write_to_string
+ end
+
# ASCII icon to be displayed in front of the list item.
fun cs_icon: String do return "*"
#
# See module `console`.
fun cs_visibility_color(string: String): String do return string.green
+
+ # Source code associated to this MEntity.
+ #
+ # Uses `cs_location` to locate the source code.
+ fun cs_source_code: String do
+ # FIXME up location to mentity
+ var loc = new Location.from_string(cs_location)
+ var fr = new FileReader.open(loc.file.filename)
+ var content = new FlatBuffer
+ var i = 0
+ while not fr.eof do
+ i += 1
+ var line = fr.read_line
+ if i < loc.line_start or i > loc.line_end then continue
+ # FIXME add nitlight for console
+ content.append "{line}\n"
+ end
+ fr.close
+ return content.write_to_string
+ end
end
redef class MProject