Changeset 920


Ignore:
Timestamp:
Jun 13, 2012 12:09:08 AM (11 years ago)
Author:
jemian
Message:

still don't quite understand how this works

Location:
specdomain/src/specdomain/sphinxcontrib
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • specdomain/src/specdomain/sphinxcontrib/specdomain.py

    r919 r920  
    1313
    1414import re
    15 import string
     15import string                                       #@UnusedImport
    1616
    1717from docutils import nodes
     
    3535
    3636# REs for SPEC signatures
     37#spec_func_sig_re = re.compile(
     38#    r'''^ ([\w.]*:)?             # module name
     39#          (\w+)  \s*             # thing name
     40#          (?: \((.*)\)           # optional: arguments
     41#           (?:\s* -> \s* (.*))?  #           return annotation
     42#          )? $                   # and nothing more
     43#          ''', re.VERBOSE)
     44
    3745spec_func_sig_re = re.compile(
    38     r'''^ ([\w.]*:)?             # module name
    39           (\w+)  \s*             # thing name
    40           (?: \((.*)\)           # optional: arguments
    41            (?:\s* -> \s* (.*))?  #           return annotation
    42           )? $                   # and nothing more
     46    r'''^ ([a-zA-Z_]\w*)         # macro name
     47          ((\s+\S+)*)            # optional: arguments
     48          $                      # and nothing more
    4349          ''', re.VERBOSE)
    4450
     
    9197    def needs_arglist(self):
    9298        return self.objtype == 'function'
    93 
    94     def handle_signature(self, sig, signode):
    95         if sig.startswith('#'):
    96             return self._handle_record_signature(sig, signode)
    97         elif sig[0].isupper():
    98             return self._handle_macro_signature(sig, signode)
    99         return self._handle_function_signature(sig, signode)
    10099
    101100    def _resolve_module_name(self, signode, modname, name):
     
    116115        return fullname
    117116
     117    def handle_signature(self, sig, signode):
     118        if sig.startswith('#'):
     119            return self._handle_record_signature(sig, signode)
     120        elif sig[0].isupper():
     121            return self._handle_macro_signature(sig, signode)
     122        return self._handle_function_signature(sig, signode)
     123
    118124    def _handle_record_signature(self, sig, signode):
    119125        m = spec_record_sig_re.match(sig)
     
    134140        if m is None:
    135141            raise ValueError
    136         modname, name, arglist, retann = m.groups()
     142        #modname, name, arglist, retann = m.groups()
     143        name, arglist, retann = m.groups()
     144        modname = 'spec:def:'         # FIXME:
    137145
    138146        fullname = self._resolve_module_name(signode, modname, name)
Note: See TracChangeset for help on using the changeset viewer.