Eolian: Add text replacements for docstrings
This commit is contained in:
parent
7e4838fe5b
commit
5bd82c2883
|
@ -26,6 +26,21 @@ eolian.init()
|
||||||
|
|
||||||
DOCSTRINGS_ENABLED = True
|
DOCSTRINGS_ENABLED = True
|
||||||
|
|
||||||
|
import re
|
||||||
|
docstring_replacements = (
|
||||||
|
(re.compile(r"@brief "), r""),
|
||||||
|
(re.compile(r"@ingroup .+", re.S), r""),
|
||||||
|
(re.compile(r"@see (.+)(?!@)"), r":see: \1"),
|
||||||
|
(re.compile(r"@return "), r":return: "),
|
||||||
|
(re.compile(r"@(note|warning) "), r".. \1:: "),
|
||||||
|
(re.compile(r"@(p|c) (\w+)"), r"``\2``"),
|
||||||
|
(re.compile(r"@(b) (\w+)"), r"**\2**"),
|
||||||
|
(re.compile(r"@(i) (\w+)"), r"*\2*"),
|
||||||
|
(re.compile(r"EINA_TRUE"), r"True"),
|
||||||
|
(re.compile(r"EINA_FALSE"), r"False"),
|
||||||
|
(re.compile(r"NULL"), r"None"),
|
||||||
|
)
|
||||||
|
|
||||||
complex_types = (
|
complex_types = (
|
||||||
"Eina_List"
|
"Eina_List"
|
||||||
)
|
)
|
||||||
|
@ -91,23 +106,18 @@ class Generator(object):
|
||||||
else:
|
else:
|
||||||
self.write('"""')
|
self.write('"""')
|
||||||
for docs in docstrings:
|
for docs in docstrings:
|
||||||
if docs.startswith("- "):
|
if docs.startswith("- ") or \
|
||||||
|
docs.startswith(".. ") or \
|
||||||
|
docs.startswith(":"):
|
||||||
self.write(
|
self.write(
|
||||||
docs, wrapped=True,
|
docs, wrapped=True,
|
||||||
#i_ind=self.level * self.tab + "- ",
|
|
||||||
s_ind=self.level * self.tab + " "
|
s_ind=self.level * self.tab + " "
|
||||||
)
|
)
|
||||||
elif docs.startswith(" - "):
|
elif docs.startswith(" - "):
|
||||||
self.write(
|
self.write(
|
||||||
docs, wrapped=True,
|
docs, wrapped=True,
|
||||||
#i_ind=self.level * self.tab + " - ",
|
|
||||||
s_ind=self.level * self.tab + " "
|
s_ind=self.level * self.tab + " "
|
||||||
)
|
)
|
||||||
elif docs.startswith(":"):
|
|
||||||
self.write(
|
|
||||||
docs, wrapped=True,
|
|
||||||
s_ind=self.level * self.tab + " "
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
self.write(docs, wrapped=True)
|
self.write(docs, wrapped=True)
|
||||||
self.write('"""')
|
self.write('"""')
|
||||||
|
@ -179,8 +189,11 @@ class Method(object):
|
||||||
if func_desc:
|
if func_desc:
|
||||||
func_desc = func_desc.split("\n\n")
|
func_desc = func_desc.split("\n\n")
|
||||||
for desc in func_desc:
|
for desc in func_desc:
|
||||||
self.docs.append(desc)
|
for pat, repl in docstring_replacements:
|
||||||
self.docs.append("")
|
desc = pat.sub(repl, desc)
|
||||||
|
if desc:
|
||||||
|
self.docs.append(desc)
|
||||||
|
self.docs.append("")
|
||||||
|
|
||||||
for p in func.parameters_list:
|
for p in func.parameters_list:
|
||||||
pdir, ptype, name, desc = p.information
|
pdir, ptype, name, desc = p.information
|
||||||
|
@ -302,8 +315,11 @@ class Property(object):
|
||||||
if func_desc:
|
if func_desc:
|
||||||
func_desc = func_desc.split("\n\n")
|
func_desc = func_desc.split("\n\n")
|
||||||
for desc in func_desc:
|
for desc in func_desc:
|
||||||
self.docs.append(desc)
|
for pat, repl in docstring_replacements:
|
||||||
self.docs.append("")
|
desc = pat.sub(repl, desc)
|
||||||
|
if desc:
|
||||||
|
self.docs.append(desc)
|
||||||
|
self.docs.append("")
|
||||||
|
|
||||||
self.getter = None
|
self.getter = None
|
||||||
self.setter = None
|
self.setter = None
|
||||||
|
@ -437,9 +453,13 @@ class Class(object):
|
||||||
|
|
||||||
desc = self.cls.description
|
desc = self.cls.description
|
||||||
if desc:
|
if desc:
|
||||||
desc = desc.replace("\n", " ").strip()
|
desc = desc.split("\n\n")
|
||||||
self.docs.append(desc)
|
for d in desc:
|
||||||
self.docs.append("")
|
for pat, repl in docstring_replacements:
|
||||||
|
d = pat.sub(repl, d)
|
||||||
|
if d:
|
||||||
|
self.docs.append(d)
|
||||||
|
self.docs.append("")
|
||||||
|
|
||||||
for k, v in (
|
for k, v in (
|
||||||
type(self.cls).__dict__.items()
|
type(self.cls).__dict__.items()
|
||||||
|
|
Loading…
Reference in New Issue