Skip to content

Commit e0b8292

Browse files
committed
Split internal and external modules
1 parent a4cd98b commit e0b8292

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = 'sphinxfortran_ng'
3-
version = '0.4.5'
3+
version = '0.4.6'
44
authors = [{name = "Lorenzo Crippa", email="[email protected]"}]
55
description = "An improved version of the sphinx-fortran python module"
66
readme = "README.md"

src/sphinxfortran_ng/fortran_autodoc.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1106,12 +1106,14 @@ def format_use(self, block, indent=0, short=False):
11061106
if short:
11071107
use = ':use: '
11081108
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)
11101111
lines = []
11111112
shortlines = []
11121113
funclines=[]
1114+
is_internal ={}
11131115
for mname, monly in list(block['use'].items()):
1114-
1116+
is_internal[mname] = mname in self.modules
11151117
# Reference to the module
11161118
line = (self.indent(indent) if not short else '') + \
11171119
':f:mod:`%s`' % mname
@@ -1143,6 +1145,7 @@ def format_use(self, block, indent=0, short=False):
11431145
# Append
11441146
shortlines.append(shortline)
11451147
lines.append([line])
1148+
11461149
if short:
11471150
use += ', '.join(shortlines)
11481151
use = self.format_lines(use, indent)
@@ -1152,7 +1155,17 @@ def format_use(self, block, indent=0, short=False):
11521155
subln = None
11531156
else:
11541157
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))
11561169
del lines
11571170
return use
11581171

0 commit comments

Comments
 (0)