Paths
First pls organises paths supplied as CLI arguments into groups of solo
files and individual directories. Then it prints each group one by one.
pls README.md Cargo.toml Cargo.lock src docs README.md Cargo.toml Cargo.lock
src: args/ └─ args.rs config/ └─ config.rs enums/ └─ enums.rs ext/ └─ ext.rs fmt/ └─ fmt.rs gfx/ └─ gfx.rs models/ └─ models.rs output/ └─ output.rs traits/ └─ traits.rs utils/ └─ utils.rs exc.rs main.rs .pls.yml
docs: node_modules/ public/ src/ astro.config.ts .gitignore justfile package.json .pls.yml tsconfig.jsonSolo files
The solo files group consists of all files supplied individually. These files
are collected into one group. Each of the files in this group comes with its own
separate configuration derived from .pls.yml files.
The special thing here is that the group also has its own configuration determined from the common ancestor of all these files. This group-level configuration sets top-level options such as table headings, box-drawing characters and importance scales.
Consider the following filesystem tree:
file_group├── .pls.yml├── a└── subdir ├── .pls.yml └── bapp_const: table: header_style: red bold underlineentry_const: user_styles: curr: green bold other: green boldspecs: - pattern: ^a$ style: red underlineapp_const: table: header_style: blueentry_const: nlink_styles: file_sing: blue timestamp_formats: mtime: "<bold blue>[year]-[month]-[day]</>"specs: - pattern: ^a$ style: blue icons: - filepls a ./../file_group/./subdir/aLink# T Permissions User Group Size Modified Name 1 f rw- r-- r-- runner docker 0.0 B 2025-Apr-15 05:16pm a 1 f rw- r-- r-- runner docker 0.0 B 2025-04-15 ./../file_group/./subdir/aNote how both files retain their individual configurations for the row, but the
table settings come from the outer .pls.yml file. Also note that the file
names are shown exactly as they were passed on the command line.
Symlinks
By default, pls does not follow symlinks in the arguments provided to it. So
a symlink to a directory will be treated as a file input and will not list the
contents of the target directory.
pls sym sym@ ./dirpls ./dir LICENSE README.md