@@ -129,8 +129,24 @@ func main() {
129129 os .Exit (0 )
130130 }
131131
132+ // read mount table
133+ m , warnings , err := mounts ()
134+ if err != nil {
135+ fmt .Fprintln (os .Stderr , err )
136+ os .Exit (1 )
137+ }
138+
139+ // print JSON
140+ if * jsonOutput {
141+ err := renderJSON (m )
142+ if err != nil {
143+ fmt .Fprintln (os .Stderr , err )
144+ }
145+
146+ return
147+ }
148+
132149 // validate theme
133- var err error
134150 theme , err = loadTheme (* themeOpt )
135151 if err != nil {
136152 fmt .Fprintln (os .Stderr , err )
@@ -174,23 +190,21 @@ func main() {
174190 OnlyFilesystems : parseCommaSeparatedValues (* onlyFs ),
175191 }
176192
177- // detect terminal width
178- isTerminal := terminal .IsTerminal (int (os .Stdout .Fd ()))
179- if isTerminal && * width == 0 {
180- w , _ , err := terminal .GetSize (int (os .Stdout .Fd ()))
181- if err == nil {
182- * width = uint (w )
193+ // validate arguments
194+ if len (flag .Args ()) > 0 {
195+ var mounts []Mount
196+
197+ for _ , v := range flag .Args () {
198+ fm , err := findMounts (m , v )
199+ if err != nil {
200+ fmt .Println (err )
201+ os .Exit (1 )
202+ }
203+
204+ mounts = append (mounts , fm ... )
183205 }
184- }
185- if * width == 0 {
186- * width = 80
187- }
188206
189- // read mount table
190- m , warnings , err := mounts ()
191- if err != nil {
192- fmt .Fprintln (os .Stderr , err )
193- os .Exit (1 )
207+ m = mounts
194208 }
195209
196210 // print out warnings
@@ -200,14 +214,16 @@ func main() {
200214 }
201215 }
202216
203- // print JSON
204- if * jsonOutput {
205- err := renderJSON (m )
206- if err != nil {
207- fmt .Fprintln (os .Stderr , err )
217+ // detect terminal width
218+ isTerminal := terminal .IsTerminal (int (os .Stdout .Fd ()))
219+ if isTerminal && * width == 0 {
220+ w , _ , err := terminal .GetSize (int (os .Stdout .Fd ()))
221+ if err == nil {
222+ * width = uint (w )
208223 }
209-
210- return
224+ }
225+ if * width == 0 {
226+ * width = 80
211227 }
212228
213229 // print tables
0 commit comments