diff --git a/man/open.1 b/man/open.1 new file mode 100644 index 0000000..c5cbee6 --- /dev/null +++ b/man/open.1 @@ -0,0 +1,70 @@ +.Dd $Mdocdate$ +.Dt OPEN 1 +.Os +.Sh NAME +.Nm open +.Nd opens files with a user-defined program. +.Sh SYNOPSIS +.Nm open +.Op Ar file +.Nm open +.Op Fl hpv +.Sh DESCRIPTION +.Nm +is a replacement for +.Xr xdg-open 1 +that is more easily configurable with a TOML file. Its options are as follows: +.Bl -tag -width Ds +.It Fl h\ |\ --help +Displays a brief help text. +.It Fl p\ |\ --path +Displays the path to the configuration file being used. +.It Fl v\ |\ --version +Displays version information. +.It Ar file +The file to open. If not provided, the current directory is used. +.El +.Sh FILES +.Bl -tag -width DS +.It $HOME/.config/open.toml +The global configuration file in TOML format. +.It .open +The local configuration file in TOML format. +.Nm open +will search upwards to try to find a local file. Local configuration items are prioritized. +.El +.Sh CONFIGURATION +Files can be matched on extension or exact name. Filenames are in the 'filename' array, and extensions are in the 'extension' array. +.Pp +.Dl [[extension]] +.Dl match = (string or array; matching value(s)) +.Dl command = (string; the command to open with) +.Dl shell = (boolean; decides if the command is run in the terminal) +.Pp +.Pp +The "dir" section is used to set associations for directories: +.Pp +.Dl [dir] +.Dl command = (string; the command to open with) +.Dl shell = (boolean; decides if the command is run in the terminal) +.Pp +.Sh EXIT STATUS +.Bl -tag -width Ds +.It 1 +No configuration file was found. +.It 4 +The target file does not exist. +.It 5 +No matching configuration section was found for the target file. +.El +.Sh SEE ALSO +.Xr xdg-open 1 , +.Xr open 3p +.Sh AUTHORS +.An -nosplit +.An Valerie Wolfe Aq Mt sleeplessval@gmail.com +.Sh BUGS +.Nm +hides the +.Xr open 3p +builtin, breaking convention and possibly some older script files.