Mix.Shell behaviour
Defines Mix.Shell
contract.
Summary
Functions
- cmd(command, options \\ [], callback)
Executes the given
command
as a shell command and invokes thecallback
for the streamed response.- printable_app_name()
Returns the printable app name.
Callbacks
- cmd(command)
Executes the given command and returns its exit status.
- cmd(command, options)
Executes the given command and returns its exit status.
- error(message)
Prints the given ANSI error to the shell.
- info(message)
Prints the given ANSI message to the shell.
- print_app()
Prints the current application to the shell if it was not printed yet.
- prompt(message)
Prompts the user for input.
- yes?(message)
Prompts the user for confirmation.
Functions
cmd(command, options \\ [], callback)
Executes the given command
as a shell command and invokes the callback
for the streamed response.
This is most commonly used by shell implementations but can also be invoked directly.
Options
:cd
- (since v1.11.0) the directory to run the command in:stderr_to_stdout
- redirects stderr to stdout, defaults to true:env
- a list of environment variables, defaults to[]
:quiet
- overrides the callback to no-op
printable_app_name()
Returns the printable app name.
This function returns the current application name, but only if the application name should be printed.
Calling this function automatically toggles its value to false
until the current project is re-entered. The goal is to avoid printing the application name multiple times.
Callbacks
cmd(command)
Specs
cmd(command :: String.t()) :: integer()
Executes the given command and returns its exit status.
cmd(command, options)
Specs
cmd(command :: String.t(), options :: keyword()) :: integer()
Executes the given command and returns its exit status.
Options
:print_app
- whenfalse
, does not print the app name when the command outputs something:stderr_to_stdout
- whenfalse
, does not redirect stderr to stdout:quiet
- whentrue
, do not print the command output:env
- environment options to the executed command
error(message)
Specs
error(message :: IO.ANSI.ansidata()) :: :ok
Prints the given ANSI error to the shell.
info(message)
Specs
info(message :: IO.ANSI.ansidata()) :: :ok
Prints the given ANSI message to the shell.
print_app()
Specs
print_app() :: :ok
Prints the current application to the shell if it was not printed yet.
prompt(message)
Specs
prompt(message :: binary()) :: binary()
Prompts the user for input.
yes?(message)
Specs
yes?(message :: binary()) :: boolean()
Prompts the user for confirmation.
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/mix/1.11.2/Mix.Shell.html