diff --git a/Phabricator/plugin.py b/Phabricator/plugin.py --- a/Phabricator/plugin.py +++ b/Phabricator/plugin.py @@ -220,16 +220,14 @@ ^ # start of line |(?".format( id=ircutils.bold('D%s' % diff['id']), repo=ircutils.bold(self.get_repo_name(repo)), title=diff['fields']['title'], details=', '.join(details), - url=full_diff['uri'], + url=url, ) - def paste_formatter(self, recipient, paste): + def paste_formatter(self, recipient, paste, object_fragment=None): full_paste = self.get_object_by_phid(recipient, paste['phid'], True) details = [] details.append( @@ -311,14 +316,18 @@ recipient, paste['fields']['authorPHID'] ) ) + url = full_paste['uri'] + if object_fragment is not None: + url = '%s%s' % (url, object_fragment) + return "{id} ({details}): {title} <{url}>".format( id=ircutils.bold('P%s' % paste['id']), title=paste['fields']['title'], details=', '.join(details), - url=full_paste['uri'], + url=url, ) - def task_formatter(self, recipient, task): + def task_formatter(self, recipient, task, object_fragment=None): full_task = self.get_object_by_phid(recipient, task['phid'], True) details = [] details.append( @@ -338,11 +347,15 @@ status = task['fields']['status']['name'] details.append('status: %s' % self.task_status_theme(status)) + url = full_task['uri'] + if object_fragment is not None: + url = '%s%s' % (url, object_fragment) + return "{id} ({details}): {title} <{url}>".format( id=ircutils.bold('T%s' % task['id']), title=task['fields']['name'], details=', '.join(details), - url=full_task['uri'], + url=url, ) def commit_formatter(self, recipient, commit, skip_details=None):