Expand description
Wrapper types for the values returned from Files.
The methods of File that return information about the entry on the
filesystem – size, modification date, block count, or Git status – used
to just return these as formatted strings, but this became inflexible once
customisable output styles landed.
Instead, they will return a wrapper type from this module, which tags the type with what field it is while containing the actual raw value.
The output::details module, among others, uses these types to render and
display the information as formatted strings.
Structs§
- DeviceI
Ds - The major and minor device IDs that gets displayed for device files.
- Flags
- The user file flags on the file. This will only ever be a number;
looking up the flags is done in the
displaymodule. - Git
- A file’s complete Git status. It’s possible to make changes to a file, add it to the staging area, then make more changes, so we need to list each file’s status for both of these.
- Group
- The ID of the group that a file belongs to.
- Inode
- A file’s inode. Every directory entry on a Unix filesystem has an inode, including directories and links, so this is applicable to everything exa can deal with.
- Links
- A file’s number of hard links on the filesystem.
- Octal
Permissions - The permissions encoded as octal values
- Permissions
- The file’s Unix permission bitfield, with one entry per bit.
- Permissions
Plus - The three pieces of information that are displayed as a single column in the details view. These values are fused together to make the output a little more compressed.
- Security
Context - Subdir
GitRepo - User
- The ID of the user that owns a file. This will only ever be a number;
looking up the username is done in the
displaymodule.
Enums§
- Blocksize
- A file’s size of allocated file system blocks.
- GitStatus
- A file’s status in a Git repository. Whether a file is in a repository or not is handled by the Git module, rather than having a “null” variant in this enum.
- Security
Context Type - Size
- A file’s size, in bytes. This is usually formatted by the
unit_prefixcrate into something human-readable. - Subdir
GitRepo Status - Type
- The file’s base type, which gets displayed in the very first column of the details output.