printn "Reading {dir}... "
end
loop
- for f in dir.files do
+ for f in list_files(dir) do
var path = dir/f
if path.file_stat.is_dir then
directories.push(path)
if directories.length <= 0 then break
dir = directories.pop
end
+ model.add_global_modules
print "Done."
if file_count < 2 then
print "{file_count} file read."
end
end
+ # List files in a directory.
+ #
+ # This method may be redefined to force the order in which the files
+ # are read by `load_project`.
+ protected fun list_files(dir: String): Collection[String] do
+ return dir.files
+ end
+
# Check the project’s name.
private fun check_name(name: String) do
assert name_valid: not name.chars.first.is_upper else
init do
sources["any"] = new DefaultSource
sources["java"] = new JavaSource
+ sources["python"] = new PythonSource
var prefix = new OptionText("""
{{{"NAME".bold}}}
var keys = new Array[String].from(sources.keys)
opt_src_lang = new OptionEnum(keys,
- "The programming language to assume when processing chunk in the declarations left as-is by Doxygen. Use `any` (the default) to disable any language-specific processing.",
+ "The programming language to assume when processing chunks in the declarations left as-is by Doxygen. Use `any` (the default) to disable any language-specific processing.",
keys.index_of("any"), "--src-lang")
option_context.add_option(opt_src_lang)
end
# Add handling of multi-line descriptions.
#
-# Note: The algorithm is naive and do not handle internationalisation and
-# escape sequences.
+# Note: The algorithm is naive and do not handle internationalisation,
+# multi-byte characters and control characters.
redef class Option
redef fun pretty(off) do