Skip to main content

Module fields

Module fields 

Source
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§

DeviceIDs
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 display module.
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.
OctalPermissions
The permissions encoded as octal values
Permissions
The file’s Unix permission bitfield, with one entry per bit.
PermissionsPlus
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.
SecurityContext
SubdirGitRepo
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 display module.

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.
SecurityContextType
Size
A file’s size, in bytes. This is usually formatted by the unit_prefix crate into something human-readable.
SubdirGitRepoStatus
Type
The file’s base type, which gets displayed in the very first column of the details output.

Type Aliases§

flag_t
The type of user file flags
gid_t
The type of a file’s group ID.
ino_t
The type of a file’s inode.
nlink_t
The type of a file’s number of links.
uid_t
The type of a file’s user ID.