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