nitls - search and lists the packages, groups and paths of Nit sources files.
nitls [options] [FILE]...
nitls is used to search and list Nit files in directories and extract the module-group-package relation.
It is basically a
which or a simple
find specialized on
.nit source files.
nitls works with the current directory (
Each file can then be:
- A Nit module (file). In this case, only this single module is considered
- A Nit group (directory). In this case, all the modules of the groups (and recursively the sub-groups) are considered
- A normal directory. In this case, all its entries are analysed. Files that are Nit modules and directories that are Nit groups are considered. Other files and directories are ignored.
Show the tree of modules from the current directory.
$ nitls test_prog: Test program for model tools. (.) |--game: Gaming group (./game) | `--game: A game abstraction for RPG. (./game/game.nit) |--platform: Fictive Crappy Platform. (./platform) | `--platform: Declares base types allowed on the platform. (./platform/platform.nit) |--rpg: Role Playing Game group (./rpg) | |--careers: Careers of the game. (./rpg/careers.nit) | |--character: Characters are playable entity in the world. (./rpg/character.nit) | |--combat: COmbat interactions between characters. (./rpg/combat.nit) | |--races: Races of the game. (./rpg/races.nit) | `--rpg: A worlg RPG abstraction. (./rpg/rpg.nit) `--test_prog: A test program with a fake model to check model tools. (./test_prog.nit)
Show the list of packages imported by the modules of the current directory.
$ nitls -d -P *.nit base64: Offers the base 64 encoding and decoding algorithms (/home/privat/prog/nit/lib/base64.nit) core: # Nit common library of core classes and methods (/home/privat/prog/nit/lib/core) curl: Data transfer with URL syntax (/home/privat/prog/nit/lib/curl) json (/home/privat/prog/nit/lib/json) libevent: Low-level wrapper around the libevent library to manage events on file descriptors (/home/privat/prog/nit/lib/libevent.nit) md5: Native MD5 digest implementation as `Text::md5` (/home/privat/prog/nit/lib/md5.nit) more_collections: Highly specific, but useful, collections-related classes. (/home/privat/prog/nit/lib/more_collections.nit) nitcc_runtime: Runtime library required by parsers and lexers generated by nitcc (/home/privat/prog/nit/lib/nitcc_runtime.nit) nitcorn: Lightweight framework for Web applications development (.) parser_base: Simple base for hand-made parsers of all kinds (/home/privat/prog/nit/lib/parser_base.nit) performance_analysis: Services to gather information on the performance of events by categories (/home/privat/prog/nit/lib/performance_analysis.nit) realtime: Services to keep time of the wall clock time (/home/privat/prog/nit/lib/realtime.nit) serialization: # Abstract serialization services (/home/privat/prog/nit/lib/serialization) template: Basic template system (/home/privat/prog/nit/lib/template)
Show the directory of the package
$ nitls -pP inkscape_tools /home/privat/prog/nit/contrib/inkscape_tools
Each combination of option
Three presentation modes are available.
List packages in a flat list (default).
Only package are displayed (and not the individual files).
List source files in their groups and packages.
.nit file is presented in a tree of packages and groups.
List source files in a flat list.
.nit file is presented individually.
The three modes are exclusives.
The default mode is
--package unless one on the argument is a group, then it is
Process directories recursively.
.nit files found in the specified directory and subdirectories are considered.
List dependencies of given modules.
All imported modules are also considered.
In --tree and --source modes, the modules directly imported are also displayed.
Ignore errors and files that are not a Nit source file.
When a file that is not a valid Nit module is encountered, it is ignored and the rest of the files are processed.
Without this option, an error message is displayed and nitls terminates on such a case.
List only path (instead of name + path).
Paths are displayed uncolored.
List dependencies suitable for a rule in a Makefile.