dotfiles/.bash_it/docs/themes-list/brainy.rst
2022-02-27 20:00:49 +01:00

146 lines
2.7 KiB
ReStructuredText

.. _brainy:
Brainy theme
============
Simple colorful terminal prompt theme (inspired by a number of themes).
Features
--------
Prompt Segments
^^^^^^^^^^^^^^^
* Username & Hostname
* Current Directory
* SCM Information
* Battery Charge
* Clock
* `Todo.txt <https://github.com/ginatrapani/todo.txt-cli>`_ status
* Ruby Environment
* Python Environment
* Exit Code
Others
^^^^^^
* Indicator for cached ``sudo`` credential
* Indicator for ssh login
* ``brainy`` command for showing/hiding various prompt segments on-the-fly
Configuration
-------------
Various prompt segments can be shown/hidden or modified according to your choice. There are two ways for doing that:
#. On-the-fly using ``brainy`` command
#. Theme Environment Variables
On-the-fly using ``brainy`` command
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This theme provides a command for showing/hiding prompt segments.
``brainy show <segment>``
``brainy hide <segment>``
Tab-completion for this command is enabled by default.
Configuration specified by this command will only be applied to current and subsequent child shells.
Theme Environment Variables
^^^^^^^^^^^^^^^^^^^^^^^^^^^
This is used for permanent settings that apply to all terminal sessions. You have to define the value of specific theme variables in your ``bashrc`` (or equivalent) file.
The name of the variables are listed below along with their default values.
User Information
~~~~~~~~~~~~~~~~
Indicator for cached ``sudo`` credential (see ``sudo`` manpage for more information):
``THEME_SHOW_SUDO=true``
SCM Information
~~~~~~~~~~~~~~~
Information about SCM repository status:
``THEME_SHOW_SCM=true``
Ruby Environment
~~~~~~~~~~~~~~~~
Ruby environment version information:
``THEME_SHOW_RUBY=false``
Python Environment
~~~~~~~~~~~~~~~~~~
Python environment version information:
``THEME_SHOW_PYTHON=false``
ToDo.txt status
~~~~~~~~~~~~~~~
`Todo.txt <https://github.com/ginatrapani/todo.txt-cli>`_ status:
``THEME_SHOW_TODO=false``
Clock
~~~~~
``THEME_SHOW_CLOCK=true``
``THEME_CLOCK_COLOR=$bold_cyan``
Format of the clock (see ``date`` manpage for more information):
``THEME_CLOCK_FORMAT="%H:%M:%S"``
Battery Charge
~~~~~~~~~~~~~~
Battery charge percentage:
``THEME_SHOW_BATTERY=false``
Exit Code
~~~~~~~~~
Exit code of the last command:
``THEME_SHOW_EXITCODE=true``
Prompt Segments Order
---------------------
Currently available prompt segments are:
* battery
* char
* clock
* dir
* exitcode
* python
* ruby
* scm
* todo
* user_info
Three environment variables can be defined to rearrange the segments order. The default values are:
``___BRAINY_TOP_LEFT="user_info dir scm"``
``___BRAINY_TOP_RIGHT="python ruby todo clock battery"``
``___BRAINY_BOTTOM="exitcode char"``