private var arguments: Array[String]
private var renderer: PagerMatchesRenderer
+ # New constructor to use the pre-calculated model when interpreting a module
+ init with_infos(mbuilder: ModelBuilder, mmodule: MModule) do
+
+ self.model = mbuilder.model
+ self.mbuilder = mbuilder
+
+ self.mainmodule = mmodule
+ self.toolcontext = mbuilder.toolcontext
+ self.arguments = toolcontext.option_context.rest
+
+ renderer = new PagerMatchesRenderer(self)
+ end
+
init(toolcontext: ToolContext) do
# We need a model to collect stufs
self.toolcontext = toolcontext
prompt
return
end
- if entry == ":q" then exit(0)
+ if entry == ":q" then return
# Parse query string
var query = parse_query(entry)
# Code Analysis
redef class ToolContext
- var nitx_phase: NitxPhase = new NitxPhase(self, [typing_phase])
+ private var nitx_phase: NitxPhase = new NitxPhase(self, [typing_phase])
end
# Compiler phase for nitx
redef fun preview(index, pager) do
if index.mbuilder.mmodule2nmodule.has_key(self) then
var node = index.mbuilder.mmodule2nmodule[self]
- if not node.n_moduledecl.n_doc == null and not node.n_moduledecl.n_doc.short_comment.is_empty then
+ if node.n_moduledecl != null and not node.n_moduledecl.n_doc == null and not node.n_moduledecl.n_doc.short_comment.is_empty then
pager.add(node.n_moduledecl.n_doc.short_comment.green)
end
end
redef fun content(index, pager) do
if index.mbuilder.mmodule2nmodule.has_key(self) then
var node = index.mbuilder.mmodule2nmodule[self]
- if not node.n_moduledecl.n_doc == null and not node.n_moduledecl.n_doc.comment.is_empty then
+ if node.n_moduledecl != null and not node.n_moduledecl.n_doc == null and not node.n_moduledecl.n_doc.comment.is_empty then
for comment in node.n_moduledecl.n_doc.comment do pager.add(comment.green)
end
end