///< Execute command
/**< Output will be written to \a output.
Same as execute(). */
+ GenericNode & getNode(ParseCommandInfo const & command);
DirectoryNode & cwd() const; ///< Current working directory
+ void cwd(DirectoryNode & dir); ///< Change current directory
std::string cwdPath() const; ///< Return pathname of current directory
bool skipping() const; ///< \c true, if currently skipping a directory group
/**< if autocomplete is enabled, path components which can
be uniquely completed will be completed
automatically. Disabled by default (but enabled
- automatically by the interactive console) void
- autocomplete(bool v). */
+ automatically by the interactive console). */
Executor & autocomplete(bool v); ///< Set autocomplete status
/**< \see autocomplete() */
+
DirectoryNode & chroot() const; ///< Get root node
/**< The root node defaults to senf::console::root(). If
changed, all path references are relative to this node
and objects outside that tree cannot be accessed. */
+
Executor & chroot(DirectoryNode & node); ///< chroot into given directory
/**< After this call, all path's are interpreted relative to
\a node and only nodes in the tree rooted at \a node
void cd(ParseCommandInfo::TokensRange dir);
void ls(std::ostream & output, ParseCommandInfo::TokensRange dir);
+ void ll(std::ostream & output, ParseCommandInfo::TokensRange dir);
+ void lr(std::ostream & output, ParseCommandInfo::TokensRange dir);
void pushd(ParseCommandInfo::TokensRange dir);
void popd();
void exit();
Path & dir);
std::string complete(DirectoryNode & dir, std::string const & name);
- struct InvalidPathException {};
- struct InvalidDirectoryException {};
+ struct InvalidPathException {
+ std::string path;
+ InvalidPathException() : path() {}
+ InvalidPathException(std::string path_) : path(path_) {}
+
+ };
+ struct InvalidDirectoryException {
+ std::string path;
+ InvalidDirectoryException() : path() {}
+ InvalidDirectoryException(std::string path_) : path(path_) {}
+ };
struct InvalidCommandException {};
DirectoryNode::ptr root_;
bool autocomplete_;
};
+ void senf_console_format_value(DirectoryNode::ptr value, std::ostream & os);
+
}}
///////////////////////////////hh.e////////////////////////////////////////