From 9102444b2ce3a35f3cada5f2a8b67fba270a1e13 Mon Sep 17 00:00:00 2001 From: francescobianco Date: Tue, 12 Sep 2023 00:25:47 +0200 Subject: [PATCH] First commit --- docs/commands/mush-init.md | 165 +++++++++++++ docs/environment-variables.md | 425 ++++++++++++++++++++++++++++++++++ target/debug/mush | 2 +- 3 files changed, 591 insertions(+), 1 deletion(-) create mode 100644 docs/commands/mush-init.md create mode 100644 docs/environment-variables.md diff --git a/docs/commands/mush-init.md b/docs/commands/mush-init.md new file mode 100644 index 0000000..354baf5 --- /dev/null +++ b/docs/commands/mush-init.md @@ -0,0 +1,165 @@ +# mush init(1) + +## NAME + +mush init --- Create a new Cargo package in an existing directory + +## SYNOPSIS + +`mush init` [_options_] [_path_] + +## DESCRIPTION + +This command will create a new Mush manifest in the current directory. Give a +path as an argument to create in the given directory. + +If there are typically-named Rust source files already in the directory, those +will be used. If not, then a sample `src/main.sh` file will be created, or +`src/lib.sh` if `--lib` is passed. + +If the directory is not already in a VCS repository, then a new repository +is created (see `--vcs` below). + +See [mush new(1)](mush-new.md) for a similar command which will create a new package in +a new directory. + +## OPTIONS + +### Init Options + +
+ +
--bin
+
Create a package with a binary target (src/main.rs). +This is the default behavior.
+ + +
--lib
+
Create a package with a library target (src/lib.rs).
+ + +
--edition edition
+
Specify the Rust edition to use. Default is 2021. +Possible values: 2015, 2018, 2021
+ + +
--name name
+
Set the package name. Defaults to the directory name.
+ + +
--vcs vcs
+
Initialize a new VCS repository for the given version control system (git, +hg, pijul, or fossil) or do not initialize any version control at all +(none). If not specified, defaults to git or the configuration value +cargo-new.vcs, or none if already inside a VCS repository.
+ + +
--registry registry
+
This sets the publish field in Cargo.toml to the given registry name +which will restrict publishing only to that registry.

+

Registry names are defined in Cargo config files. +If not specified, the default registry defined by the registry.default +config key is used. If the default registry is not set and --registry is not +used, the publish field will not be set which means that publishing will not +be restricted.

+ + +
+ + +### Display Options + +
+
-v
+
--verbose
+
Use verbose output. May be specified twice for “very verbose” output which +includes extra output such as dependency warnings and build script output. +May also be specified with the term.verbose +config value.
+ + +
-q
+
--quiet
+
Do not print cargo log messages. +May also be specified with the term.quiet +config value.
+ + +
--color when
+
Control when colored output is used. Valid values:

+
    +
  • auto (default): Automatically detect if color support is available on the +terminal.
  • +
  • always: Always display colors.
  • +
  • never: Never display colors.
  • +
+

May also be specified with the term.color +config value.

+ + +
+ +### Common Options + +
+ +
+toolchain
+
If Cargo has been installed with rustup, and the first argument to cargo +begins with +, it will be interpreted as a rustup toolchain name (such +as +stable or +nightly). +See the rustup documentation +for more information about how toolchain overrides work.
+ + +
--config KEY=VALUE or PATH
+
Overrides a Cargo configuration value. The argument should be in TOML syntax of KEY=VALUE, +or provided as a path to an extra configuration file. This flag may be specified multiple times. +See the command-line overrides section for more information.
+ + +
-C PATH
+
Changes the current working directory before executing any specified operations. This affects +things like where cargo looks by default for the project manifest (Cargo.toml), as well as +the directories searched for discovering .cargo/config.toml, for example. This option must +appear before the command name, for example cargo -C path/to/my-project build.

+

This option is only available on the nightly +channel and +requires the -Z unstable-options flag to enable (see +#10098).

+ + +
-h
+
--help
+
Prints help information.
+ + +
-Z flag
+
Unstable (nightly-only) flags to Cargo. Run cargo -Z help for details.
+ + +
+ + +## ENVIRONMENT + +See [the reference](../environment-variables.md) for +details on environment variables that Cargo reads. + + +## EXIT STATUS + +* `0`: Cargo succeeded. +* `101`: Cargo failed to complete. + + +## EXAMPLES + +1. Create a binary Mush package in the current directory: + +```shell +mush init +``` + +## SEE ALSO + +[cargo(1)](mush), [cargo-new(1)](mush-new) diff --git a/docs/environment-variables.md b/docs/environment-variables.md new file mode 100644 index 0000000..f264b98 --- /dev/null +++ b/docs/environment-variables.md @@ -0,0 +1,425 @@ +# Environment Variables + +Mush sets and reads a number of environment variables which your code can detect +or override. Here is a list of the variables Mush sets, organized by when it interacts +with them: + +## Environment variables Mush reads + +You can override these environment variables to change Cargo's behavior on your +system: + +* `MUSH_LOG` --- Cargo uses the [`tracing`] crate to display debug log messages. + The `MUSH_LOG` environment variable can be set to enable debug logging, + with a value such as `trace`, `debug`, or `warn`. + Usually it is only used during debugging. + diff --git a/target/debug/mush b/target/debug/mush index 4fade56..a6d2a77 100755 --- a/target/debug/mush +++ b/target/debug/mush @@ -3,7 +3,7 @@ set -e ## BP002: Package and debug variables MUSH_PACKAGE_NAME=mush -MUSH_DEBUG_PATH=/home/francesco/Develop/Javanile/mush +MUSH_DEBUG_PATH=/Users/francescobianco/Develop/Javanile/mush MUSH_TARGET_PATH="${MUSH_DEBUG_PATH}/target/debug" ## BP003: Embedding debug api