summaryrefslogtreecommitdiffstats
path: root/src/output
diff options
context:
space:
mode:
authorBen S <ogham@bsago.me>2015-08-25 11:50:07 +0100
committerBen S <ogham@bsago.me>2015-08-25 11:50:07 +0100
commit7deb08644ac85656c61f1917f2011fa72ca9eb86 (patch)
tree9cd6dcf4e941000f748e211df842c7ab7d1adf9b /src/output
parentec0539d314683f8340353fb271e792f9b5b19cc7 (diff)
Comment corrections
Diffstat (limited to 'src/output')
-rw-r--r--src/output/details.rs22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/output/details.rs b/src/output/details.rs
index 3c0343f..cb2f2ea 100644
--- a/src/output/details.rs
+++ b/src/output/details.rs
@@ -113,22 +113,30 @@ impl Details {
struct Row {
/// Vector of cells to display.
- cells: Option<Vec<Cell>>,
+ ///
+ /// Most of the rows will be files that have had their metadata
+ /// successfully queried and displayed in these cells, so this will almost
+ /// always be `Some`. It will be `None` for a row that's only displaying
+ /// an attribute or an error.
+ cells: Option<Vec<Cell>>,
+
+ // Did You Know?
+ // A Vec<Cell> and an Option<Vec<Cell>> actually have the same byte size!
/// This file's name, in coloured output. The name is treated separately
/// from the other cells, as it never requires padding.
- name: Cell,
+ name: Cell,
/// How many directories deep into the tree structure this is. Directories
/// on top have depth 0.
- depth: usize,
+ depth: usize,
/// Vector of this file's extended attributes, if that feature is active.
- attrs: Vec<Attribute>,
+ attrs: Vec<Attribute>,
/// Whether this is the last entry in the directory. This flag is used
/// when calculating the tree view.
- last: bool,
+ last: bool,
/// Whether this file is a directory and has any children. Also used when
/// calculating the tree view.
@@ -136,6 +144,8 @@ struct Row {
}
impl Row {
+
+ /// Gets the 'width' of the indexed column, if present. If not, returns 0.
fn column_width(&self, index: usize) -> usize {
match self.cells {
Some(ref cells) => cells[index].length,
@@ -398,7 +408,7 @@ impl<U> Table<U> where U: Users {
Cell::paint(style, &*group_name)
}
- /// Print the table to standard output, consuming it in the process.
+ /// Render the table as a vector of Cells, to be displayed on standard output.
pub fn print_table(&self, xattr: bool, show_children: bool) -> Vec<Cell> {
let mut stack = Vec::new();
let mut cells = Vec::new();