예제 #1
0
파일: pac2.py 프로젝트: Chunjie/hilti
    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
예제 #2
0
파일: spicy.py 프로젝트: Baakka/hilti-104
    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
예제 #3
0
 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
예제 #4
0
파일: directives.py 프로젝트: xmo-odoo/odoo
 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
예제 #5
0
파일: directives.py 프로젝트: rlfss/sc
 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
예제 #6
0
파일: __init__.py 프로젝트: xcore/xdoc
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
예제 #7
0
    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
예제 #8
0
    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
예제 #9
0
파일: base.py 프로젝트: 01005433366/atelier
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
예제 #10
0
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