From 7deb08644ac85656c61f1917f2011fa72ca9eb86 Mon Sep 17 00:00:00 2001 From: Ben S Date: Tue, 25 Aug 2015 11:50:07 +0100 Subject: Comment corrections --- src/output/details.rs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'src/output') 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>, + /// + /// 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>, + + // Did You Know? + // A Vec and an Option> 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, + attrs: Vec, /// 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 Table 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 { let mut stack = Vec::new(); let mut cells = Vec::new(); -- cgit v1.2.3