# NAME nitls - search and lists the packages, groups and paths of Nit sources files. # SYNOPSIS nitls [*options*] [*FILE*]... # DESCRIPTION `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: * 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. $ 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 `inkscape_tools`. $ nitls -pP inkscape_tools /home/privat/prog/nit/contrib/inkscape_tools # OPTIONS Each combination of option ## PRESENTATION MODE Three presentation modes are available. ### `-P`, `--package` List packages in a flat list (default). Only package are displayed (and not the individual files). ### `-t`, `--tree` List source files in their groups and packages. Each `.nit` file is presented in a tree of packages and groups. ### `-s`, `--source` List source files in a flat list. Each `.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 `--group`. ## COLLECT ### `-r`, `--recursive` Process directories recursively. All `.nit` files found in the specified directory and subdirectories are considered. ### `-d`, `--depends` List dependencies of given modules. All imported modules are also considered. In --tree and --source modes, the modules directly imported are also displayed. ### `-k`, `--keep` 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. ## PRESENTATION OPTIONS ### `-p`, `--path-only` List only path (instead of name + path). Paths are displayed uncolored. ### `-M` List dependencies suitable for a rule in a Makefile. Alias for `-d`, `-p` and `-s`. # SEE ALSO The Nit language documentation and the source code of its tools and libraries may be downloaded from