code: def run_role(self, name,
                   options=None,
                   content=None):
          
          if options is None:
              options = {}
          if content is None:
              content = []
          role_fn, _ = role(name,
                            self.language,
                            self.node.line,
                            self.reporter)
          vec, _ = role_fn(name,
                           rawtext=str(content),
                           text=str(content),
                           lineno=self.node.line,
                           inliner=self.memo.inliner,
                           options=options,
                           content=content)
          assert len(vec) == 1, 'only support one list in role'
          return vec[0]
docs: Generate a role node.
  
          options : dict
              key value arguments.
          content : content
              content of the directive
  
          Returns
          -------
          node : docutil Node
              Node generated by the arguments.