@subcommand.usage('[codereview url or issue id]')
def CMDdescription(parser, args):
    "Brings up the editor for the current CL's description."
    parser.add_option('-d', '--display', action='store_true', help='Display the description instead of opening an editor')
    parser.add_option('-n', '--new-description', help='New description to set for this issue (- for stdin)')
    _add_codereview_select_options(parser)
    auth.add_auth_options(parser)
    (options, args) = parser.parse_args(args)
    _process_codereview_select_options(parser, options)
    target_issue = None
    if (len(args) > 0):
        issue_arg = ParseIssueNumberArgument(args[0])
        if (not issue_arg.valid):
            parser.print_help()
            return 1
        target_issue = issue_arg.issue
    auth_config = auth.extract_auth_config_from_options(options)
    cl = Changelist(auth_config=auth_config, issue=target_issue, codereview=options.forced_codereview)
    if (not cl.GetIssue()):
        DieWithError('This branch has no associated changelist.')
    description = ChangeDescription(cl.GetDescription())
    if options.display:
        print(description.description)
        return 0
    if options.new_description:
        text = options.new_description
        if (text == '-'):
            text = '\n'.join((l.rstrip() for l in sys.stdin))
        description.set_description(text)
    else:
        description.prompt()
    if (cl.GetDescription() != description.description):
        cl.UpdateDescription(description.description)
    return 0
Brings up the editor for the current CL's description.
@subcommand.usage('[codereview url or issue id]')
def CMDdescription(parser, args):
    
    parser.add_option('-d', '--display', action='store_true', help='Display the description instead of opening an editor')
    parser.add_option('-n', '--new-description', help='New description to set for this issue (- for stdin)')
    _add_codereview_select_options(parser)
    auth.add_auth_options(parser)
    (options, args) = parser.parse_args(args)
    _process_codereview_select_options(parser, options)
    target_issue = None
    if (len(args) > 0):
        issue_arg = ParseIssueNumberArgument(args[0])
        if (not issue_arg.valid):
            parser.print_help()
            return 1
        target_issue = issue_arg.issue
    auth_config = auth.extract_auth_config_from_options(options)
    cl = Changelist(auth_config=auth_config, issue=target_issue, codereview=options.forced_codereview)
    if (not cl.GetIssue()):
        DieWithError('This branch has no associated changelist.')
    description = ChangeDescription(cl.GetDescription())
    if options.display:
        print(description.description)
        return 0
    if options.new_description:
        text = options.new_description
        if (text == '-'):
            text = '\n'.join((l.rstrip() for l in sys.stdin))
        description.set_description(text)
    else:
        description.prompt()
    if (cl.GetDescription() != description.description):
        cl.UpdateDescription(description.description)
    return 0