-% NITLS(1)
-
# NAME
-nitls - lists the projects, groups and paths of Nit sources files.
+nitls - search and lists the packages, groups and paths of Nit sources files.
# SYNOPSIS
-nitls [*options*] FILE...
+nitls [*options*] [*FILE*]...
# DESCRIPTION
-`nitls` is used to list Nit files in directories and extract the module-group-project relation.
+`nitls` is used to search and list Nit files in directories and extract the module-group-package relation.
+
+It is basically a `ls`, a `which` or a simple `find` specialized on `.nit` source files.
+
+By default `nitls` works with the current directory (`.`).
+
+Each file can then be:
-It is basically a `ls` or a simple `find` specialized on `.nit` source files.
+* 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.
# EXAMPLES
-Show the tree of modules from the current directory and subdirectories.
+Show the tree of modules from the current directory.
- $ nitls -t -r .
+ $ 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 projects imported by the modules of the current directory.
+
+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 `inkscape_tools`.
+
+ $ nitls -pP inkscape_tools
+ /home/privat/prog/nit/contrib/inkscape_tools
# OPTIONS
-## COLLECT
+Each combination of option
+
+## PRESENTATION MODE
-`-r`, `--recursive`
-: Process directories recursively.
+Three presentation modes are available.
- All `.nit` files found in the specified directory and subdirectories are considered.
+### `-P`, `--package`
+List packages in a flat list (default).
-`-d`, `--depends`
-: List dependencies of given modules
+Only package are displayed (and not the individual files).
- All imported modules are also considered.
+### `-t`, `--tree`
+List source files in their groups and packages.
-`-k`, `--keep`
-: Ignore errors and files that are not a Nit source file.
+Each `.nit` file is presented in a tree of packages and groups.
- When a file that is not a valit Nit module is encoutered, it is ignored and the rest of the file are
- processed.
+### `-s`, `--source`
+List source files in a flat list.
- Without this option, a error message is displayed and nitls terminates on such a case.
+Each `.nit` file is presented individually.
-## PRESENTATION MODE
+The three modes are exclusives.
-Three presentation modes are available.
+The default mode is `--package` unless one on the argument is a group, then it is `--group`.
+
+## COLLECT
+
+### `-r`, `--recursive`
+Process directories recursively.
-`-P`, `--project`
-: List projects in a flat list (default).
+All `.nit` files found in the specified directory and subdirectories are considered.
- Only project are displayed (and not the individual files).
+### `-d`, `--depends`
+List dependencies of given modules.
-`-t`, `--tree`
-: List source files in their groups and projects.
+All imported modules are also considered.
- Each `.nit` file is presented in a tree of projects and groups.
+In --tree and --source modes, the modules directly imported are also displayed.
-`-s`, `--source`
-: List source files in a flat list.
+### `-k`, `--keep`
+Ignore errors and files that are not a Nit source file.
- Each `.nit` file is presented indivitually.
+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.
## PRESENTATION OPTIONS
-`-p`, `--path`
-: List only path (instead of name + path).
+### `-p`, `--path-only`
+List only path (instead of name + path).
+
+Paths are displayed uncolored.
-`-M`
-: List dependencies suitable for a rule in a Makefile.
+### `-M`
+List dependencies suitable for a rule in a Makefile.
- Alias for `-d`, `-p` and `-s`.
+Alias for `-d`, `-p` and `-s`.
# SEE ALSO