reader_->write(data);
}
+prefix_ unsigned senf::console::detail::LineEditorSwitcher::v_width()
+ const
+{
+ return reader_->width();
+}
+
///////////////////////////////////////////////////////////////////////////
// senf::console::detail::LineEditorClientReader
BaseTelnetProtocol::write(data);
}
+prefix_ unsigned senf::console::detail::LineEditorClientReader::v_width()
+ const
+{
+ return editor_.width();
+}
+
prefix_ void
senf::console::detail::LineEditorClientReader::executeLine(std::string const & text)
{
if (path.empty()) {
DirectoryNode::ChildrenRange cs (client().cwd().children());
for (DirectoryNode::ChildrenRange::iterator i (cs.begin()); i != cs.end(); ++i)
- completions.push_back(i->first + (i->second->isDirectory() ? "/" : ""));
+ completions.push_back(i->first + (i->second->followLink().isDirectory() ? "/" : " "));
return;
}
else {
DirectoryNode::ChildrenRange cs (dir->completions(i->value()));
if (has_one_elt(cs)) {
- GenericNode * node (cs.begin()->second.get());
- if (!node->isDirectory())
+ GenericNode & node (cs.begin()->second->followLink());
+ if (!node.isDirectory())
return;
- dir = static_cast<DirectoryNode*>(node);
+ dir = static_cast<DirectoryNode*>(&node);
basePath += cs.begin()->first + "/";
}
else
DirectoryNode::ChildrenRange cs (dir->completions(i->value()));
for (DirectoryNode::ChildrenRange::iterator j (cs.begin()); j != cs.end(); ++j)
- completions.push_back(basePath + j->first + (j->second->isDirectory() ? "/" : ""));
+ completions.push_back(basePath + j->first
+ + (j->second->followLink().isDirectory() ? "/" : " "));
}
///////////////////////////////cc.e////////////////////////////////////////