Utils/Termlib: Extend the completion API
[senf.git] / Utils / Console / OverloadedCommand.cc
index abae95e..c9e7529 100644 (file)
@@ -155,6 +155,23 @@ prefix_ void senf::console::OverloadedCommandNode::v_help(std::ostream & os)
     }
 }
 
+prefix_ std::string senf::console::OverloadedCommandNode::v_shorthelp()
+    const
+{
+    if (!shortdoc_.empty())
+        return shortdoc_;
+    if (!doc_.empty())
+        return doc_.substr(0,doc_.find('\n'));
+    Overloads::const_iterator i (overloads_.begin());
+    Overloads::const_iterator const i_end (overloads_.end());
+    for (; i != i_end; ++i) {
+        std::string overloadDoc ((*i)->doc());
+        if (! overloadDoc.empty()) 
+            return overloadDoc.substr(0,overloadDoc.find('\n'));
+    }
+    return "";
+}
+
 prefix_ void senf::console::OverloadedCommandNode::v_execute(boost::any & rv,
                                                              std::ostream & os,
                                                              ParseCommandInfo const & command)