mirror of
https://github.com/abraunegg/onedrive
synced 2024-05-29 20:12:36 +02:00
better help output formatting (Issue #298)
This commit is contained in:
parent
f7a50c0d97
commit
b9890ae2e5
46
src/main.d
46
src/main.d
|
@ -101,18 +101,14 @@ int main(string[] args)
|
||||||
"single-directory", "Specify a single local directory within the OneDrive root to sync.", &singleDirectory,
|
"single-directory", "Specify a single local directory within the OneDrive root to sync.", &singleDirectory,
|
||||||
"skip-symlinks", "Skip syncing of symlinks", &skipSymlinks,
|
"skip-symlinks", "Skip syncing of symlinks", &skipSymlinks,
|
||||||
"source-directory", "Source directory to rename or move on OneDrive - no sync will be performed.", &sourceDirectory,
|
"source-directory", "Source directory to rename or move on OneDrive - no sync will be performed.", &sourceDirectory,
|
||||||
"syncdir", "Set the directory used to sync the files that are synced", &syncDirName,
|
"syncdir", "Specify the local directory used for synchronization to OneDrive", &syncDirName,
|
||||||
"synchronize", "Perform a synchronization", &synchronize,
|
"synchronize", "Perform a synchronization", &synchronize,
|
||||||
"upload-only", "Only upload to OneDrive, do not sync changes from OneDrive locally", &uploadOnly,
|
"upload-only", "Only upload to OneDrive, do not sync changes from OneDrive locally", &uploadOnly,
|
||||||
"verbose|v+", "Print more details, useful for debugging (repeat for extra debugging)", &log.verbose,
|
"verbose|v+", "Print more details, useful for debugging (repeat for extra debugging)", &log.verbose,
|
||||||
"version", "Print the version and exit", &printVersion
|
"version", "Print the version and exit", &printVersion
|
||||||
);
|
);
|
||||||
if (opt.helpWanted) {
|
if (opt.helpWanted) {
|
||||||
defaultGetoptPrinter(
|
outputLongHelp(opt.options);
|
||||||
"Usage: onedrive [OPTION]...\n\n" ~
|
|
||||||
"no option No sync and exit",
|
|
||||||
opt.options
|
|
||||||
);
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
} catch (GetOptException e) {
|
} catch (GetOptException e) {
|
||||||
|
@ -675,3 +671,41 @@ extern(C) nothrow @nogc @system void exitHandler(int value) {
|
||||||
} catch(Exception e) {}
|
} catch(Exception e) {}
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
void outputLongHelp(Option[] opt)
|
||||||
|
{
|
||||||
|
auto argsNeedingOptions = [
|
||||||
|
"--confdir",
|
||||||
|
"--create-directory",
|
||||||
|
"--destination-directory",
|
||||||
|
"--get-O365-drive-id",
|
||||||
|
"--remove-directory",
|
||||||
|
"--single-directory",
|
||||||
|
"--source-directory",
|
||||||
|
"--syncdir" ];
|
||||||
|
writeln(`OneDrive - a client for OneDrive Cloud Services
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
onedrive [options] --synchronize
|
||||||
|
Do a one time synchronization
|
||||||
|
onedrive [options] --monitor
|
||||||
|
Monitor filesystem and sync regularly
|
||||||
|
onedrive [options] --display-config
|
||||||
|
Display the currently used configuration
|
||||||
|
onedrive [options] --display-sync-status
|
||||||
|
Query OneDrive service and report on pending changes
|
||||||
|
onedrive -h | --help
|
||||||
|
Show this help screen
|
||||||
|
onedrive --version
|
||||||
|
Show version
|
||||||
|
|
||||||
|
Options:
|
||||||
|
`);
|
||||||
|
foreach (it; opt) {
|
||||||
|
writefln(" %s%s%s%s\n %s",
|
||||||
|
it.optShort == "" ? "" : it.optShort ~ " ",
|
||||||
|
it.optLong,
|
||||||
|
argsNeedingOptions.canFind(it.optLong) ? " ARG" : "",
|
||||||
|
it.required ? " (required)" : "", it.help);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue