vis-open.1 (2286B)
- .Dd November 29, 2016
- .Dt VIS-OPEN 1
- .Os Vis v0.9
- .
- .Sh NAME
- .Nm vis-open
- .Nd Interactively select a file to open
- .
- .Sh SYNOPSIS
- .Nm vis-open
- .Op Fl p Ar prompt
- .Op Fl f
- .Op Ar --
- .Op Ar files
- .Pp
- .Nm vis-open
- .Fl h
- .
- .Sh DESCRIPTION
- .Nm vis-open
- takes a list of filenames and directories on the command-line
- and displays them in a menu for the user to select one.
- If the user selects a directory
- (including
- .Li .. ) ,
- the directory contents are displayed as a fresh menu.
- Once the user has selected a filename,
- its absolute path is printed to standard output.
- .Pp
- .Nm vis-open
- uses
- .Xr vis-menu 1
- as its user-interface,
- so see that page for more details.
- .
- .Bl -tag -width flag
- .It Fl p Ar prompt
- Display
- .Ar prompt
- before the list of items.
- This is passed straight through to
- .Xr vis-menu 1 .
- .It Fl f
- Normally,
- if
- .Nm vis-open
- is provided with a single filename or directory argument,
- it will automatically select it
- (printing the filename to standard output,
- or presenting a new menu with the contents of the directory).
- If
- .Fl f
- is provided,
- .Nm vis-open
- will always present the arguments it's given,
- even if there's only one.
- .It Fl -
- If this token is encountered before the first non-option argument,
- all following arguments will be treated as menu-items,
- even if they would otherwise be valid command-line options.
- .Pp
- If encountered after the first non-option argument,
- or after a previous instance of
- .Li --
- it is treated as a menu-item.
- .It Ar files
- File and directory names to be presented to the user.
- If a name does not exist on the filesystem
- and the user selects it,
- it is treated as a file.
- .It Fl h
- If present,
- .Nm vis-open
- prints a usage summary and exits,
- ignoring any other flag and arguments.
- .El
- .
- .Sh EXIT STATUS
- .Ex -std vis-open
- .Pp
- In particular,
- like
- .Xr vis-menu 1 ,
- .Nm vis-open
- prints nothing and sets its exit status to 1
- if the user refused to select a file.
- .
- .Sh EXAMPLES
- .Bd -literal -offset indent
- CHOICE=$(vis-open -p "Select a file to stat")
- if [ $? -gt 0 ]; then
- echo "No selection was made, or an error occurred"
- else
- stat "$CHOICE"
- fi
- .Ed
- .
- .Sh SEE ALSO
- .Xr vis 1 ,
- .Xr vis-menu 1
- .
- .Sh BUGS
- Because
- .Nm vis-open
- uses
- .Xr ls 1
- to obtain the contents of a directory,
- weird things might happen if you have control-characters in your filenames.