docs: def build_parser():
      """
      Returns an argparse.ArgumentParser instance to parse the command line
      arguments for lk
      """
      import argparse
      description = "A programmer's search tool, parallel and fast"
      parser = argparse.ArgumentParser(description=description)
      parser.add_argument('pattern', metavar='PATTERN', action='store',
                          help='a python re regular expression')
      parser.add_argument('--ignore-case', '-i',  dest='ignorecase', action='store_true',
                          default=False, help='ignore case when searching')
      parser.add_argument('--no-unicode', '-u', dest='unicode', action='store_false',
                          default=True, help='unicode-unfriendly searching')
      parser.add_argument('--no-multiline', '-l', dest='multiline',
                          action='store_false', default=True,
                          help='don\'t search over multiple lines')
      parser.add_argument('--dot-all', '-a', dest='dot_all',
                          action='store_true', default=False,
                          help='dot in PATTERN matches newline')
      parser.add_argument('--escape', '-e', dest='escape',
                          action='store_true', default=False,
                          help='treat PATTERN as a string instead of a regex')
  
      if sys.version_info >= (2, 6):
          parser.add_argument('--follow-links', '-s', dest='follow_links',
                              action='store_true', default=False,
                              help='follow symlinks (Python >= 2.6 only)')
      parser.add_argument('--hidden', '-n', dest='search_hidden',
                          action='store_true', default=False,
                          help='search hidden files and directories')
      parser.add_argument('--binary', '-b', dest='search_binary',
                          action='store_true', default=False,
                          help='search binary files')
      parser.add_argument('--no-colors', '-c', dest='use_ansi_colors',
                          action='store_false', default=True,
                          help="don't print ANSI colors")
      parser.add_argument('--stats', '-t', dest='print_stats',
                          action='store_true', default=False,
                          help='print statistics')
      parser.add_argument('--num-processes', '-p', dest='number_processes',
                          action='store', default=10, type=int,
                          help='number of child processes to concurrently search with')
      parser.add_argument('--exclude', '-x', metavar='PATH_PATTERN', dest='exclude_path_patterns',
                          action='append', default=[], type=str,
                          help='exclude paths matching PATH_PATTERN')
      parser.add_argument('--open-with', '-o', metavar='COMMAND',
                          dest='command_strings', action='append', default=[],
                          type=str,
                          help='run each COMMAND where COMMAND is a string with a placeholder, %%s, for the absolute path of the matched file')
      parser.add_argument('directory', metavar='DIRECTORY', nargs='?',
                          default=getcwd(), help='a directory to search in (default cwd)')
      return parser