@@ -1106,12 +1106,14 @@ def format_use(self, block, indent=0, short=False):
1106
1106
if short :
1107
1107
use = ':use: '
1108
1108
else :
1109
- use = self .format_subsection ('Used modules' , indent = indent )
1109
+ use_internal = self .format_subsection ('Used modules' , indent = indent )
1110
+ use_external = self .format_subsection ('External modules' , indent = indent )
1110
1111
lines = []
1111
1112
shortlines = []
1112
1113
funclines = []
1114
+ is_internal = {}
1113
1115
for mname , monly in list (block ['use' ].items ()):
1114
-
1116
+ is_internal [ mname ] = mname in self . modules
1115
1117
# Reference to the module
1116
1118
line = (self .indent (indent ) if not short else '' ) + \
1117
1119
':f:mod:`%s`' % mname
@@ -1143,6 +1145,7 @@ def format_use(self, block, indent=0, short=False):
1143
1145
# Append
1144
1146
shortlines .append (shortline )
1145
1147
lines .append ([line ])
1148
+
1146
1149
if short :
1147
1150
use += ', ' .join (shortlines )
1148
1151
use = self .format_lines (use , indent )
@@ -1152,7 +1155,17 @@ def format_use(self, block, indent=0, short=False):
1152
1155
subln = None
1153
1156
else :
1154
1157
subln = funclines [i ]
1155
- use += self .format_lines (lines [i ], indent , bullet = '-' ,sublines = subln ) + '\n '
1158
+ try :
1159
+ mname = re .search (r':f:mod:`([^`]+)`' , lines [i ][0 ]).group (1 )
1160
+ isint = is_internal [mname ]
1161
+ except :
1162
+ isint = True
1163
+ if isint :
1164
+ use_internal += self .format_lines (lines [i ], indent , bullet = '-' ,sublines = subln ) + '\n '
1165
+ else :
1166
+ use_external += self .format_lines (lines [i ], indent , bullet = '-' ,sublines = subln ) + '\n '
1167
+ use += use_internal * (use_internal != self .format_subsection ('Used modules' , indent = indent ))
1168
+ use += use_external * (use_external != self .format_subsection ('External modules' , indent = indent ))
1156
1169
del lines
1157
1170
return use
1158
1171
0 commit comments