Version 1
[yaffs-website] / vendor / drush / drush / docs / context.md
diff --git a/vendor/drush/drush/docs/context.md b/vendor/drush/drush/docs/context.md
new file mode 100644 (file)
index 0000000..6308c76
--- /dev/null
@@ -0,0 +1,55 @@
+Drush Contexts
+==============
+
+The drush contexts API acts as a storage mechanism for all options, arguments and configuration settings that are loaded into drush.
+
+This API also acts as an IPC mechanism between the different drush commands, and provides protection from accidentally overriding settings that are needed by other parts of the system.
+
+It also avoids the necessity to pass references through the command chain and allows the scripts to keep track of whether any settings have changed since the previous execution.
+
+This API defines several contexts that are used by default.
+
+Argument contexts
+-----------------
+
+These contexts are used by Drush to store information on the command. They have their own access functions in the forms of drush\_set\_arguments(), drush\_get\_arguments(), drush\_set\_command(), drush\_get\_command().
+
+-   command : The drush command being executed.
+-   arguments : Any additional arguments that were specified.
+
+Setting contexts
+----------------
+
+These contexts store options that have been passed to the drush.php script, either through the use of any of the config files, directly from the command line through --option='value' or through a JSON encoded string passed through the STDIN pipe.
+
+These contexts are accessible through the drush\_get\_option() and drush\_set\_option() functions. See drush\_context\_names() for a description of all of the contexts.
+
+Drush commands may also choose to save settings for a specific context to the matching configuration file through the drush\_save\_config() function.
+
+Available Setting contexts
+--------------------------
+
+These contexts are evaluated in a certain order, and the highest priority value is returned by default from drush\_get\_option. This allows scripts to check whether an option was different before the current execution.
+
+Specified by the script itself :
+
+-   process : Generated in the current process.
+-   cli : Passed as --option=value to the command line.
+-   stdin : Passed as a JSON encoded string through stdin.
+-   alias : Defined in an alias record, and set in the alias context whenever that alias is used.
+-   specific : Defined in a command-specific option record, and set in the command context whenever that command is used.
+
+Specified by config files :
+
+-   custom : Loaded from the config file specified by --config or -c
+-   site : Loaded from the drushrc.php file in the Drupal site directory.
+-   drupal : Loaded from the drushrc.php file in the Drupal root directory.
+-   user : Loaded from the drushrc.php file in the user's home directory.
+-   drush : Loaded from the drushrc.php file in the $HOME/.drush directory.
+-   system : Loaded from the drushrc.php file in the system's $PREFIX/etc/drush directory.
+-   drush : Loaded from the drushrc.php file in the same directory as drush.php.
+
+Specified by the script, but has the lowest priority :
+
+-   default : The script might provide some sensible defaults during init.
+