def handle_signature(self, sig, signode): m = sig.split() name = m[0] args = m[1:] if len(m) > 1 else [] for a in args: if a.startswith("t:"): signode += addnodes.literal_emphasis("", a[2:]) elif a.startswith("a:"): signode += addnodes.literal_emphasis("", a[2:]) elif a.startswith("op:"): signode += nodes.literal("", a[3:]) elif a.startswith("x:"): signode += nodes.emphasis("", a[2:].replace("-", " ")) elif a == "<sp>": signode += nodes.inline("", " ") else: signode += nodes.inline("", a) return name
def make_xref(self, rolename, target): refnode = addnodes.pending_xref('', refdomain=self.domain, reftype=rolename, reftarget=target) refnode += addnodes.literal_emphasis(target, target) return refnode
def format_type(t): ref = addnodes.pending_xref( t, addnodes.literal_emphasis(t, t), refdomain='js', reftype='class', reftarget=t, ) if mod: ref['js:module'] = mod return ref
def do_reduce(stack): n = stack.pop() if isinstance(n,nodes.emphasis) and \ isinstance(stack[-1],nodes.literal): xs = stack[-1].children stack[-1] = addnodes.literal_emphasis() for x in xs + n.children: stack[-1] += x else: stack[-1] += n
def handle_signature(self, sig, signode): symbol_name = [] package = self.env.temp_data.get('cl:package') objtype = self.get_signature_prefix(sig) sig_split = sig.split(" ") sig = sig_split[0] signode.append(addnodes.desc_annotation(objtype, objtype)) lisp_args = ARGS[package].get(sig.upper(), "") function_name = addnodes.desc_name(sig, sig) if not lisp_args.strip() and self.objtype in ["function"]: lisp_args = "()" if lisp_args.strip(): types = [] if self.objtype in ["method"]: types = self.arguments[0].split(' ')[1:] sexp = SEXP(lisp_args, types=types, show_defaults=self.env.app.config.cl_show_defaults) arg_list = sexp.as_parameterlist(function_name) signode.append(arg_list) else: signode.append(function_name) # Add Slots slots = SLOTS[package].get(sig.upper()) if slots and "noinitargs" not in self.options: # TODO add slot details if describing a class for slot in slots: initarg = slot.get(u'initarg') if initarg and initarg.lower() != 'nil': slotarg = addnodes.literal_emphasis( slot.get(u'name'), slot.get(u'name')) slotsig = initarg.lower() + u' ' signode.append( addnodes.desc_optional(slotsig, slotsig, slotarg)) symbol_name = sig if not symbol_name: raise Exception("Unknown symbol type for signature %s" % sig) record_use(package, symbol_name, self.objtype) return objtype.strip(), symbol_name
def handle_signature(self, sig, signode): symbol_name = [] package = self.env.temp_data.get('cl:package') objtype = self.get_signature_prefix(sig) sig_split = sig.split(" ") sig = sig_split[0] signode.append(addnodes.desc_annotation(objtype, objtype)) lisp_args = ARGS[package].get(sig.upper(), "") function_name = addnodes.desc_name(sig, sig) if not lisp_args.strip() and self.objtype in ["function"]: lisp_args = "()" if lisp_args.strip(): types = [] if self.objtype in ["method"]: types = self.arguments[0].split(' ')[1:] sexp = SEXP(lisp_args, types=types, show_defaults=self.env.app.config.cl_show_defaults) arg_list = sexp.as_parameterlist(function_name) signode.append(arg_list) else: signode.append(function_name) # Add Slots slots = SLOTS[package].get(sig.upper()) if slots and "noinitargs" not in self.options: # TODO add slot details if describing a class for slot in slots: initarg = slot.get(u'initarg') if initarg and initarg.lower() != 'nil': slotarg = addnodes.literal_emphasis(slot.get(u'name'), slot.get(u'name')) slotsig = initarg.lower() + u' ' signode.append(addnodes.desc_optional(slotsig, slotsig, slotarg)) symbol_name = sig if not symbol_name: raise Exception("Unknown symbol type for signature %s" % sig) record_use(package, symbol_name, self.objtype) return objtype.strip(), symbol_name
def command_parse(env, sig, signode): # x, y = sig.split() signode += addnodes.literal_emphasis(sig, sig) # signode += addnodes.literal_strong(sig, sig) # needs Sphinx >= 1.3 return sig