|
585 | 585 | <span id="583">583</span>
|
586 | 586 | <span id="584">584</span>
|
587 | 587 | <span id="585">585</span>
|
| 588 | +<span id="586">586</span> |
| 589 | +<span id="587">587</span> |
| 590 | +<span id="588">588</span> |
| 591 | +<span id="589">589</span> |
| 592 | +<span id="590">590</span> |
| 593 | +<span id="591">591</span> |
| 594 | +<span id="592">592</span> |
| 595 | +<span id="593">593</span> |
| 596 | +<span id="594">594</span> |
| 597 | +<span id="595">595</span> |
| 598 | +<span id="596">596</span> |
| 599 | +<span id="597">597</span> |
| 600 | +<span id="598">598</span> |
588 | 601 | </pre><pre class="rust"><code><span class="comment">// * This file is part of the uutils coreutils package.</span>
|
589 | 602 | <span class="comment">// *</span>
|
590 | 603 | <span class="comment">// * For the full copyright and license information, please view the LICENSE</span>
|
|
611 | 624 | <span class="doccomment">/// A row comprises several pieces of information, including the</span>
|
612 | 625 | <span class="doccomment">/// filesystem device, the mountpoint, the number of bytes used, etc.</span>
|
613 | 626 | <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">struct</span> <span class="ident">Row</span> {
|
| 627 | + <span class="doccomment">/// The filename given on the command-line, if given.</span> |
| 628 | + <span class="ident">file</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">String</span><span class="op">></span>, |
| 629 | + |
614 | 630 | <span class="doccomment">/// Name of the device on which the filesystem lives.</span>
|
615 | 631 | <span class="ident">fs_device</span>: <span class="ident">String</span>,
|
616 | 632 |
|
|
660 | 676 | <span class="kw">impl</span> <span class="ident">Row</span> {
|
661 | 677 | <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">source</span>: <span class="kw-2">&</span><span class="ident">str</span>) -> <span class="self">Self</span> {
|
662 | 678 | <span class="self">Self</span> {
|
| 679 | + <span class="ident">file</span>: <span class="prelude-val">None</span>, |
663 | 680 | <span class="ident">fs_device</span>: <span class="ident">source</span>.<span class="ident">into</span>(),
|
664 | 681 | <span class="ident">fs_type</span>: <span class="string">"-"</span>.<span class="ident">into</span>(),
|
665 | 682 | <span class="ident">fs_mount</span>: <span class="string">"-"</span>.<span class="ident">into</span>(),
|
|
688 | 705 | <span class="kw">let</span> <span class="ident">inodes</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">inodes</span> <span class="op">+</span> <span class="ident">rhs</span>.<span class="ident">inodes</span>;
|
689 | 706 | <span class="kw">let</span> <span class="ident">inodes_used</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">inodes_used</span> <span class="op">+</span> <span class="ident">rhs</span>.<span class="ident">inodes_used</span>;
|
690 | 707 | <span class="kw-2">*</span><span class="self">self</span> <span class="op">=</span> <span class="self">Self</span> {
|
| 708 | + <span class="ident">file</span>: <span class="prelude-val">None</span>, |
691 | 709 | <span class="ident">fs_device</span>: <span class="string">"total"</span>.<span class="ident">into</span>(),
|
692 | 710 | <span class="ident">fs_type</span>: <span class="string">"-"</span>.<span class="ident">into</span>(),
|
693 | 711 | <span class="ident">fs_mount</span>: <span class="string">"-"</span>.<span class="ident">into</span>(),
|
|
732 | 750 | ..
|
733 | 751 | } <span class="op">=</span> <span class="ident">fs</span>.<span class="ident">usage</span>;
|
734 | 752 | <span class="self">Self</span> {
|
| 753 | + <span class="ident">file</span>: <span class="ident">fs</span>.<span class="ident">file</span>, |
735 | 754 | <span class="ident">fs_device</span>: <span class="ident">dev_name</span>,
|
736 | 755 | <span class="ident">fs_type</span>,
|
737 | 756 | <span class="ident">fs_mount</span>: <span class="ident">mount_dir</span>,
|
|
833 | 852 | <span class="ident">Column::Ipcent</span> => {
|
834 | 853 | <span class="macro">write!</span>(<span class="ident">f</span>, <span class="string">"{0: >5} "</span>, <span class="ident">DisplayRow::percentage</span>(<span class="self">self</span>.<span class="ident">row</span>.<span class="ident">inodes_usage</span>))<span class="question-mark">?</span>;
|
835 | 854 | }
|
836 |
| - <span class="comment">// TODO Implement this.</span> |
837 |
| - <span class="ident">Column::File</span> => {} |
| 855 | + <span class="ident">Column::File</span> => { |
| 856 | + <span class="macro">write!</span>(<span class="ident">f</span>, <span class="string">"{0: <16}"</span>, <span class="self">self</span>.<span class="ident">row</span>.<span class="ident">file</span>.<span class="ident">as_ref</span>().<span class="ident">unwrap_or</span>(<span class="kw-2">&</span><span class="string">"-"</span>.<span class="ident">into</span>()))<span class="question-mark">?</span>; |
| 857 | + } |
838 | 858 | <span class="ident">Column::Fstype</span> => <span class="macro">write!</span>(<span class="ident">f</span>, <span class="string">"{0: <5} "</span>, <span class="self">self</span>.<span class="ident">row</span>.<span class="ident">fs_type</span>)<span class="question-mark">?</span>,
|
839 | 859 | <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">target_os</span> <span class="op">=</span> <span class="string">"macos"</span>)]</span>
|
840 | 860 | <span class="ident">Column::Capacity</span> => <span class="macro">write!</span>(
|
|
993 | 1013 | ..<span class="ident">Default::default</span>()
|
994 | 1014 | };
|
995 | 1015 | <span class="kw">let</span> <span class="ident">row</span> <span class="op">=</span> <span class="ident">Row</span> {
|
| 1016 | + <span class="ident">file</span>: <span class="prelude-val">Some</span>(<span class="string">"/path/to/file"</span>.<span class="ident">to_string</span>()), |
996 | 1017 | <span class="ident">fs_device</span>: <span class="string">"my_device"</span>.<span class="ident">to_string</span>(),
|
997 | 1018 | <span class="ident">fs_type</span>: <span class="string">"my_type"</span>.<span class="ident">to_string</span>(),
|
998 | 1019 | <span class="ident">fs_mount</span>: <span class="string">"my_mount"</span>.<span class="ident">to_string</span>(),
|
|
1024 | 1045 | ..<span class="ident">Default::default</span>()
|
1025 | 1046 | };
|
1026 | 1047 | <span class="kw">let</span> <span class="ident">row</span> <span class="op">=</span> <span class="ident">Row</span> {
|
| 1048 | + <span class="ident">file</span>: <span class="prelude-val">Some</span>(<span class="string">"/path/to/file"</span>.<span class="ident">to_string</span>()), |
1027 | 1049 | <span class="ident">fs_device</span>: <span class="string">"my_device"</span>.<span class="ident">to_string</span>(),
|
1028 | 1050 | <span class="ident">fs_type</span>: <span class="string">"my_type"</span>.<span class="ident">to_string</span>(),
|
1029 | 1051 | <span class="ident">fs_mount</span>: <span class="string">"my_mount"</span>.<span class="ident">to_string</span>(),
|
|
1055 | 1077 | ..<span class="ident">Default::default</span>()
|
1056 | 1078 | };
|
1057 | 1079 | <span class="kw">let</span> <span class="ident">row</span> <span class="op">=</span> <span class="ident">Row</span> {
|
| 1080 | + <span class="ident">file</span>: <span class="prelude-val">Some</span>(<span class="string">"/path/to/file"</span>.<span class="ident">to_string</span>()), |
1058 | 1081 | <span class="ident">fs_device</span>: <span class="string">"my_device"</span>.<span class="ident">to_string</span>(),
|
1059 | 1082 | <span class="ident">fs_type</span>: <span class="string">"my_type"</span>.<span class="ident">to_string</span>(),
|
1060 | 1083 | <span class="ident">fs_mount</span>: <span class="string">"my_mount"</span>.<span class="ident">to_string</span>(),
|
|
1086 | 1109 | ..<span class="ident">Default::default</span>()
|
1087 | 1110 | };
|
1088 | 1111 | <span class="kw">let</span> <span class="ident">row</span> <span class="op">=</span> <span class="ident">Row</span> {
|
| 1112 | + <span class="ident">file</span>: <span class="prelude-val">Some</span>(<span class="string">"/path/to/file"</span>.<span class="ident">to_string</span>()), |
1089 | 1113 | <span class="ident">fs_device</span>: <span class="string">"my_device"</span>.<span class="ident">to_string</span>(),
|
1090 | 1114 | <span class="ident">fs_type</span>: <span class="string">"my_type"</span>.<span class="ident">to_string</span>(),
|
1091 | 1115 | <span class="ident">fs_mount</span>: <span class="string">"my_mount"</span>.<span class="ident">to_string</span>(),
|
|
1117 | 1141 | ..<span class="ident">Default::default</span>()
|
1118 | 1142 | };
|
1119 | 1143 | <span class="kw">let</span> <span class="ident">row</span> <span class="op">=</span> <span class="ident">Row</span> {
|
| 1144 | + <span class="ident">file</span>: <span class="prelude-val">Some</span>(<span class="string">"/path/to/file"</span>.<span class="ident">to_string</span>()), |
1120 | 1145 | <span class="ident">fs_device</span>: <span class="string">"my_device"</span>.<span class="ident">to_string</span>(),
|
1121 | 1146 | <span class="ident">fs_type</span>: <span class="string">"my_type"</span>.<span class="ident">to_string</span>(),
|
1122 | 1147 | <span class="ident">fs_mount</span>: <span class="string">"my_mount"</span>.<span class="ident">to_string</span>(),
|
|
1147 | 1172 | ..<span class="ident">Default::default</span>()
|
1148 | 1173 | };
|
1149 | 1174 | <span class="kw">let</span> <span class="ident">row</span> <span class="op">=</span> <span class="ident">Row</span> {
|
| 1175 | + <span class="ident">file</span>: <span class="prelude-val">Some</span>(<span class="string">"/path/to/file"</span>.<span class="ident">to_string</span>()), |
1150 | 1176 | <span class="ident">fs_device</span>: <span class="string">"my_device"</span>.<span class="ident">to_string</span>(),
|
1151 | 1177 | <span class="ident">fs_type</span>: <span class="string">"my_type"</span>.<span class="ident">to_string</span>(),
|
1152 | 1178 | <span class="ident">fs_mount</span>: <span class="string">"my_mount"</span>.<span class="ident">to_string</span>(),
|
|
0 commit comments