{
    "content": [
        {
            "type": "text",
            "text": "# shlex (pydoc)\n\n**Summary:** shlex - A lexical analyzer class for simple shell-like syntaxes.\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **MODULE REFERENCE** (8 lines)\n- **CLASSES** (3 lines) — 1 subsections\n  - class shlex (47 lines)\n- **FUNCTIONS** (1 lines) — 3 subsections\n  - join (2 lines)\n  - quote (2 lines)\n  - split (2 lines)\n- **DATA** (2 lines)\n- **FILE** (3 lines)\n\n## Full Content\n\n### NAME\n\nshlex - A lexical analyzer class for simple shell-like syntaxes.\n\n### MODULE REFERENCE\n\nhttps://docs.python.org/3.10/library/shlex.html\n\nThe following documentation is automatically generated from the Python\nsource files.  It may be incomplete, incorrect or include features that\nare considered implementation detail and may vary between Python\nimplementations.  When in doubt, consult the module reference at the\nlocation listed above.\n\n### CLASSES\n\nbuiltins.object\nshlex\n\n#### class shlex\n\n|  shlex(instream=None, infile=None, posix=False, punctuationchars=False)\n|\n|  A lexical analyzer class for simple shell-like syntaxes.\n|\n|  Methods defined here:\n|\n|  init(self, instream=None, infile=None, posix=False, punctuationchars=False)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  iter(self)\n|\n|  next(self)\n|\n|  errorleader(self, infile=None, lineno=None)\n|      Emit a C-compiler-like, Emacs-friendly error-message leader.\n|\n|  gettoken(self)\n|      Get a token from the input stream (or from stack if it's nonempty)\n|\n|  popsource(self)\n|      Pop the input source stack.\n|\n|  pushsource(self, newstream, newfile=None)\n|      Push an input source onto the lexer's input source stack.\n|\n|  pushtoken(self, tok)\n|      Push a token onto the stack popped by the gettoken method\n|\n|  readtoken(self)\n|\n|  sourcehook(self, newfile)\n|      Hook called on a filename to be sourced.\n|\n|  ----------------------------------------------------------------------\n|  Readonly properties defined here:\n|\n|  punctuationchars\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  dict\n|      dictionary for instance variables (if defined)\n|\n|  weakref\n|      list of weak references to the object (if defined)\n\n### FUNCTIONS\n\n#### join\n\nReturn a shell-escaped string from *splitcommand*.\n\n#### quote\n\nReturn a shell-escaped version of the string *s*.\n\n#### split\n\nSplit the string *s* using shell-like syntax.\n\n### DATA\n\nall = ['shlex', 'split', 'quote', 'join']\n\n### FILE\n\n/usr/lib/python3.10/shlex.py\n\n"
        }
    ],
    "structuredContent": {
        "command": "shlex",
        "section": "",
        "mode": "pydoc",
        "summary": "shlex - A lexical analyzer class for simple shell-like syntaxes.",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "MODULE REFERENCE",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "CLASSES",
                "lines": 3,
                "subsections": [
                    {
                        "name": "class shlex",
                        "lines": 47
                    }
                ]
            },
            {
                "name": "FUNCTIONS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "join",
                        "lines": 2
                    },
                    {
                        "name": "quote",
                        "lines": 2
                    },
                    {
                        "name": "split",
                        "lines": 2
                    }
                ]
            },
            {
                "name": "DATA",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "FILE",
                "lines": 3,
                "subsections": []
            }
        ]
    }
}