Config Options ************** .. contents:: :local: Almost every feature in Liquid Prompt can be turned on or off using these config options. They can either be set before sourcing Liquid Prompt (in ``.bashrc`` or ``.zshrc``, or sourcing a preset), or more simply set in a Liquid Prompt config file. .. note:: Config variables set in a config file take precedence over variables set in the environment or on the command line. Setting a config option on the command line, then running :func:`lp_activate` will overwrite that option with the value from the config file, if it is set there. The config file is searched for in the following locations: * ``~/.liquidpromptrc`` * ``$XDG_CONFIG_HOME/liquidpromptrc`` - (if :envvar:`XDG_CONFIG_HOME` is not set, ``~/.config`` is used) * ``$XDG_CONFIG_DIRS/liquidpromptrc`` - :envvar:`XDG_CONFIG_DIRS` is a ``:`` delimited array, each value is searched. (if :envvar:`XDG_CONFIG_DIRS` is not set, ``/etc/xdg`` is used) * ``/etc/liquidpromptrc`` The first file found is sourced. To get your own configuration, you may want to generate a default configuration by calling the following script:: ./tools/config-from-doc.sh > my_liquidpromptrc Then edit the ``my_liquidpromptrc`` file to suits your needs and copy/link it where you want. If you downloaded Liquid Prompt from a release tarball or a package manager, a ``liquidpromptrc-dist`` file likely came with it. A package manager likely would put it at ``/etc/liquidpromptrc``. In the event that you synchronize your configuration file across multiple computers, or if you have an ``/etc/liquidpromptrc`` system-wide from which you'd like to make minor deviations in an individual user account, you can augment the primary config to add in any local modifications using lines such as these:: LOCAL_RCFILE=$HOME/.liquidpromptrc.local [ -f "$LOCAL_RCFILE" ] && source "$LOCAL_RCFILE" .. note:: The example config file does not include every config option, and the comments describing the options are less verbose than the descriptions on this page. Several example of configurations are given in the ``contrib/presets`` directory. Some of these presets can be combined, for instance changing the icons, along with the colors. Parts or all of a preset can be copied to your own config file, or you can source the presets inside your config file, letting you combine, extend, or override any of the configuration options. Each config option is documented with its default value. Options of type ``bool`` accept values of ``1`` for true and ``0`` for false. General ------- .. attribute:: LP_MARK_PREFIX :type: string :value: " " String added directly before :attr:`LP_MARK_DEFAULT`, after all other parts of the prompt. Can be used to tag the prompt in a way that is less intrusive than :attr:`LP_PS1_PREFIX`, or add a newline before the prompt mark. For example:: LP_MARK_PREFIX=$'\n' .. attribute:: LP_PATH_CHARACTER_KEEP :type: int :value: 3 The number of characters to save at the start and possibly the end of a directory name when shortening the path. See :attr:`LP_PATH_METHOD` for details of the specific methods. .. versionadded:: 2.0 .. attribute:: LP_PATH_DEFAULT :type: string :value: "" .. deprecated:: 2.0 Use :attr:`LP_PATH_METHOD` set to `truncate_to_last_dir` instead. Used to define the string used for the path. Could be used to make use of shell path shortening features, like ``%2~`` in Zsh to keep the last two directories of the path. :attr:`LP_ENABLE_SHORTEN_PATH` must be disabled to have any effect. .. attribute:: LP_PATH_KEEP :type: int :value: 2 The number of directories (counting '/') to display at the beginning of a shortened path. Set to ``1``, will display only root. Set to ``0``, will keep nothing from the beginning of the path. :attr:`LP_ENABLE_SHORTEN_PATH` must be enabled to have any effect. See also: :attr:`LP_PATH_LENGTH` and :attr:`LP_PATH_METHOD`. .. versionchanged:: 2.0 No longer supports a value of ``-1``. .. attribute:: LP_PATH_LENGTH :type: int :value: 35 The maximum percentage of the terminal width used to display the path before removing the center portion of the path and replacing with :attr:`LP_MARK_SHORTEN_PATH`. :attr:`LP_ENABLE_SHORTEN_PATH` must be enabled to have any effect. .. note:: :attr:`LP_PATH_KEEP` and :attr:`LP_PATH_METHOD` have higher precedence over this option. Important path parts, including directories saved by :attr:`LP_PATH_KEEP`, :attr:`LP_PATH_VCS_ROOT`, and the last directory, will always be displayed, even if the path does not fit in the maximum length. .. attribute:: LP_PATH_METHOD :type: string :value: "truncate_chars_from_path_left" Sets the method used for shortening the path display when it exceeds the maximum length set by :attr:`LP_PATH_LENGTH`. * **truncate_chars_from_path_left**: Truncates characters from the start of the path, showing consecutive directories as one shortened section. E.g. in a directory named ``~/MyProjects/liquidprompt/tests``, it will be shortened to ``...prompt/tests``. The shortened mark is :attr:`LP_MARK_SHORTEN_PATH`. If not the first priority, it can end up removing multiple directories in a row if the higher priority methods did not shorten enough. * **truncate_chars_from_dir_right**: Leaves the beginning of a directory name untouched. E.g. directories will be shortened like so: ``~/Doc.../Office``. How many characters will be untouched is set by :attr:`LP_PATH_CHARACTER_KEEP`. The shortened mark is :attr:`LP_MARK_SHORTEN_PATH`. * **truncate_chars_from_dir_middle**: Leaves the beginning and end of a directory name untouched. E.g. in a directory named ``~/MyProjects/Office``, then it will be shortened to ``~/MyP...cts/Office``. How many characters will be untouched is set by :attr:`LP_PATH_CHARACTER_KEEP`. The shortened mark is :attr:`LP_MARK_SHORTEN_PATH`. * **truncate_chars_to_unique_dir**: Truncate each directory to the shortest unique starting portion of their name. E.g. in a folder ``~/dev/liquidprompt``, it will be shortened to ``~/d/liquidprompt`` if there is no other directory starting with 'd' in the home directory. * **truncate_to_last_dir**: Only display the last directory in the path. In other words, the current directory name. * **truncate_to_vcs_dir**: Start the path display at the root of the VCS directory. Other path methods can shorten remaining path parts. If :attr:`LP_PATH_KEEP` is set, it starts from the VCS root instead. All methods (other than `truncate_to_last_dir` and `truncate_to_vcs_dir`) start at the far left of the path (limited by :attr:`LP_PATH_KEEP`). Only the minimum number of directories needed to fit inside :attr:`LP_PATH_LENGTH` will be shortened. Multiple methods can be specified at once, separated by ``,``. They will be used in order, starting from the beginning of the path, later methods only being applied if the first method did not reduce the length of the displayed path enough. If a earlier method reduced the length of a directory name by more than a later method would, the earlier reduction is kept. Each method can have an optional ``:`` suffix, where `` is an integer that overrides the value of :attr:`LP_PATH_LENGTH` for that method. If set to ``-1``, the method will be applied as many times as possible regardless of the terminal size. If unset or set to ``0``, the value of :attr:`LP_PATH_LENGTH` is used, except for `truncate_to_last_dir` and `truncate_to_vcs_dir`, which default to ``-1``. :attr:`LP_ENABLE_SHORTEN_PATH` must be enabled to have any effect. .. versionadded:: 2.0 .. versionchanged:: 2.3 * Added `truncate_to_vcs_dir` option. * Added ability to specify multiple options at once. * Added control of path length per option. .. attribute:: LP_PATH_VCS_ROOT :type: bool :value: 1 Display the root directory of the current VCS repository with special formatting, set by :attr:`LP_COLOR_PATH_VCS_ROOT`. If :attr:`LP_ENABLE_SHORTEN_PATH` is enabled, also prevent the path shortening from shortening or hiding the VCS root directory. .. versionadded:: 2.0 .. attribute:: LP_PS1_POSTFIX :type: string :value: "" A string displayed at the very end of the prompt, after even the prompt mark. :attr:`LP_MARK_PREFIX` is an alternative that goes before the prompt mark. .. attribute:: LP_PS1_PREFIX :type: string :value: "" A string displayed at the start of the prompt. Can also be set with :func:`prompt_tag`. .. attribute:: LP_TIME_FORMAT :type: string :value: "%H:%M:%S" The formatting string passed to :manpage:`date(1)` using formatting from :manpage:`strftime(3)` used to display the current date and/or time. See also: :attr:`LP_ENABLE_TIME`. .. versionadded:: 2.1 Features -------- .. attribute:: LP_ALWAYS_DISPLAY_VALUES :type: bool :value: 1 Display the actual values of load, batteries, and wifi signal strength along with their corresponding marks. Disable to only print the colored marks. See also: :attr:`LP_ENABLE_LOAD`, :attr:`LP_ENABLE_BATT`, :attr:`LP_ENABLE_DISK`, and :attr:`LP_ENABLE_WIFI_STRENGTH`. .. versionadded: 2.2 .. attribute:: LP_DELIMITER_KUBECONTEXT_PREFIX :type: string :value: "" Delimiter to shorten the Kubernetes context by removing a prefix. Usage example: * if your context names are `cluster-dev` and `cluster-test`, then set this to "-" in order to output `dev` and `test` in prompt. * if using AWS EKS then set this to "/" to show only the cluster name, without the rest of the ARN (``arn:aws:eks:$AWS_REGION:$ACCOUNT_ID:cluster/$CLUSTER_NAME``) * alternatively, if using AWS EKS, set this to ":" to show only `cluster/$CLUSTER_NAME`. (Note: the prefix removed is a greedy match - it contains all the ":"s in the input.) If set to the empty string no truncating will occur (this is the default). See also: :attr:`LP_ENABLE_KUBECONTEXT`, :attr:`LP_DELIMITER_KUBECONTEXT_SUFFIX`, :attr:`LP_COLOR_KUBECONTEXT`, and :attr:`LP_MARK_KUBECONTEXT`. .. versionadded:: 2.1 .. attribute:: LP_DELIMITER_KUBECONTEXT_SUFFIX :type: string :value: "" Delimiter to shorten the Kubernetes context by removing a suffix. Usage example: * if your context names are `dev-cluster` and `test-cluster`, then set this to "-" in order to output `dev` and `test` in prompt. * if your context names are `dev.k8s.example.com` and `test.k8s.example.com`, then set this to "." in order to output `dev` and `test` in prompt. (Note: the suffix removed is a greedy match - it contains all the "."s in the input.) * if using OpenShift then set this to "/" to show only the project name without the cluster and user parts. If set to the empty string no truncating will occur (this is the default). See also: :attr:`LP_ENABLE_KUBECONTEXT`, :attr:`LP_DELIMITER_KUBECONTEXT_PREFIX`, :attr:`LP_COLOR_KUBECONTEXT`, and :attr:`LP_MARK_KUBECONTEXT`. .. versionadded:: 2.1 .. attribute:: LP_DISABLED_VCS_PATH :type: string :value: "" .. deprecated:: 2.0 Use :attr:`LP_DISABLED_VCS_PATHS` instead. An colon (``:``) separated list of absolute directory paths where VCS features will be disabled. See :attr:`LP_DISABLED_VCS_PATHS` for more information. .. attribute:: LP_DISABLED_VCS_PATHS :type: array :value: () An array of absolute directory paths where VCS features will be disabled. Generally this would be used for repositories that are large and slow, where generating VCS information for the prompt would impact prompt responsiveness. Any subdirectory under the input directory is also disabled, so setting `/repos` would disable VCS display when the current directory is `/repos/a-repo`. Setting ``("/")`` would disable VCS display completely. An example value would be:: LP_DISABLED_VCS_PATHS=("/a/svn/repo" "/home/me/my/large/repo") See also: :attr:`LP_MARK_DISABLED`. .. versionadded:: 2.0 .. attribute:: LP_DISPLAY_VALUES_AS_PERCENTS :type: bool :value: 0 When displaying a value, show it as a percentage if possible. Used in sensors for capacities, see :attr:`LP_ENABLE_DISK`, :attr:`LP_ENABLE_BATT`. .. versionadded: 2.2 .. attribute:: LP_ENABLE_AWS_PROFILE :type: bool :value: 1 Display the current value of :envvar:`AWS_PROFILE`, :envvar:`AWS_DEFAULT_PROFILE`, or :envvar:`AWS_VAULT`. AWS_PROFILE and AWS_DEFAULT_PROFILE are used to switch between configuration profiles by the `AWS CLI`_. AWS_VAULT is used by `aws-vault`_ to specify the AWS profile in use. .. _`AWS CLI`: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html .. _`aws-vault`: https://github.com/99designs/aws-vault See also: :attr:`LP_COLOR_AWS_PROFILE`. .. versionadded:: 2.1 .. attribute:: LP_ENABLE_BATT :type: bool :value: 1 Display the status of the battery, if there is one, using color and marks. Add battery percentage colored with :attr:`LP_COLORMAP` if :attr:`LP_ALWAYS_DISPLAY_VALUES` is enabled. Will be disabled if ``acpi`` is not found on Linux, fails to read the Linux sysfs system, or ``pmset`` is not found on MacOS. See also: :attr:`LP_BATTERY_THRESHOLD`, :attr:`LP_MARK_BATTERY`, :attr:`LP_MARK_ADAPTER`, :attr:`LP_COLOR_CHARGING_ABOVE`, :attr:`LP_COLOR_CHARGING_UNDER`, :attr:`LP_COLOR_DISCHARGING_ABOVE`, and :attr:`LP_COLOR_DISCHARGING_UNDER`. .. attribute:: LP_ENABLE_BZR :type: bool :value: 1 Display VCS information inside `Bazaar `_ repositories. Will be disabled if ``bzr`` is not found. See also: :attr:`LP_MARK_BZR`. .. attribute:: LP_ENABLE_CHROOT :type: bool :value: 1 Display whether a *chroot* environment is active. .. versionadded: 2.2 .. attribute:: LP_ENABLE_CMAKE :type: bool :value: 0 Displays the current configuration of CMake, if the directory contains a `CMakecache.txt`. Displays the compiler, the generator and the build type, separated by :attr:`LP_MARK_CMAKE`. Will be disabled if ``cmake`` is not found. The compiler is displayed without its path. The generator is displayed without space, and some names are shortened (`Makefiles` as `Make` and `Visual Studio` as `VS`), so that, for instance: `Unix Makefiles` will be displayed as `UnixMake`. Both fields are randomly colored according to their hash. The common build type colors can be configured: - *Debug*, colored with :attr:`LP_COLOR_CMAKE_DEBUG` (magenta, by default), - *RelWithDebInfo*, colored with :attr:`LP_COLOR_CMAKE_RWDI` (blue, by default), - *Release*, colored with :attr:`LP_COLOR_CMAKE_RELEASE` (cyan, by default), - any other value would be colored according to its hash. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_COLOR :type: bool :value: 1 Use terminal formatting when displaying the prompt. .. note:: Not all formatting is correctly disabled if this option is disabled. Will be disabled if ``tput`` is not found. .. versionadded:: 2.0 .. attribute:: LP_ENABLE_CONTAINER :type: bool :value: 0 Indicate if the shell is running in a container environment (e.g. Docker, Podman, LXC, Singularity, systemd-:spelling:word:`nspawn`). .. note:: Containers may inherit some or even no variables from their parent shell, so this may behave inconsistently with different container software. For example, Docker does not inherit anything unless explicitly told to. Singularity in many configurations inherits most variables but shell functions and zsh hooks might not make it in. For full functionality, ``liquidprompt`` may need to be sourced inside the child container. See also: :attr:`LP_COLOR_CONTAINER`. .. versionadded:: 2.1 .. attribute:: LP_ENABLE_DETACHED_SESSIONS :type: bool :value: 1 Display the number of detached multiplexer sessions. Will be disabled if none of ``screen``, ``shpool``, or ``tmux`` are found. .. note:: This can be slow on some machines, and prompt speed can be greatly improved by disabling it. See also: :attr:`LP_COLOR_JOB_D`. .. versionadded:: 2.0 .. attribute:: LP_ENABLE_DIRSTACK :type: bool :value: 0 Display the size of the directory stack if it is greater than ``1``. See also: :attr:`LP_MARK_DIRSTACK` and :attr:`LP_COLOR_DIRSTACK`. .. versionadded:: 2.0 .. attribute:: LP_ENABLE_DISPLAY :type: bool :value: 1 Detect if the connection has X11 support. In the default theme, display a green ``@`` if it does; a yellow one if not. See also :attr:`LP_COLOR_X11_ON` and :attr:`LP_COLOR_X11_OFF`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_DISK :type: bool :value: 1 Display :attr:`LP_MARK_DISK` if the free space on the hard drive hosting the current directory goes below a threshold. Thresholds can be stated either: * as a percentage with :attr:`LP_DISK_THRESHOLD_PERC`, * or an absolute number *of kilobytes* with :attr:`LP_DISK_THRESHOLD`. Display will occur if one of the thresholds is met. If :attr:`LP_ALWAYS_DISPLAY_VALUES` is enabled, the prompt will show the available space along with :attr:`LP_MARK_DISK`, if disabled, it will show only the mark. The precision of the available space can be configured with :attr:`LP_DISK_PRECISION`. If :attr:`LP_DISPLAY_VALUES_AS_PERCENTS` is enabled, it will show the percentage, if it is disabled, it will show the absolute value in a human-readable form (i.e. with metric prefixed units). .. versionadded:: 2.2 .. attribute:: LP_ENABLE_ERROR :type: bool :value: 1 Display the last command error code if it is not ``0``. See also: :attr:`LP_COLOR_ERR`. .. versionadded:: 2.0 .. attribute:: LP_ENABLE_ERROR_MEANING :type: bool :value: 0 Display a guess on the last error meaning. .. note:: This only enable a limited subset of error codes, that are very probably in use on several systems. To enable more codes (and probably more false positives) see :attr:`LP_ENABLE_ERROR_MEANING_EXTENDED`. See also: :attr:`LP_COLOR_ERR`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_ERROR_MEANING_EXTENDED :type: bool :value: 0 Extends the set of interpreted error codes to a larger set of (POSIX) codes. .. note:: This use a reasonable set of error codes that are common on POSIX systems on x86 or ARM architectures (most notably from ``sysexit.h`` and ``signal.h``). But any software may use its own set of codes, and thus the guess may be wrong. This has no effect if :attr:`LP_ENABLE_ERROR_MEANING` is disabled. See also: :attr:`LP_COLOR_ERR`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_ENV_VARS :type: bool :value: 1 Display a user-defined set of environment variables. May show if the variables are unset, set, or their actual content. Watched variables should be added to the :attr:`LP_ENV_VARS` array. The resulting prompt section is configured by: - :attr:`LP_MARK_ENV_VARS_OPEN` - :attr:`LP_MARK_ENV_VARS_SEP` - :attr:`LP_MARK_ENV_VARS_CLOSE` - :attr:`LP_COLOR_ENV_VARS_SET` - :attr:`LP_COLOR_ENV_VARS_UNSET` .. versionadded:: 2.2 .. attribute:: LP_ENABLE_FOSSIL :type: bool :value: 1 Display VCS information inside `Fossil `_ repositories. Will be disabled if ``fossil`` is not found. See also: :attr:`LP_MARK_FOSSIL`. .. attribute:: LP_ENABLE_FQDN :type: bool :value: 0 .. deprecated:: 2.1 Use :attr:`LP_HOSTNAME_METHOD` set to "full" instead. Use the fully qualified domain name (FQDN) instead of the short hostname when the hostname is displayed. .. note:: This never functioned as intended, and would only show the FQDN if ``/etc/hostname`` contained the full domain name. For a more portable and reliable version, set :attr:`LP_HOSTNAME_METHOD` to `fqdn`. See also: :attr:`LP_HOSTNAME_ALWAYS`. .. attribute:: LP_ENABLE_GIT :type: bool :value: 1 Display VCS information inside `Git `_ repositories. Will be disabled if ``git`` is not found. See also: :attr:`LP_ENABLE_GITSTATUSD` and :attr:`LP_MARK_GIT`. .. attribute:: LP_ENABLE_GITSTATUSD :type: bool :value: 1 Use `gitstatus `_ to fetch Git repository information. Can potentially be much faster than the built in data generation method. ``gitstatus`` must be installed, and the ``gitstatus.plugin.sh`` (Bash) or ``gitstatus.plugin.zsh`` (Zsh) file sourced and ``gitstatus_start`` ran before loading Liquidprompt. If running in Zsh, ``gitstatus_start`` requires an argument as a name, which must be ``liquidprompt``, like ``gitstatus_start liquidprompt``. ``gitstatus`` by default will only show a limited number of changes. If you want to see more, `set options`_ when calling ``gitstatus_start``. .. _`set options`: https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.sh Will be disabled if ``git`` or ``gitstatus_query`` are not found. Note that ``gitstatus`` does not support changed line information, so if :attr:`LP_ENABLE_VCS_LINES` is left enabled, the performance benefit will be lessened. See also: :attr:`LP_ENABLE_GIT`. .. versionadded:: 2.3 .. attribute:: LP_ENABLE_HG :type: bool :value: 1 Display VCS information inside `Mercurial `_ repositories. Will be disabled if ``hg`` is not found. See also: :attr:`LP_MARK_HG` and :attr:`LP_HG_COMMAND`. .. attribute:: LP_ENABLE_HYPERLINKS :type: bool :value: 0 Adds clickable links to some elements of the prompt: - If locally connected, adds a link to each displayed elements of the path, using the ``file://`` scheme. - Within remote SSH connections, adds a link to each element of the path, but using the ``sftp://`` protocol, configured with the *current* username and hostname. - If the hostname is displayed within an SSH connection, adds a ``ssh://`` URL to it. The links take the form of a OSC-8 escape sequences containing an Uniform Resource Locator, which should be interpreted by the terminal emulator. If your terminal emulator does not support OSC-8, it may display escapement garbage. As not all terminal emulator support links, this feature is disabled by default. .. warning:: Your system should be configured to handle the aforementioned link schemes. If nothing happen when you click on the link, or if the wrong application is used, there is a configuration problem on your system or with your terminal emulator (not with Liquid Prompt). .. note:: Liquid Prompt cannot possibly follow complex remote connections. Remote links are thus configured with the *current* username, and the *current* fully qualified domain name, as ``sftp://@/``. It is possible that this URL does not work the same way than a manual connection. For instance, if you proxy jumped (i.e. if you jumped from one connection to the other), and/or you logged in with another user, and/or used SSH aliases, then the links probably won't work the way you may expect. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_JOBS :type: bool :value: 1 Display the number of running and sleeping shell jobs. See also: :attr:`LP_COLOR_JOB_R` and :attr:`LP_COLOR_JOB_Z`. .. attribute:: LP_ENABLE_KUBECONTEXT :type: bool :value: 0 Display the current `Kubernetes `_ `context`_. .. _`context`: https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/ See also: :attr:`LP_ENABLE_KUBE_NAMESPACE`, :attr:`LP_DELIMITER_KUBECONTEXT_PREFIX`, :attr:`LP_DELIMITER_KUBECONTEXT_SUFFIX`, :attr:`LP_COLOR_KUBECONTEXT`, and :attr:`LP_MARK_KUBECONTEXT`. .. versionadded:: 2.1 .. attribute:: LP_ENABLE_KUBE_NAMESPACE :type: bool :value: 0 Display the current `Kubernetes `_ default `namespace`_ in the current context. .. _`namespace`: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#setting-the-namespace-preference See also: :attr:`LP_ENABLE_KUBECONTEXT`, :attr:`LP_DELIMITER_KUBECONTEXT_PREFIX`, :attr:`LP_DELIMITER_KUBECONTEXT_SUFFIX`, :attr:`LP_COLOR_KUBECONTEXT`, and :attr:`LP_MARK_KUBECONTEXT`. .. versionadded:: 2.1 .. attribute:: LP_ENABLE_LOAD :type: bool :value: 1 Display the load average over the past 1 minutes when above the threshold. See also: :attr:`LP_LOAD_THRESHOLD`, :attr:`LP_LOAD_CAP`, :attr:`LP_MARK_LOAD`, :attr:`LP_ALWAYS_DISPLAY_VALUES`, and :attr:`LP_COLORMAP`. :attr:`LP_MARK_LOAD`, :attr:`LP_PERCENTS_ALWAYS`, and :attr:`LP_COLORMAP`. .. attribute:: LP_ENABLE_MODULES :type: bool :value: 1 Display the currently loaded `Modules `_. See also: * :attr:`LP_ENABLE_MODULES_VERSIONS`, * :attr:`LP_ENABLE_MODULES_HASHCOLOR`, * :attr:`LP_COLOR_MODULES`, * :attr:`LP_MARK_MODULES_OPEN`, * :attr:`LP_MARK_MODULES_SEP`, * :attr:`LP_MARK_MODULES_CLOSE`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_MODULES_VERSIONS :type: bool :value: 1 Display the currently loaded modules' versions, after their names (separated by a slash, as in the ``module list`` command). If disabled, only the name of the module is displayed. See :attr:`LP_ENABLE_MODULES`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_MODULES_HASHCOLOR :type: bool :value: 0 If enabled, each item in the modules section will be randomly colored, according to its hash, instead of using :attr:`LP_COLOR_MODULES`. See :attr:`LP_ENABLE_MODULES`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_MULTIPLEXER :type: bool :value: 1 Allows getting the name of the current multiplexer (*screen*, *shpool*, or *tmux*), if any. If set to ``0``, also disables: * :attr:`LP_COLOR_IN_MULTIPLEXER`, * :attr:`LP_MARK_MULTIPLEXER_OPEN` and :attr:`LP_MARK_MULTIPLEXER_CLOSE`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_NODE_VENV :type: bool :value: 0 Display the currently activated nodeenv_ or NVM_ virtual environment. See also: :attr:`LP_COLOR_NODE_VENV`. .. _nodeenv: https://ekalinin.github.io/nodeenv/ .. _NVM: https://github.com/nvm-sh/nvm .. versionadded:: 2.1 .. attribute:: LP_ENABLE_OS :type: bool :value: 0 Display information about the current Operating System. Degree of details is controlled by: - :attr:`LP_ENABLE_OS_ARCH` - :attr:`LP_ENABLE_OS_FAMILY` - :attr:`LP_ENABLE_OS_KERNEL` - :attr:`LP_ENABLE_OS_DISTRIB` - :attr:`LP_ENABLE_OS_VERSION` .. note:: As of now, only Linux may have detailed information about the distribution and version. See also :attr:`LP_MARK_OS` and :attr:`LP_MARK_OS_SEP` for configuring the appearance. If no replacement string is provided with :attr:`LP_MARK_OS`, each item will be randomly colored, according to its hash. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_OS_ARCH :type: bool :value: 0 Display the processor architecture of the current OS. See :attr:`LP_ENABLE_OS`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_OS_DISTRIB :type: bool :value: 0 Display the current Linux distribution. See :attr:`LP_ENABLE_OS`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_OS_FAMILY :type: bool :value: 0 Display the family of the current OS (UNIX, BSD, GNU, or Windows). See :attr:`LP_ENABLE_OS`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_OS_KERNEL :type: bool :value: 1 Display the name of the kernel type for the current OS. This may be "Linux", "FreeBSD", "SunOS", "Darwin", "Cygwin", "MSYS", "MinGW", "OpenBSD", "DragonFly". See :attr:`LP_ENABLE_OS`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_OS_VERSION :type: bool :value: 1 Display the version "codename" of the current Linux distribution. See :attr:`LP_ENABLE_OS`. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_PATH :type: bool :value: 1 Display the current working directory. .. versionadded:: 2.2 Before this version, this feature was always enabled. .. attribute:: LP_ENABLE_PERL_VENV :type: bool :value: 1 Display the currently activated PERLBREW_ or PLENV_ virtual environment. See also: :attr:`LP_COLOR_PERL_VENV`. .. _PERLBREW: https://perlbrew.pl/ .. _PLENV: https://github.com/tokuhirom/plenv .. versionadded:: 2.2 .. attribute:: LP_ENABLE_PERM :type: bool :value: 1 Display a colored :attr:`LP_MARK_PERM` in the prompt to show when the user does not have write permission to the current directory. See also: :attr:`LP_COLOR_WRITE` and :attr:`LP_COLOR_NOWRITE`. .. attribute:: LP_ENABLE_PROXY :type: bool :value: 1 Display a :attr:`LP_MARK_PROXY` mark when an HTTP proxy is detected. See also: :attr:`LP_COLOR_PROXY`. .. attribute:: LP_ENABLE_RAM :type: bool :value: 1 Display a :attr:`LP_MARK_RAM` mark when the available amount of Random Access Memory goes below a threshold. Thresholds can be stated either: * as a percentage with :attr:`LP_RAM_THRESHOLD_PERC`, * or an absolute number *of kilobytes* with :attr:`LP_RAM_THRESHOLD`. Display will occur if one of the thresholds is met. If :attr:`LP_ALWAYS_DISPLAY_VALUES` is enabled, the prompt will show the available space along with :attr:`LP_MARK_RAM`, if disabled, it will show only the mark. The precision of the displayed available space can be configured with :attr:`LP_RAM_PRECISION`. If :attr:`LP_DISPLAY_VALUES_AS_PERCENTS` is enabled, it will show the percentage, if it is disabled, it will show the absolute value in a human-readable form (i.e. with metric prefixed units). .. versionadded:: 2.2 .. attribute:: LP_ENABLE_RUBY_VENV :type: bool :value: 1 Display the currently activated RVM_ or RBENV_ virtual environment. See also: :attr:`LP_RUBY_RVM_PROMPT_OPTIONS` and :attr:`LP_COLOR_RUBY_VENV`. .. _RVM: https://rvm.io/ .. _RBENV: https://github.com/rbenv/rbenv .. versionadded:: 2.1 .. attribute:: LP_ENABLE_RUNTIME :type: bool :value: 1 Display runtime of the previous command if over :attr:`LP_RUNTIME_THRESHOLD`. See also: :attr:`LP_COLOR_RUNTIME`. .. attribute:: LP_ENABLE_RUNTIME_BELL :type: bool :value: 0 Ring the terminal bell if the previous command ran longer than :attr:`LP_RUNTIME_BELL_THRESHOLD`. .. versionadded:: 1.12 .. attribute:: LP_ENABLE_SCLS :type: bool :value: 1 Display the currently activated `Red Hat Software Collection`_. See also: :attr:`LP_COLOR_VIRTUALENV`. .. _`Red Hat Software Collection`: https://developers.redhat.com/products/softwarecollections/overview .. attribute:: LP_ENABLE_SCREEN_TITLE :type: bool :value: 0 Set the terminal title while in a terminal multiplexer that can set the title itself: *screen* or *tmux*. :attr:`LP_ENABLE_TITLE` must be enabled to have any effect. .. attribute:: LP_ENABLE_SHLVL :type: bool :value: 1 Show the value of ``$SHLVL``, which is the number of nested shells, if the value meets the threshold. For example, if one runs ``bash`` inside their shell, it will open a new shell inside their current shell, and this will display "2". See also: :attr:`LP_SHLVL_THRESHOLD`, :attr:`LP_MARK_SHLVL`, and :attr:`LP_COLOR_SHLVL`. .. versionadded:: 2.1 .. attribute:: LP_ENABLE_SHORTEN_PATH :type: bool :value: 1 Use the shorten path feature if the path is too long to fit in the prompt line. See also: :attr:`LP_PATH_METHOD`, :attr:`LP_PATH_LENGTH`, :attr:`LP_PATH_KEEP`, :attr:`LP_PATH_CHARACTER_KEEP`, and :attr:`LP_MARK_SHORTEN_PATH`. .. attribute:: LP_ENABLE_SSH_COLORS :type: bool :value: 0 Replace :attr:`LP_COLOR_SSH` with a color based on the hash of the hostname. This can give each host a "color feel" to help distinguish them. See also: :attr:`LP_HOSTNAME_ALWAYS`. .. attribute:: LP_ENABLE_SUDO :type: bool :value: 0 Check if the user has valid ``sudo`` credentials, and display an indicating mark or color. Will be disabled if ``sudo`` is not found. .. warning:: Each evocation of ``sudo`` by default writes to the :spelling:word:`syslog`, and this will run ``sudo`` once each prompt, unless you have `NOPASSWD` powers. This is likely to make your sysadmin hate you. See also: :attr:`LP_COLOR_MARK_SUDO`. .. attribute:: LP_ENABLE_SVN :type: bool :value: 1 Display VCS information inside `Subversion `_ repositories. Will be disabled if ``svn`` is not found. See also: :attr:`LP_MARK_SVN`. .. attribute:: LP_ENABLE_TEMP :type: bool :value: 1 Display the highest system temperature if above the threshold. Will be disabled if neither ``sensors`` nor ``acpi`` are found, or fails to read from the Linux sysfs system. See also: :attr:`LP_TEMP_THRESHOLD`, :attr:`LP_MARK_TEMP`, :attr:`LP_COLORMAP`, and :attr:`LP_TEMP_SYSFS_IGNORE_FILES`. .. attribute:: LP_ENABLE_TERRAFORM :type: bool :value: 0 Display the currently activated `Terraform`_ workspace. See also: :attr:`LP_COLOR_TERRAFORM`. .. _Terraform: https://developer.hashicorp.com/terraform/intro .. versionadded:: 2.1 .. attribute:: LP_ENABLE_TIME :type: bool :value: 0 Displays the time at which the prompt was shown. The format can be configured with :attr:`LP_TIME_FORMAT`. See also: :attr:`LP_TIME_ANALOG` and :attr:`LP_COLOR_TIME`. .. attribute:: LP_ENABLE_TITLE :type: bool :value: 0 Set the terminal title to part or all of the prompt string, depending on the theme. Must be enabled to be able to set the manual title with :func:`lp_title`. .. warning:: This may not work properly on exotic terminals. Please report any issues. .. attribute:: LP_ENABLE_TITLE_COMMAND :type: bool :value: 1 Postpend the currently running command to the terminal title while the command is running. :attr:`LP_ENABLE_TITLE` must be enabled to have any effect. .. versionadded:: 2.1 .. attribute:: LP_ENABLE_TITLE_COMMAND_ONLY :type: bool :value: 0 Use only the currently running command for the terminal title while the command is running. :attr:`LP_ENABLE_TITLE` and :attr:`LP_ENABLE_TITLE_COMMAND` must be enabled to have any effect. .. versionadded:: 2.3 .. attribute:: LP_ENABLE_TMUX_TITLE_PANES :type: bool :value: 1 Sets the title of the Tmux pane instead of the window. :attr:`LP_ENABLE_TITLE` and :attr:`LP_ENABLE_SCREEN_TITLE` must be enabled to have any effect. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_VCS_LINES :type: bool :value: 1 Enable the display of changed lines in VCS repositories. Disabling this can be a huge performance improvement. In the default theme, changed lines that have not been staged (if the VCS supports staging, otherwise changes not yet committed) will be displayed, with a ``+`` for added lines and a ``-`` for removed lines. If disabled, will show number of changed files instead. .. versionadded:: 2.3 .. attribute:: LP_ENABLE_VCS_REMOTE :type: bool :value: 0 Enable the display of the remote repository in the VCS state section. If enabled, will display :attr:`LP_MARK_VCS_REMOTE`, followed by the remote repository name. In the default theme, if the remote repository has commits not pulled in the local branch, the mark will be showed in :attr:`LP_COLOR_COMMITS_BEHIND`. If the local repository has commits not pushed to the remote branch, the remote name is shown in :attr:`LP_COLOR_COMMITS`. If neither is the case, nothing will be shown. .. versionadded:: 2.2 .. attribute:: LP_ENABLE_VCS_ROOT :type: bool :value: 0 Enable VCS features when running as root. This is disabled by default for security. .. attribute:: LP_ENABLE_VIRTUALENV :type: bool :value: 1 Display the currently activated Python_ or Conda_ virtual environment. See also: :attr:`LP_COLOR_VIRTUALENV`. .. _Python: https://docs.python.org/tutorial/venv.html .. _Conda: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html .. attribute:: LP_ENABLE_WIFI_STRENGTH :type: bool :value: 0 Display an indicator if any wireless signal strength percentage is below :attr:`LP_WIFI_STRENGTH_THRESHOLD`. Also show the strength percentage if :attr:`LP_ALWAYS_DISPLAY_VALUES` is enabled. Both Linux and MacOS are supported. See also: :attr:`LP_MARK_WIFI` and :attr:`LP_COLORMAP`. .. versionadded:: 2.1 .. attribute:: LP_ENV_VARS :type: array :value: () The set of environment variables that the user wants to watch. Items should be a string with three space-separated elements of the form `" [ ]"`, containing: - the name of the variable to watch, - the string to display if the variable is set, - (optionally) the string to display if the variable is not set. The string used when the variable is set may contain the ``%s`` mark, which is replaced by the actual content of the variable. For example:: LP_ENV_VARS=( # Display "V" if VERBOSE is set, nothing if it's unset. "VERBOSE V" # Display the name of the desktop session, if set, T if unset. "DESKTOP_SESSION %s T" # Display "ed:" followed the name of the default editor, nothing if unset. "EDITOR ed:%s" ) See also :attr:`LP_ENABLE_ENV_VARS`. The resulting prompt section is configured by: - :attr:`LP_MARK_ENV_VARS_OPEN` - :attr:`LP_MARK_ENV_VARS_SEP` - :attr:`LP_MARK_ENV_VARS_CLOSE` - :attr:`LP_COLOR_ENV_VARS_SET` - :attr:`LP_COLOR_ENV_VARS_UNSET` .. attribute:: LP_HG_COMMAND :type: string :value: "hg" The command to use for Mercurial commands. Can be used to replace ``hg`` with ``rhg`` or ``chg``. See also: :attr:`LP_ENABLE_HG` and :attr:`LP_MARK_HG`. .. versionadded:: 2.1 .. attribute:: LP_HIDE_EMPTY_ERROR :type: bool :value: 1 Hide the error code returned by a command if the new prompt is displayed after the user hits Ctrl-C or submits an empty command (i.e. empty string or a comment). See also: :attr:`LP_ENABLE_ERROR`. .. versionadded:: 2.2 .. attribute:: LP_HOSTNAME_ALWAYS :type: int :value: 0 Determine when the hostname should be displayed. Valid values are: * ``0`` - show the hostname, except when locally connected * ``1`` - always show the hostname * ``-1`` - never show the hostname See also: :attr:`LP_COLOR_HOST` and :attr:`LP_ENABLE_SSH_COLORS`. .. attribute:: LP_HOSTNAME_METHOD :type: string :value: "short" Determine the method for displaying the hostname. * **short**: show the first section of the hostname, what is before the first dot. Equal to ``\h`` in Bash or ``%m`` in Zsh. * **full**: show the full hostname, without any domain name. Equal to ``\H`` in Bash or ``%M`` in Zsh. * **fqdn**: show the fully qualified domain name, if it exists. Defaults to **full** if not. * **pretty**: show the pretty hostname, also called "machine display name". Defaults to **full** if one does not exist. See also: :attr:`LP_HOSTNAME_ALWAYS`. .. versionadded:: 2.1 .. attribute:: LP_PERCENTS_ALWAYS :type: bool :value: 1 .. deprecated:: 2.2 Use :attr:`LP_ALWAYS_DISPLAY_VALUES` and :attr:`LP_DISPLAY_VALUES_AS_PERCENTS` instead. Display the actual values of load, batteries, and wifi signal strength along with their corresponding marks. Disable to only print the colored marks. See also: :attr:`LP_ENABLE_LOAD`, :attr:`LP_ENABLE_BATT`, :attr:`LP_ENABLE_WIFI_STRENGTH`. .. attribute:: LP_RUBY_RVM_PROMPT_OPTIONS :type: array :value: (i v g s) An array of single letter switches to customize the `RVM prompt`_ output. Will only have an effect if :attr:`LP_ENABLE_RUBY_VENV` is enabled and you are using RVM (i.e. no effect with RBENV). .. _`RVM prompt`: https://rvm.io/workflow/prompt .. versionadded:: 2.1 .. attribute:: LP_TEMP_SYSFS_IGNORE_FILES :type: array :value: () Paths to files in the sysfs interface that should be ignored when reading temperature sensors. A path can include globs. See also :attr:`LP_ENABLE_TEMP`. .. versionadded:: 2.2 .. attribute:: LP_TIME_ANALOG :type: bool :value: 0 Shows the time using an analog clock instead of numeric values. The analog clock is "accurate" to the nearest half hour. You must have a Unicode capable terminal and a font with the "CLOCK" characters (U+1F550 - U+1F567). Will only have an effect if :attr:`LP_ENABLE_TIME` is enabled. .. attribute:: LP_USER_ALWAYS :type: int :value: 1 Determine when the username should be displayed. Valid values are: * ``0`` - show the username, except when the user is the login user * ``1`` - always show the username * ``-1`` - never show the username See also: :attr:`LP_COLOR_USER_LOGGED`, :attr:`LP_COLOR_USER_ALT`, and :attr:`LP_COLOR_USER_ROOT`. .. versionchanged:: 2.0 The ``-1`` option was added. Thresholds ---------- .. attribute:: LP_BATTERY_THRESHOLD :type: int :value: 75 The percentage threshold that the battery level needs to fall below before it will be displayed in :attr:`LP_COLOR_CHARGING_UNDER` or :attr:`LP_COLOR_DISCHARGING_UNDER` color. Otherwise, it will be displayed in :attr:`LP_COLOR_CHARGING_ABOVE` or :attr:`LP_COLOR_DISCHARGING_ABOVE` color. :attr:`LP_ENABLE_BATT` must be enabled to have any effect. .. attribute:: LP_DISK_PRECISION :type: int :value: 2 Control the numbers of decimals when displaying the absolute available space of the current hard drive. If set to 0, don't display decimals. If set to 1 or 2, display decimals. See :attr:`LP_ENABLE_DISK`, :attr:`LP_ALWAYS_DISPLAY_VALUES`, and :attr:`LP_DISPLAY_VALUES_AS_PERCENTS`. .. versionadded:: 2.2 .. attribute:: LP_DISK_THRESHOLD :type: int :value: 100000 Display something if the available space on the hard drive hosting the current directory goes below this absolute threshold *in kilobytes*. If the file system is smaller than :attr:`LP_DISK_THRESHOLD`, this check is skipped. The threshold for disk can also be set with :attr:`LP_DISK_THRESHOLD_PERC`, the first one to be reached triggering the display. See also :attr:`LP_ENABLE_DISK`. .. versionadded:: 2.2 .. attribute:: LP_DISK_THRESHOLD_PERC :type: int :value: 10 Display something if the available space on the hard drive hosting the current directory goes below this percentage. The threshold for disk can also be set with :attr:`LP_DISK_THRESHOLD`, the first one to be reached triggering the display.. See also :attr:`LP_ENABLE_DISK`. .. versionadded:: 2.2 .. attribute:: LP_LOAD_CAP :type: float :value: 2.0 The value for load average per CPU to display with the max color scaling. Values above this number will still be displayed, but the colors will not increase in intensity. :attr:`LP_ENABLE_LOAD` must be enabled to have any effect. See also: :attr:`LP_COLORMAP`. .. versionadded:: 2.0 .. attribute:: LP_LOAD_THRESHOLD :type: float :value: 0.60 Display the load average per CPU when above this threshold. For historical reasons, this number must have a decimal point ('.'), or it will be treated as a percentage. :attr:`LP_ENABLE_LOAD` must be enabled to have any effect. .. versionchanged:: 2.0 Accepts float values of actual load averages. Integer values of :spelling:word:`centiload` are still accepted, but deprecated. .. attribute:: LP_RAM_PRECISION :type: int :value: 2 Control the numbers of decimals when displaying the absolute available space of the current system RAM. If set to 0, don't display decimals. If set to 1 or 2, display decimals. See :attr:`LP_ENABLE_RAM`, :attr:`LP_ALWAYS_DISPLAY_VALUES`, and :attr:`LP_DISPLAY_VALUES_AS_PERCENTS`. .. versionadded:: 2.2 .. attribute:: LP_RAM_THRESHOLD :type: int :value: 100000 Display something if the available RAM space goes below this absolute threshold *in kilobytes*. The threshold for RAM can also be set with :attr:`LP_RAM_THRESHOLD_PERC`, the first one to be reached triggering the display. See also :attr:`LP_ENABLE_RAM`. .. versionadded:: 2.2 .. attribute:: LP_RAM_THRESHOLD_PERC :type: int :value: 10 Display something if the available RAM space goes below this percentage. The threshold for RAM can also be set with :attr:`LP_RAM_THRESHOLD`, the first one to be reached triggering the display.. See also :attr:`LP_ENABLE_RAM`. .. versionadded:: 2.2 .. attribute:: LP_RUNTIME_THRESHOLD :type: int :value: 2 Time in seconds that a command must run longer than for its runtime to be displayed. :attr:`LP_ENABLE_RUNTIME` must be enabled to have any effect. .. attribute:: LP_RUNTIME_BELL_THRESHOLD :type: int :value: 10 Time in seconds that a command must run longer than for the terminal bell to be rung. :attr:`LP_ENABLE_RUNTIME_BELL` must be enabled to have any effect. .. versionadded:: 1.12 .. attribute:: LP_SHLVL_THRESHOLD :type: int :value: 2 Number of nested shells before the shell level is shown. See also: :attr:`LP_ENABLE_SHLVL`, :attr:`LP_MARK_SHLVL`, and :attr:`LP_COLOR_SHLVL`. .. versionadded:: 2.2 .. attribute:: LP_TEMP_THRESHOLD :type: int :value: 60 Display the highest system temperature when the temperature is above this threshold (in degrees Celsius). :attr:`LP_ENABLE_TEMP` must be enabled to have any effect. .. attribute:: LP_WIFI_STRENGTH_THRESHOLD :type: int :value: 40 Display the lowest wireless signal strength when the strength percentage is below this threshold. :attr:`LP_ENABLE_WIFI_STRENGTH` must be enabled to have any effect. .. versionadded:: 2.1 Marks ----- .. attribute:: LP_MARK_ADAPTER :type: string :value: "⏚" Mark used for battery display when charging. See also: :attr:`LP_ENABLE_BATT`. .. attribute:: LP_MARK_BATTERY :type: string :value: "⌁" Mark used for battery display when on battery power. See also: :attr:`LP_ENABLE_BATT`. .. attribute:: LP_MARK_BRACKET_CLOSE :type: string :value: "]" Mark used for closing core prompt brackets. Used by the default theme for enclosing user, host, and current working directory sections. See also: :attr:`LP_MARK_BRACKET_OPEN`, :attr:`LP_MARK_MULTIPLEXER_CLOSE`. .. versionchanged:: 2.2 Can be disabled by :attr:`LP_ENABLE_MULTIPLEXER`. .. attribute:: LP_MARK_BRACKET_OPEN :type: string :value: "[" Mark used for opening core prompt brackets. Used by the default theme for enclosing user, host, and current working directory sections. See also: :attr:`LP_MARK_BRACKET_CLOSE`, :attr:`LP_MARK_MULTIPLEXER_OPEN`. .. versionchanged:: 2.2 Can be disabled by :attr:`LP_ENABLE_MULTIPLEXER`. .. attribute:: LP_MARK_BZR :type: string :value: "⚯" Mark used instead of :attr:`LP_MARK_DEFAULT` to indicate that the current directory is inside of a Bazaar repository. See also: :attr:`LP_ENABLE_BZR`. .. attribute:: LP_MARK_CMAKE :type: string :value: ":" Separator used for fields of :attr:`LP_ENABLE_CMAKE`. .. versionadded:: 2.2 .. attribute:: LP_MARK_DEFAULT :type: string :value: "$" (Bash) or "%" (Zsh) Mark used to indicate that the prompt is ready for user input, unless some other context overrides it, like a VCS repository. .. attribute:: LP_MARK_DEV_CLOSE :type: string :value: ">" Closing of the "development tools" section. .. versionadded:: 2.2 .. attribute:: LP_MARK_DEV_MID :type: string :value: "|" Separator between elements of the "development tools" section. .. versionadded:: 2.2 .. attribute:: LP_MARK_DEV_OPEN :type: string :value: "<" Opening of the "development tools" section. .. versionadded:: 2.2 .. attribute:: LP_MARK_DIRSTACK :type: string :value: "⚞" Mark used to indicate the size of the directory stack. Here are some alternative marks you might like: ⚟ = ≡ ≣ See also: :attr:`LP_ENABLE_DIRSTACK` and :attr:`LP_COLOR_DIRSTACK`. .. versionadded:: 2.0 .. attribute:: LP_MARK_DISABLED :type: string :value: "⌀" Mark used instead of :attr:`LP_MARK_DEFAULT` to indicate that the current directory is disabled for VCS display through :attr:`LP_DISABLED_VCS_PATHS`. .. attribute:: LP_MARK_DISK :type: string :value: "🖴 " Mark used to indicate that the available disk space is too low. See :attr:`LP_ENABLE_DISK`. .. versionadded:: 2.2 .. attribute:: LP_MARK_ENV_VARS_OPEN :type: string :value: "(" Mark used to start the user-defined environment variables watch list. See also: - :attr:`LP_ENABLE_ENV_VARS` - :attr:`LP_ENV_VARS` - :attr:`LP_MARK_ENV_VARS_SEP` - :attr:`LP_MARK_ENV_VARS_CLOSE` - :attr:`LP_COLOR_ENV_VARS_SET` - :attr:`LP_COLOR_ENV_VARS_UNSET` .. versionadded:: 2.2 .. attribute:: LP_MARK_ENV_VARS_SEP :type: string :value: " " Mark used to separate items of the user-defined environment variables watch list. See also: - :attr:`LP_ENABLE_ENV_VARS` - :attr:`LP_ENV_VARS` - :attr:`LP_MARK_ENV_VARS_OPEN` - :attr:`LP_MARK_ENV_VARS_CLOSE` - :attr:`LP_COLOR_ENV_VARS_SET` - :attr:`LP_COLOR_ENV_VARS_UNSET` .. versionadded:: 2.2 .. attribute:: LP_MARK_ENV_VARS_CLOSE :type: string :value: ")" Mark used to end the user-defined environment variables watch list. See also: - :attr:`LP_ENABLE_ENV_VARS` - :attr:`LP_ENV_VARS` - :attr:`LP_MARK_ENV_VARS_OPEN` - :attr:`LP_MARK_ENV_VARS_SEP` - :attr:`LP_COLOR_ENV_VARS_SET` - :attr:`LP_COLOR_ENV_VARS_UNSET` .. versionadded:: 2.2 .. attribute:: LP_MARK_FOSSIL :type: string :value: "⌘" Mark used instead of :attr:`LP_MARK_DEFAULT` to indicate that the current directory is inside of a Fossil repository. See also: :attr:`LP_ENABLE_FOSSIL`. .. attribute:: LP_MARK_GIT :type: string :value: "±" Mark used instead of :attr:`LP_MARK_DEFAULT` to indicate that the current directory is inside of a Git repository. See also: :attr:`LP_ENABLE_GIT`. .. attribute:: LP_MARK_HG :type: string :value: "☿" Mark used instead of :attr:`LP_MARK_DEFAULT` to indicate that the current directory is inside of a Mercurial repository. See also: :attr:`LP_ENABLE_HG` and :attr:`LP_HG_COMMAND`. .. attribute:: LP_MARK_JOBS_SEPARATOR :type: string :value: "/" Mark used to separate elements of :attr:`LP_JOBS`. See also :attr:`LP_ENABLE_JOBS`. .. versionadded:: 2.2 .. attribute:: LP_MARK_KUBECONTEXT :type: string :value: "⎈" Mark used to prefix the current Kubernetes context. Used to visually distinguish the Kubernetes context from other context fields like the Python virtual environment (see :attr:`LP_ENABLE_VIRTUALENV`) and the Red Hat Software Collection (see :attr:`LP_ENABLE_SCLS`). The display of Unicode characters varies among Terminal and Font settings, so you might try alternative marks. Single symbol alternatives to the default `⎈` (U+2388, Helm Symbol) are `☸` (U+2638, Wheel of :spelling:word:`Dharma`) or `κ` (U+03BA, Greek Small Letter Kappa). See also: :attr:`LP_ENABLE_KUBECONTEXT`. .. versionadded:: 2.1 .. attribute:: LP_MARK_LOAD :type: string :value: "⌂" Mark used before displaying load average. See also: :attr:`LP_ENABLE_LOAD`. .. attribute:: LP_MARK_MODULES_OPEN :type: string :value: "" Mark used before displaying loaded modules. See also: :attr:`LP_ENABLE_MODULES`. .. attribute:: LP_MARK_MODULES_CLOSE :type: string :value: "" Mark used after displaying loaded modules. See also: :attr:`LP_ENABLE_MODULES`. .. attribute:: LP_MARK_MODULES_SEP :type: string :value: ":" Mark used between loaded modules. See also: :attr:`LP_ENABLE_MODULES`. .. attribute:: LP_MARK_MULTIPLEXER_CLOSE :type: string :value: $LP_MARK_BRACKET_CLOSE Mark used for closing core prompt brackets. Used by the default theme when inside of a multiplexer. See also: :attr:`LP_MARK_MULTIPLEXER_OPEN`, :attr:`LP_MARK_BRACKET_CLOSE`. .. versionadded:: 2.1 .. versionchanged:: 2.2 Can be disabled by :attr:`LP_ENABLE_MULTIPLEXER`. .. attribute:: LP_MARK_MULTIPLEXER_OPEN :type: string :value: $LP_MARK_BRACKET_OPEN Mark used for opening core prompt brackets. Used by the default theme when inside of a multiplexer. See also: :attr:`LP_MARK_MULTIPLEXER_CLOSE`, :attr:`LP_MARK_BRACKET_OPEN`. .. versionadded:: 2.1 .. versionchanged:: 2.2 Can be disabled by :attr:`LP_ENABLE_MULTIPLEXER`. .. attribute:: LP_MARK_OS :type: array :value: () A list of pair of strings to be replaced by another string when displaying information about the OS. Each pair in the list configures the match, then the replacement string. For instance, if you set ``LP_MARK_OS=("Linux" "L")`` and ``LP_ENABLE_OS=1 ; LP_ENABLE_OS_FAMILY=1``, then any occurrence of "Linux" will be replaced by an "L" in the OS section. It is possible to use presets colors in the replacement string (see the :ref:`Colors` section below). Note that if a replacement occurs, the result will *not* be colored automatically. For example, to shorten known names, you can use the following configuration (if your font supports those characters): .. code-block:: shell LP_MARK_OS=( # Arch "x86_64" "${BLUE}x64${NO_COL}" "i386" "i3" "i686" "i6" "aarch64" "${GREEN}a64${NO_COL}" # Families "BSD" "${RED}BSD${NO_COL}" "Windows" "🪟" "Unix" "U" "GNU" "🐮" # Kernels "FreeBSD" "👹" "DragonFly" "🦋" "OpenBSD" "🐡" "Darwin" "🍎" "SunOS" "${BOLD_YELLOW}☀${NO_COL}" "Cygwin" "🦢" "MSYS" "M" "MinGW" "GW" "Linux" "🐧" ) See :attr:`LP_ENABLE_OS`. .. versionadded:: 2.2 .. attribute:: LP_MARK_OS_SEP :type: string :value: "/" The character used to separate items of the OS section. See :attr:`LP_ENABLE_OS`. .. versionadded:: 2.2 .. attribute:: LP_MARK_PERM :type: string :value: ":" Mark used by default separate hostname and current working directory, and is colored to indicate user permissions on the current directory. Is still used (without colors) if :attr:`LP_ENABLE_PERM` is disabled. .. versionadded:: 1.12 .. attribute:: LP_MARK_PROXY :type: string :value: "↥" Mark used to indicate a proxy is active. See also: :attr:`LP_ENABLE_PROXY`. .. attribute:: LP_MARK_RAM :type: string :value: M Mark used before displaying available Random Access Memory. See :attr:`LP_ENABLE_RAM`. .. versionadded:: 2.2 .. attribute:: LP_MARK_SHLVL :type: string :value: "└" Mark used to indicate the shell is inside another shell. See also: :attr:`LP_ENABLE_SHLVL`, :attr:`LP_SHLVL_THRESHOLD`, and :attr:`LP_COLOR_SHLVL`. .. versionadded:: 2.1 .. attribute:: LP_MARK_SHORTEN_PATH :type: string :value: " … " Mark used to indicate a portion of the path was hidden to save space. Not all shortening methods use this mark, some only use :attr:`LP_COLOR_PATH_SHORTENED`. See also: :attr:`LP_ENABLE_SHORTEN_PATH`, :attr:`LP_PATH_METHOD`. .. attribute:: LP_MARK_STASH :type: string :value: "+" Mark used to indicate at least one stash or shelve exists in the current repository. .. attribute:: LP_MARK_SVN :type: string :value: "‡" Mark used instead of :attr:`LP_MARK_DEFAULT` to indicate that the current directory is inside of a Subversion repository. See also: :attr:`LP_ENABLE_SVN`. .. attribute:: LP_MARK_TEMP :type: string :value: "θ" Mark used before displaying temperature. See also: :attr:`LP_ENABLE_TEMP`. .. attribute:: LP_MARK_UNTRACKED :type: string :value: "*" Mark used to indicate untracked or extra files exist in the current repository. .. attribute:: LP_MARK_VCS_REMOTE :type: string :value: "⭚" Mark used to indicate the VCS remote repository name and status. See :attr:`LP_ENABLE_VCS_REMOTE`. .. versionadded:: 2.2 .. attribute:: LP_MARK_VCSH :type: string :value: "|" Mark used instead of :attr:`LP_MARK_DEFAULT` to indicate that the current directory is inside of a `VCSH `_ repository. Since VCSH repositories are Git repositories under the hood, :attr:`LP_MARK_GIT` is surrounded in this mark. .. attribute:: LP_MARK_WIFI :type: string :value: "📶" Mark used before displaying wireless signal strength. See also: :attr:`LP_ENABLE_WIFI_STRENGTH`. .. versionadded:: 2.1 .. _Colors: Colors ------ These color strings will be used without modification, so they need to be valid terminal escape sequences, either generated with :func:`lp_terminal_format` or using the ``$COLOR`` variables. Valid preset color variables are: * ``BOLD`` - bold formatting only. * ``BLACK`` * ``BOLD_GRAY`` - actually bold black * ``RED`` * ``BOLD_RED`` * ``GREEN`` * ``BOLD_GREEN`` * ``YELLOW`` * ``BOLD_YELLOW`` * ``BLUE`` * ``BOLD_BLUE`` * ``PURPLE`` or ``MAGENTA`` * ``BOLD_PURPLE``, ``BOLD_MAGENTA`` or ``PINK`` * ``CYAN`` * ``BOLD_CYAN`` * ``WHITE`` * ``BOLD_WHITE`` * ``WARN_RED`` - black foreground, red background * ``CRIT_RED`` - white foreground, red background * ``DANGER_RED`` - yellow foreground, red background .. attribute:: LP_COLORMAP :type: array :value: ( "" $GREEN $BOLD_GREEN $YELLOW $BOLD_YELLOW $RED $BOLD_RED $WARN_RED $CRIT_RED $DANGER_RED ) An array of colors that is used by the battery, load, temperature, and wireless signal strength features to indicate the severity level of their status. A normal or low status will use the first index, while the last index is the most severe. See also: :attr:`LP_ENABLE_BATT`, :attr:`LP_ENABLE_LOAD`, :attr:`LP_ENABLE_TEMP`, and :attr:`LP_ENABLE_WIFI_STRENGTH`. .. attribute:: LP_COLOR_AWS_PROFILE :type: string :value: $YELLOW Color used to display the current active AWS Profile. See also: :attr:`LP_ENABLE_AWS_PROFILE`. .. versionadded:: 2.1 .. attribute:: LP_COLOR_CHANGES :type: string :value: $RED Color used to indicate that the current repository is not clean, or in other words, has changes that have not been committed. .. attribute:: LP_COLOR_CHARGING_ABOVE :type: string :value: $GREEN Color used to indicate that the battery is charging and above the :attr:`LP_BATTERY_THRESHOLD`. See also: :attr:`LP_ENABLE_BATT`. .. attribute:: LP_COLOR_CHARGING_UNDER :type: string :value: $YELLOW Color used to indicate that the battery is charging and under the :attr:`LP_BATTERY_THRESHOLD`. See also: :attr:`LP_ENABLE_BATT`. .. attribute:: LP_COLOR_CMAKE_BUILD :type: string :value: $MAGENTA Color used to display the build type in the CMake segment. See :attr:`LP_ENABLE_CMAKE`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_CMAKE_C :type: string :value: $MAGENTA Color used to display the C compiler in the CMake segment. See :attr:`LP_ENABLE_CMAKE`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_CMAKE_CXX :type: string :value: $MAGENTA Color used to display the C++ compiler in the CMake segment. See :attr:`LP_ENABLE_CMAKE`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_CMAKE_DEBUG :type: string :value: $MAGENTA Color for the *Debug* build type of the CMake section. See also: :attr:`LP_COLOR_CMAKE_RWDI` and :attr:`LP_COLOR_CMAKE_RELEASE`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_CMAKE_RWDI :type: string :value: $BLUE Color for the *RelWithDebInfo* build type of the CMake section. See also: :attr:`LP_COLOR_CMAKE_DEBUG` and :attr:`LP_COLOR_CMAKE_RELEASE`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_CMAKE_RELEASE :type: string :value: $CYAN Color for the *Release* build type of the CMake section. See also: :attr:`LP_COLOR_CMAKE_DEBUG` and :attr:`LP_COLOR_CMAKE_RWDI`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_COMMITS_BEHIND :type: string :value: $BOLD_RED Color used to indicate that the current repository has a remote tracking branch that has commits that the local branch does not. May be used by :attr:`LP_ENABLE_VCS_REMOTE`. .. attribute:: LP_COLOR_COMMITS :type: string :value: $YELLOW Color used to indicate that the current repository has commits on the local branch that the remote tracking branch does not. Also used to color :attr:`LP_MARK_STASH` and :attr:`LP_MARK_VCS_REMOTE`. .. attribute:: LP_COLOR_CONTAINER :type: string :value: $BOLD_BLUE Color used to indicate that the current shell is running in a container. .. versionadded:: 2.1 .. attribute:: LP_COLOR_DIFF :type: string :value: $PURPLE Color used to indicate that the current repository has lines that have been changed since the last commit. .. attribute:: LP_COLOR_DIRSTACK :type: string :value: $BOLD_YELLOW Color used to indicate the size of the directory stack. See also: :attr:`LP_ENABLE_DIRSTACK` and :attr:`LP_MARK_DIRSTACK`. .. versionadded:: 2.0 .. attribute:: LP_COLOR_DISCHARGING_ABOVE :type: string :value: $YELLOW Color used to indicate that the battery is discharging and above the :attr:`LP_BATTERY_THRESHOLD`. See also: :attr:`LP_ENABLE_BATT`. .. attribute:: LP_COLOR_DISCHARGING_UNDER :type: string :value: $RED Color used to indicate that the battery is discharging and above the :attr:`LP_BATTERY_THRESHOLD`. See also: :attr:`LP_ENABLE_BATT`. .. attribute:: LP_COLOR_DISK :type: string :value: $BOLD_RED Color used for displaying information about the hard drive hosting the current directory. See also :attr:`LP_COLOR_DISK_UNITS`, :attr:`LP_ENABLE_DISK`, :attr:`LP_ALWAYS_DISPLAY_VALUES`, and :attr:`LP_PERCENTS_ALWAYS`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_DISK_UNITS :type: string :value: $RED Color used for displaying the unit of the available space on the hard drive hosting the current directory. See also :attr:`LP_COLOR_DISK`, :attr:`LP_ENABLE_DISK`, :attr:`LP_ALWAYS_DISPLAY_VALUES`, and :attr:`LP_PERCENTS_ALWAYS`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_ERR :type: string :value: $PURPLE Color used to indicate the last command exited with a non-zero return code. See also: :attr:`LP_ENABLE_ERROR`. .. attribute:: LP_COLOR_ENV_VARS_SET :type: string :value: $BOLD_BLUE Color of the environment variables that are set, in the user-defined watch list. See also: - :attr:`LP_ENABLE_ENV_VARS` - :attr:`LP_ENV_VARS` - :attr:`LP_COLOR_ENV_VARS_UNSET` - :attr:`LP_MARK_ENV_VARS_OPEN` - :attr:`LP_MARK_ENV_VARS_SEP` - :attr:`LP_MARK_ENV_VARS_CLOSE` .. attribute:: LP_COLOR_ENV_VARS_UNSET :type: string :value: $BLUE Color of the environment variables that are unset, in the user-defined watch list. See also: - :attr:`LP_ENABLE_ENV_VARS` - :attr:`LP_ENV_VARS` - :attr:`LP_COLOR_ENV_VARS_SET` - :attr:`LP_MARK_ENV_VARS_OPEN` - :attr:`LP_MARK_ENV_VARS_SEP` - :attr:`LP_MARK_ENV_VARS_CLOSE` .. versionadded:: 2.2 .. attribute:: LP_COLOR_HOST :type: string :value: "" Color used for the hostname when connected locally. See also: :attr:`LP_HOSTNAME_ALWAYS`. .. attribute:: LP_COLOR_IN_MULTIPLEXER :type: string :value: $BOLD_BLUE Color used for :attr:`LP_MARK_MULTIPLEXER_OPEN` and :attr:`LP_MARK_MULTIPLEXER_CLOSE` if the terminal is in a multiplexer. .. versionchanged:: 2.2 Can be disabled by :attr:`LP_ENABLE_MULTIPLEXER`. .. attribute:: LP_COLOR_JOB_D :type: string :value: $YELLOW Color used for detached multiplexer sessions. See also: :attr:`LP_ENABLE_DETACHED_SESSIONS`. .. attribute:: LP_COLOR_JOB_R :type: string :value: $BOLD_YELLOW Color used for running shell jobs. See also: :attr:`LP_ENABLE_JOBS`. .. attribute:: LP_COLOR_JOB_Z :type: string :value: $BOLD_YELLOW Color used for sleeping shell jobs. See also: :attr:`LP_ENABLE_JOBS`. .. attribute:: LP_COLOR_KUBECONTEXT :type: string :value: $CYAN Color used for the current Kubernetes context. See also: :attr:`LP_ENABLE_KUBECONTEXT`. .. versionadded:: 2.1 .. attribute:: LP_COLOR_MARK :type: string :value: $BOLD Color used for :attr:`LP_MARK_DEFAULT`. .. attribute:: LP_COLOR_MARK_ROOT :type: string :value: $BOLD_RED Color used for :attr:`LP_MARK_DEFAULT` when the current user is root, shown instead of :attr:`LP_COLOR_MARK`. .. attribute:: LP_COLOR_MARK_SUDO :type: string :value: $LP_COLOR_MARK_ROOT Color used for :attr:`LP_MARK_DEFAULT` when ``sudo`` is active, shown instead of :attr:`LP_COLOR_MARK`. See also: :attr:`LP_ENABLE_SUDO`. .. attribute:: LP_COLOR_MODULES :type: string :value: $BLUE Color used for displaying currently loaded modules (if :attr:`LP_ENABLE_MODULES_HASHCOLOR` is disabled). See also: :attr:`LP_ENABLE_MODULES`. .. attribute:: LP_COLOR_NODE_VENV :type: string :value: $LP_COLOR_VIRTUALENV Color used for displaying a Node.js virtual environment. See also: :attr:`LP_ENABLE_NODE_VENV`. .. versionadded:: 2.1 .. attribute:: LP_COLOR_NOWRITE :type: string :value: $RED Color used for :attr:`LP_MARK_PERM` when the user does not have write permissions to the current working directory. See also: :attr:`LP_ENABLE_PERM` and :attr:`LP_COLOR_WRITE`. .. attribute:: LP_COLOR_OS_ARCH :type: string :value: $MAGENTA Color used for OS' architecture (e.g. "x86_64", "i686"…). See also: :attr:`LP_ENABLE_OS` and :attr:`LP_ENABLE_OS_ARCH`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_OS_DISTRIB :type: string :value: $MAGENTA Color used for OS' distribution (e.g. "Ubuntu", "Debian"…). .. note:: Will probably only work on Linux-like systems. See also: :attr:`LP_ENABLE_OS` and :attr:`LP_ENABLE_OS_DISTRIB`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_OS_FAMILY :type: string :value: $MAGENTA Color used for OS' family (e.g. "BSD", "GNU"…). See also: :attr:`LP_ENABLE_OS` and :attr:`LP_ENABLE_OS_FAMILY`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_OS_KERNEL :type: string :value: $MAGENTA Color used for OS' kernel (e.g. "Linux", "MinGW"…). See also: :attr:`LP_ENABLE_OS` and :attr:`LP_ENABLE_OS_KERNEL`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_OS_VERSION :type: string :value: $MAGENTA Color used for OS' version codename (e.g. "focal", "buster"…). .. note:: Will probably only work on Linux-like systems. See also: :attr:`LP_ENABLE_OS` and :attr:`LP_ENABLE_OS_VERSION`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_PATH :type: string :value: "" Color used for the current working directory. If :attr:`LP_COLOR_PATH_LAST_DIR`, :attr:`LP_COLOR_PATH_VCS_ROOT`, :attr:`LP_COLOR_PATH_SEPARATOR`, or :attr:`LP_COLOR_PATH_SHORTENED` are set, their respective sections will be colored with them instead. .. versionchanged:: 2.0 Default value changed from ``$BOLD`` to the default color. .. attribute:: LP_COLOR_PATH_LAST_DIR :type: string :value: $BOLD Color used for the last path segment, which corresponds to the current directory basename. .. versionadded:: 2.0 .. attribute:: LP_COLOR_PATH_ROOT :type: string :value: $BOLD_YELLOW Color used in place of :attr:`LP_COLOR_PATH` when the current user is root. .. attribute:: LP_COLOR_PATH_SEPARATOR :type: string :value: lp_terminal_format 8 -1 0 0 -1 # Grey Color used for the separator ('/') between path segments. If set to the empty string, the separator will take the format of the path segment before it. .. attribute:: LP_COLOR_PATH_SHORTENED :type: string :value: lp_terminal_format 8 -1 0 0 -1 # Grey Color used for path segments that have been shortened. :attr:`LP_ENABLE_SHORTEN_PATH` must be enabled to have any effect. .. attribute:: LP_COLOR_PATH_VCS_ROOT :type: string :value: $BOLD Color used for the path segment corresponding to the current VCS repository root directory. :attr:`LP_PATH_VCS_ROOT` must be enabled to have any effect. .. versionadded:: 2.0 .. attribute:: LP_COLOR_PERL_VENV :type: string :value: $LP_COLOR_VIRTUALENV Color used for displaying a Perl virtual environment. See also: :attr:`LP_ENABLE_PERL_VENV`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_PROXY :type: string :value: $BOLD_BLUE Color used for :attr:`LP_MARK_PROXY`. See also: :attr:`LP_ENABLE_PROXY`. .. attribute:: LP_COLOR_RAM :type: string :value: $BOLD_RED Color used for displaying information about the available RAM. See also :attr:`LP_COLOR_RAM_UNITS`, :attr:`LP_ENABLE_RAM`, :attr:`LP_ALWAYS_DISPLAY_VALUES`, and :attr:`LP_PERCENTS_ALWAYS`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_RAM_UNITS :type: string :value: $RED Color used for displaying the unit of the available RAM. See also :attr:`LP_COLOR_RAM`, :attr:`LP_ENABLE_RAM`, :attr:`LP_ALWAYS_DISPLAY_VALUES`, and :attr:`LP_PERCENTS_ALWAYS`. .. versionadded:: 2.2 .. attribute:: LP_COLOR_RUBY_VENV :type: string :value: $LP_COLOR_VIRTUALENV Color used for displaying a Ruby virtual environment. See also: :attr:`LP_ENABLE_RUBY_VENV`. .. versionadded:: 2.1 .. attribute:: LP_COLOR_RUNTIME :type: string :value: $YELLOW Color used for displaying the last command runtime. See also: :attr:`LP_ENABLE_RUNTIME`. .. attribute:: LP_COLOR_SHLVL :type: string :value: $BOLD_GREEN Color used for displaying the nested shell level. See also: :attr:`LP_ENABLE_SHLVL`, :attr:`LP_SHLVL_THRESHOLD`, and :attr:`LP_MARK_SHLVL`. .. versionadded:: 2.1 .. attribute:: LP_COLOR_SSH :type: string :value: $BLUE Color used for displaying the hostname when connected with SSH. Has no effect if :attr:`LP_ENABLE_SSH_COLORS` is enabled. See also: :attr:`LP_HOSTNAME_ALWAYS`. .. attribute:: LP_COLOR_SU :type: string :value: $BOLD_YELLOW Color used for displaying the hostname when running under ``su`` or ``sudo``. See also: :attr:`LP_HOSTNAME_ALWAYS`. .. attribute:: LP_COLOR_TELNET :type: string :value: $WARN_RED Color used for displaying the hostname when connected with Telnet. See also: :attr:`LP_HOSTNAME_ALWAYS`. .. attribute:: LP_COLOR_TERRAFORM :type: string :value: $PINK Color used for displaying a Terraform workspace. See also: :attr:`LP_ENABLE_TERRAFORM`. .. versionadded:: 2.1 .. attribute:: LP_COLOR_TIME :type: string :value: $BLUE Color used for displaying the current time. See also: :attr:`LP_ENABLE_TIME`. .. attribute:: LP_COLOR_UP :type: string :value: $GREEN Color used to indicate that the current repository is up-to-date and no commits differ from the remote tracking branch. .. attribute:: LP_COLOR_USER_ALT :type: string :value: $BOLD Color used for displaying the username when running as a different user than the login user. .. attribute:: LP_COLOR_USER_LOGGED :type: string :value: "" Color used for displaying the username when running as the login user. See also: :attr:`LP_USER_ALWAYS`. .. attribute:: LP_COLOR_USER_ROOT :type: string :value: $BOLD_YELLOW Color used for displaying the username when running as root. .. attribute:: LP_COLOR_VIRTUALENV :type: string :value: $CYAN Color used for displaying a Python virtual environment or Red Hat Software Collection. See also: :attr:`LP_ENABLE_VIRTUALENV` and :attr:`LP_ENABLE_SCLS`. .. attribute:: LP_COLOR_WRITE :type: string :value: $GREEN Color used for :attr:`LP_MARK_PERM` when the user has write permissions to the current working directory. See also: :attr:`LP_ENABLE_PERM` and :attr:`LP_COLOR_NOWRITE`. .. attribute:: LP_COLOR_X11_OFF :type: string :value: $YELLOW Color used for indicating that a display is not connected. See also :attr:`LP_ENABLE_DISPLAY`. .. attribute:: LP_COLOR_X11_ON :type: string :value: $GREEN Color used for indicating that a display is connected. See also :attr:`LP_ENABLE_DISPLAY`.