class_docstr: Completer for system commands.
class_docstr_tok: ["Completer","for","system","commands","."]
code: def __init__(self):
      # Compile grammar.
      g = compile(
          r"""
                  # First we have an executable.
                  (?P<executable>[^\s]+)
  
                  # Ignore literals in between.
                  (
                      \s+
                      ("[^"]*" | '[^']*' | [^'"]+ )
                  )*
  
                  \s+
  
                  # Filename as parameters.
                  (
                      (?P<filename>[^\s]+) |
                      "(?P<double_quoted_filename>[^\s]+)" |
                      '(?P<single_quoted_filename>[^\s]+)'
                  )
              """,
          escape_funcs={
              "double_quoted_filename": (
                  lambda string: string.replace('"', '\\"')
              ),
              "single_quoted_filename": (
                  lambda string: string.replace("'", "\\'")
              ),
          },
          unescape_funcs={
              "double_quoted_filename": (
                  lambda string: string.replace('\\"', '"')
              ),  # XXX: not enterily correct.
              "single_quoted_filename": (
                  lambda string: string.replace("\\'", "'")
              ),
          },
      )
  
      # Create GrammarCompleter
      super(SystemCompleter, self).__init__(
          g,
          {
              "executable": ExecutableCompleter(),
              "filename": PathCompleter(
                  only_directories=False, expanduser=True
              ),
              "double_quoted_filename": PathCompleter(
                  only_directories=False, expanduser=True
              ),
              "single_quoted_filename": PathCompleter(
                  only_directories=False, expanduser=True
              ),
          },
      )
  
imports: from __future__ import unicode_literals
  from prompt_toolkit.contrib.regular_languages.completion import GrammarCompleter
  from prompt_toolkit.contrib.regular_languages.compiler import compile
  from .filesystem import PathCompleter, ExecutableCompleter
label_desc: Use image node_id 1 to create a new SystemCompleter object from inherited base classes: GrammarCompleter with example: obj = SystemCompleter()