--- /dev/null
+# Stubs for cmd (Python 2/3)\r
+\r
+from typing import Any, Optional, Text, IO, List, Callable, Tuple\r
+\r
+class Cmd:\r
+ prompt = ... # type: str\r
+ identchars = ... # type: str\r
+ ruler = ... # type: str\r
+ lastcmd = ... # type: str\r
+ intro = ... # type: Optional[Any]\r
+ doc_leader = ... # type: str\r
+ doc_header = ... # type: str\r
+ misc_header = ... # type: str\r
+ undoc_header = ... # type: str\r
+ nohelp = ... # type: str\r
+ use_rawinput = ... # type: bool\r
+ stdin = ... # type: IO[str]\r
+ stdout = ... # type: IO[str]\r
+ cmdqueue = ... # type: List[str]\r
+ completekey = ... # type: str\r
+ def __init__(self, completekey: str = ..., stdin: Optional[IO[str]] = ..., stdout: Optional[IO[str]] = ...) -> None: ...\r
+ old_completer = ... # type: Optional[Callable[[str, int], Optional[str]]]\r
+ def cmdloop(self, intro: Optional[Any] = ...) -> None: ...\r
+ def precmd(self, line: str) -> str: ...\r
+ def postcmd(self, stop: bool, line: str) -> bool: ...\r
+ def preloop(self) -> None: ...\r
+ def postloop(self) -> None: ...\r
+ def parseline(self, line: str) -> Tuple[Optional[str], Optional[str], str]: ...\r
+ def onecmd(self, line: str) -> bool: ...\r
+ def emptyline(self) -> bool: ...\r
+ def default(self, line: str) -> bool: ...\r
+ def completedefault(self, *ignored: Any) -> List[str]: ...\r
+ def completenames(self, text: str, *ignored: Any) -> List[str]: ...\r
+ completion_matches = ... # type: Optional[List[str]]\r
+ def complete(self, text: str, state: int) -> Optional[List[str]]: ...\r
+ def get_names(self) -> List[str]: ...\r
+ # Only the first element of args matters.\r
+ def complete_help(self, *args: Any) -> List[str]: ...\r
+ def do_help(self, arg: Optional[str]) -> None: ...\r
+ def print_topics(self, header: str, cmds: Optional[List[str]], cmdlen: Any, maxcol: int) -> None: ...\r
+ def columnize(self, list: Optional[List[str]], displaywidth: int = ...) -> None: ...\r