Liquidprompt Versions Save

A full-featured & carefully designed adaptive prompt for Bash & Zsh

v2.0.2

3 years ago

Fixed

  • git: Git worktrees not being detected (#658)

Thanks to:

  • Andrei Matei (@andreimatei) for reporting Git worktree issue.

v2.0.1

3 years ago

Added

  • docs: Example for lp_terminal_format() (#657, 954bace)
  • tests: Tests for tools/theme-preview.sh and tools/external-tool-tester.sh (e121179)

Fixed

  • general: Unset errors in liquidprompt and theme-preview.sh on Bash-3.2 (#656, e121179)
  • general: Unset errors in liquidprompt in Zsh when no terminal attached (dc11eb4)
  • general: Unset errors in liquidprompt on Windows (461f0ee)
  • color: Background of path always black, ignoring terminal background setting (#657, 58693b0)
  • tools: Make theme-preview.sh work in Zsh (e121179)

Changed

  • color: LP_COLOR_PATH changed to $NO_COL, to follow terminal default foreground (58693b0)
  • color: LP_COLOR_PATH_SEPARATOR and LP_COLOR_PATH_SHORTENED changed from light grey to grey, to be neutral on both light and dark backgrounds (58693b0)
  • color: LP_COLOR_PATH_LAST_DIR and LP_COLOR_PATH_VCS_ROOT changed from bold white to $BOLD, to follow terminal default foreground (58693b0)

Thanks to:

  • Ludovic Rousseau (@LudovicRousseau) for reporting unset crash on Bash-3.2, and reporting path color issue on light background terminals.

v2.0.0

3 years ago

See the v2.0.0 release notes for an overview of the improvements and features in this major version.

BREAKING CHANGES

Note: these breaking changes are the only reason that this version is so much faster. They are also on private functions and variables, which end users were not supposed to use. If you were using them, see the upgrade notes for help.

  • general: $_LP_SHELL_bash and $_LP_SHELL_zsh contain 1 or 0 instead of true or false (f681cdf)
  • general: _lp_color_map() return changed from stdout to $ret (e843ccf)
  • general: _lp_escape() renamed to __lp_escape() and return changed from stdout to $ret (f3404f9)
  • general: _lp_set_prompt() renamed to __lp_set_prompt() (decaece)
  • general: _lp_source_config() renamed to __lp_source_config() (decaece)
  • battery: _lp_battery() return changed from stdout to $lp_battery (3f57231)
  • battery: _lp_battery_color() return changed from stdout to $lp_battery_color (3f57231)
  • env: $lp_err renamed to $lp_error (63b9f73)
  • env: _lp_connection() return changed from stdout to $lp_connection (edc490f)
  • git: _lp_git_head_status() return changed from stdout to $lp_vcs_head_status (7c21470)
  • jobs: _lp_jobcount_color() return changed from stdout to $lp_jobcount_color (73f2057)
  • load: _lp_load_color() return changed from stdout to $lp_load_color (8a987f4)
  • path: _lp_get_home_tilde_collapsed() renamed to __lp_pwd_tilde() and return changed from stdout to $lp_pwd_tilde (28c13f2)
  • path: _lp_set_dirtrim() renamed to __lp_set_dirtrim() (decaece)
  • path: _lp_shorten_path() replaced by _lp_path_format() (decaece, a35032f, ae769dc)
  • runtime: _lp_runtime() renamed to _lp_runtime_color() and return changed from stdout to $lp_runtime_color (0f0fd37)
  • runtime: _lp_runtime_after() renamed to __lp_runtime_after() (decaece)
  • runtime: _lp_runtime_before() renamed to __lp_runtime_before() (decaece)
  • temperature: _lp_temp_acpi() renamed to __lp_temp_acpi() and return changed from $temperature to $lp_temperature (69c75a3)
  • temperature: _lp_temp_detect() renamed to __lp_temp_detect() (69c75a3)
  • temperature: _lp_temp_sensors() renamed to __lp_temp_sensors() and return changed from $temperature to $lp_temperature (69c75a3)
  • temperature: _lp_temperature() changed to data function, replaced by _lp_temperature_color() and return changed from stdout to $lp_temperature_color (69c75a3)
  • time: _lp_time() split into _lp_time(), _lp_time_color(), _lp_analog_time(), and _lp_analog_time_color() (8cb609d)
  • vcs: _lp_<vcs>_branch() return changed from stdout to $lp_vcs_branch (f3404f9)
  • vcs: _lp_<vcs>_branch_color() functions removed, replaced by _lp_vcs_details_color() (cafb8b2, bf2b9c6, 1a9fcd0, 4fff496, b523025)
  • vcs: _lp_smart_mark() return changed from stdout to $lp_smart_mark (9c6d073)
  • vcs: _lp_upwards_find() removed, replaced by _lp_find_vcs() (f434b6d)

Deprecated, Added, Fixed, Changed, Removed

See the full Changelog for details.

Thanks to

  • Dimitrie Hoekstra (@dimitrieh) for requesting VCS root highlighting in path.
  • Felix Schlitter (@felixSchl) for requesting VCS root highlighting in path.
  • Fabien MARTY (@thefab) for reporting `sensors verbose error messages.
  • Alessio Garzi (@Ozzyboshi) for reporting `sensors verbose error messages.
  • Mathieu MD (@mathieumd) for reporting `sensors verbose error messages.
  • Mike Simonson (@mikeSimonson) for reporting `sensors verbose error messages.
  • Romano Giannetti (@Rmano) for reporting `sensors verbose error messages.
  • Paulo Cazarotto (@phcco) for reporting `sensors verbose error messages.
  • Jürgen Weigert (@jnweiger) for reporting `sensors verbose error messages.
  • Sven-Hendrik Haase (@svenstaro) for reporting `sensors verbose error messages.
  • Paul Lhussiez (@Depado) for reporting lacking documentation around path shortening to last directory.
  • Cyril Bouthors (@cyril-bouthors) for reporting set -u issues.
  • Christoph Burschka (@cburschka) for requesting a method to always display a matching Git tag.
  • Iain Hallam (@iainhallam) for requesting 256 color support.
  • @dreamcat4 for requesting Powerline support.
  • Munif Tanjim (@MunifTanjim) for requesting and implementing an alternate VCS display theme.
  • @ilovezfs for suggesting more detailed Git head statuses.
  • Aleksey Tsalolikhin (@atsaloli) for suggesting an LP_ENABLE_ERROR config option.
  • Micah Silverman (@dogeared) for reporting multipler lookup slowness.
  • Rohan Kapadia (@kapad) for reporting terminal title issues on MacOS.
  • Étienne Deparis (@milouse) for implementing Mercurial bookmark display.
  • Jan Gorecki (@jangorecki) for requesting hot swappable themes.
  • Otto Kekäläinen (@ottok) for requesting terminal title improvements.
  • Hynek Vychodil (@pichi) for describing CPU load average issues.
  • Tore Anderson (@toreanderson) for describing CPU load average issues and suggesting fixes.
  • Sandro Jäckel (@SuperSandro2000) for updating the default template file.
  • David Pape (@zyzzyxdonta) for implementing the dirstack feature.
  • Aksel Sjögren (@akselsjogren) for fixing config variable usage in Powerline theme.
  • Raina Otoni (@rotoni) for fixing an IFS bug.
  • Viorel-Cosmin Miron (@uhlhosting) for reporting Zsh special variable issues.
  • Brad Beyenhof (@augmentedfourth) for consulting on packaging issues and adding documentation on machine specific configuration.
  • Arturo Borrero Gonzalez (@aborrero) for consulting on packaging issues.
  • John Hamelink (@johnhamelink) for adding install instructions for Zinit.
  • Ned Batchelder (@nedbat) for reporting Zsh completion and VCS binary files issues.
  • Gary Wolfman (@OldCrow) for reporting Zsh-5.0.X issues.
  • @Orgams for requesting _lp_vcs_staged_files() / lines().
  • @YouthfulIndiscretion for reporting issues with LP_MARK_PREFIX documentation.
  • Imran Munshi (@imran27) for reporting issues with LP_MARK_PREFIX documentation.

v2.0.0-rc.1

3 years ago

This is marked as a release candidate as there will be no features or changes added before the full release. This should be mostly stable, as we have squashed quite a few bugs already.

Changes since v2.0.0-beta.2:

BREAKING CHANGES

  • path: _lp_shorten_path() replaced by _lp_path_format() (decaece, a35032f, ae769dc)

Deprecated

  • path: LP_PATH_DEFAULT is replaced by LP_PATH_METHOD (ae769dc)

Added

  • general: Manual pages built from documentation (#637, 13e128b)
  • git: _lp_git_staged_files() data function (#644, 9038ec8)
  • git: _lp_git_staged_lines() data function (#644, 9038ec8)
  • git: Caching for diff data functions that share targets (files() + lines()) (8bf1772)
  • hostname: __lp_hostname_hash() internal function (8f730c8)
  • load: LP_LOAD_CAP config option (#650, #530, e058b61)
  • path: LP_COLOR_PATH_LAST_DIR config option (ae769dc)
  • path: LP_COLOR_PATH_SEPARATOR config option (ae769dc)
  • path: LP_COLOR_PATH_SHORTENED config option (ae769dc)
  • path: LP_COLOR_PATH_VCS_ROOT config option (ae769dc)
  • path: LP_PATH_CHARACTER_KEEP config option (ae769dc)
  • path: LP_PATH_METHOD config option (ae769dc)
  • path: LP_PATH_VCS_ROOT config option (ae769dc)
  • path: _lp_path_format() data function (#648, #349, #149, ae769dc)
  • path: __lp_end_path_left_shortening() internal function (ae769dc)
  • path: __lp_get_unique_directory() internal function (ae769dc)
  • terminal: _lp_terminal_device() data function (5076dbe)
  • tests: Tests for _lp_battery()/acpi (cef9cb1)
  • tests: Tests for _lp_battery()/pmset (c0e74b8, 9e205f5, 37db052)
  • tests: Tests for _lp_connection()/who+ps (23eb3f2, 37db052, cef9cb1)
  • tests: Tests for __lp_cpu_count()/ncpu (37db052)
  • tests: Tests for _lp_cpu_load()/sysctl (37db052)
  • tests: Tests for _lp_detached_sessions()/screen+tmux (23eb3f2, 37db052, cef9cb1)
  • tests: Tests for __lp_hostname_hash() internal function (8f730c8, 37db052)
  • tests: Tests for __lp_temp_sensors()/sensors (23eb3f2, cef9cb1)
  • tests: Tests for _lp_terminal_device() data function (5076dbe, 37db052, cef9cb1)
  • tests: Github Actions documentation linting (#649, 30f977b)
  • theme: _lp_default_theme_prompt() theme function (40c4331, 45f8091, acb5430)
  • theme: _lp_default_theme_prompt_data() theme function (acb5430)
  • theme: _lp_default_theme_prompt_template() theme function (acb5430)
  • theme: alternate_vcs, the default theme with modified VCS display (#635, #524, 2d659f0)
  • tools: external-tool-tester.sh script to generate test data (b699dea, 9a00ead, 4b7fd88)

Fixed

  • acpi: Temperature check printed each temp twice, slowing down check (cf8bf97)
  • acpi: Temperature check used extended sed syntax without declaring extended language (eb30942)
  • load: Display actual load average instead of normalized (#650, #530, e058b61)
  • load: LP_LOAD_THRESHOLD accepts floats of actual load average instead of integer centiload (#650, #530, e058b61)
  • load: Default color scale cap from 1.0 to 2.0 (#650, #530, 5069c22)
  • path: LP_COLOR_PATH default changed from $BOLD to lp_terminal_format 255 0 0 0 7 (no longer bold) (ae769dc)
  • vcs: Prompt provides no indication of changes for binary files (#647, 5885e57)
  • zsh: Add check for Zsh >= 5.0, the versions now officially supported (5bd80ce)
  • zsh: local/typeset errors on Zsh-5.0.X (#642, 7c4958b, 0f98dbb, 0ac2ad4)
  • zsh: Rename local variables that used Zsh protected names (#634, 6f1dbcf)
  • zsh: Activating would clobber completion options (#641, 762018c)

Removed

  • tests: test.sh file, unit tests integrated into acpi tests above (f445eff)

Thanks to:

  • Dimitrie Hoekstra (@dimitrieh) for requesting VCS root highlighting in path.
  • Felix Schlitter (@felixSchl) for requesting VCS root highlighting in path.
  • Munif Tanjim (@MunifTanjim) for requesting and implementing an alternate VCS display theme.
  • Hynek Vychodil (@pichi) for describing CPU load average issues.
  • Tore Anderson (@toreanderson) for describing CPU load average issues and suggesting fixes.
  • Viorel-Cosmin Miron (@uhlhosting) for reporting Zsh special variable issues.
  • Brad Beyenhof (@augmentedfourth) for consulting on packaging issues.
  • Arturo Borrero Gonzalez (@aborrero) for consulting on packaging issues.
  • Ned Batchelder (@nedbat) for reporting Zsh completion and VCS binary files issues.
  • Gary Wolfman (@OldCrow) for reporting Zsh-5.0.X issues.

v2.0.0-beta.2

3 years ago

This is a beta version because there are still features and fixes planned for v2.0.0. This version should be as stable as v1.12.

There are mostly bug fixes of bugs in v2.0.0-beta.1. There is one new data source.

Added

  • cpu: Internal function __lp_cpu_count() to count CPU cores (e5047c0)
  • dirstack: Directory stack data source (#625, f35d9ac)
  • tests: Tests for _lp_battery()/pmset (c0e74b8, 9e205f5)
  • tests: Tests for _lp_connection()/who+ps (23eb3f2)
  • tests: Tests for _lp_detached_sessions()/screen+tmux (23eb3f2)
  • tests: Tests for __lp_temp_sensors()/sensors (23eb3f2)
  • tools: An external tool tester (b699dea, 9a00ead)

Changed

  • tests: Make test suite not exit on first failing test (44e3a6f)
  • tests: Make test suite use set -u (1fe1559)

Fixed

  • battery/MacOS: Non-quoted $IFS set command (#638, 4ebc26e)
  • docs: Typos and confusing wording (3c0846a, 298693e)
  • sensors: Redirect sensors error output to /dev/null (#445, 4a52696)
  • theme: Non-usage of $POWERLINE_PYTHON_ENV_MARKER (#636, e908ec8)
  • zsh: Zsh special variables (#634, 6f1dbcf)

Removed

  • tests: pmset-simulator file, now integrated into pmset tests above (c0e74b8)

v2.0.0-beta.1

3 years ago

This is a beta version because there are still features and fixes planned for v2.0.0. This version should be as stable as v1.12.

The biggest features are general increased speed, the theme engine, and the new documentation. See the Release Notes for the most important changes.

If you are referencing $lp_err, setting $LP_DISABLED_VCS_PATH, or calling _lp_title(), see the upgrade notes for help with upgrading.

BREAKING CHANGES

Note: these breaking changes are the only reason that this version is so much faster. They are also on private functions and variables, which the end user was not supposed to use. If you were using them, see the upgrade notes for help.

  • general: $_LP_SHELL_bash and $_LP_SHELL_zsh contain 1 or 0 instead of true or false (f681cdf)
  • general: _lp_color_map() return changed from stdout to $ret (e843ccf)
  • general: _lp_escape() renamed to __lp_escape() and return changed from stdout to $ret (f3404f9)
  • general: _lp_set_prompt() renamed to __lp_set_prompt() (decaece)
  • general: _lp_source_config() renamed to __lp_source_config() (decaece)
  • battery: _lp_battery() return changed from stdout to $lp_battery (3f57231)
  • battery: _lp_battery_color() return changed from stdout to $lp_battery_color (3f57231)
  • env: $lp_err renamed to $lp_error (63b9f73)
  • env: _lp_connection() return changed from stdout to $lp_connection (edc490f)
  • git: _lp_git_head_status() return changed from stdout to $lp_vcs_head_status (7c21470)
  • jobs: _lp_jobcount_color() return changed from stdout to $lp_jobcount_color (73f2057)
  • load: _lp_load_color() return changed from stdout to $lp_load_color (8a987f4)
  • path: _lp_get_home_tilde_collapsed() renamed to __lp_pwd_tilde() and return changed from stdout to $lp_pwd_tilde (28c13f2)
  • path: _lp_set_dirtrim() renamed to __lp_set_dirtrim() (decaece)
  • path: _lp_shorten_path() renamed to __lp_shorten_path() and return changed from stdout to $lp_shorten_path without formatting (decaece, a35032f)
  • runtime: _lp_runtime() renamed to _lp_runtime_color() and return changed from stdout to $lp_runtime_color (0f0fd37)
  • runtime: _lp_runtime_after() renamed to __lp_runtime_after() (decaece)
  • runtime: _lp_runtime_before() renamed to __lp_runtime_before() (decaece)
  • temperature: _lp_temp_acpi() renamed to __lp_temp_acpi() and return chagned from $temperature to $lp_temperature (69c75a3)
  • temperature: _lp_temp_detect() renamed to __lp_temp_detect() (69c75a3)
  • temperature: _lp_temp_sensors() renamed to __lp_temp_sensors() and return chagned from $temperature to $lp_temperature (69c75a3)
  • temperature: _lp_temperature() changed to data function, replaced by _lp_temperature_color() and return changed from stdout to $lp_temperature_color (69c75a3)
  • time: _lp_time() split into _lp_time(), _lp_time_color(), _lp_analog_time(), and _lp_analog_time_color() (8cb609d)
  • vcs: _lp_<vcs>_branch() return changed from stdout to $lp_vcs_branch (f3404f9)
  • vcs: _lp_<vcs>_branch_color() functions removed, replaced by _lp_vcs_details_color() (cafb8b2, bf2b9c6, 1a9fcd0, 4fff496, b523025)
  • vcs: _lp_smart_mark() return changed from stdout to $lp_smart_mark (9c6d073)
  • vcs: _lp_upwards_find() removed, replaced by _lp_find_vcs() (f434b6d)

Deprecated

  • title: _lp_title() is replaced by _lp_formatted_title() (46df995, 9604203, #581)
  • utils: _lp_bool() is replaced by manually storing return codes (82ee823).
  • utils: _lp_sb() is replaced by data functions indicating if they returned data or not (82ee823).
  • utils: _lp_sl() is replaced by data functions indicating if they returned data or not (82ee823).
  • utils: _lp_sr() is replaced by data functions indicating if they returned data or not (82ee823).
  • vcs: $LP_DISABLED_VCS_PATH variable is replaced by a $LP_DISABLED_VCS_PATHS array variable. A warning will be displayed at startup if your config still uses the old variable, but a compatibility shim is active. See the upgrade notes for help (cad6286)

Added

  • general: Sphinx documentation (0d420d2, c7b5003, b523025, f9fd12e)
  • general: Command line flag --no-activate to skip auto shell activation when sourcing liquidprompt (e122d21)
  • general: lp_activate() function to reload config without needing to re-source liquidprompt (e1f8bd5, 22dd760)
  • general: theme-preview.sh script to generate standard prompt previews (0b94b74)
  • bzr: _lp_bzr_active() data function (b523025)
  • bzr: _lp_bzr_commit_id() data function (b523025)
  • bzr: _lp_bzr_stash_count() data function (b523025)
  • bzr: _lp_bzr_tag() data function (b523025)
  • bzr: _lp_bzr_uncommitted_files() data function (b523025)
  • bzr: _lp_bzr_uncommitted_lines() data function (b523025)
  • bzr: _lp_bzr_untracked_files() data function (b523025)
  • color: lp_terminal_format() util function (#486, 09cfced)
  • env: $LP_ENABLE_ERROR config option (#543, 63b9f73)
  • env: _lp_chroot() data function (c946155)
  • env: _lp_connected_display() data function (c946155)
  • env: _lp_error() data function (63b9f73)
  • env: _lp_hostname() data function (8de1a72, 6ea54e9)
  • env: _lp_hostname_color() theme function (c946155, 8de1a72, b1a3145)
  • env: _lp_http_proxy() data function (78dee3c)
  • env: _lp_http_proxy_color() theme function (78dee3c)
  • env: _lp_multiplexer() data function (0200b99, 230c9d7)
  • env: _lp_python_env() data function (03434d3)
  • env: _lp_python_env_color() theme function (03434d3)
  • env: _lp_software_collections() data function (f4afc5d)
  • env: _lp_software_collections_color() theme function (f4afc5d)
  • env: _lp_sudo_active() data function (9ba5d28)
  • env: _lp_sudo_active_color() theme function (9ba5d28)
  • env: _lp_user() data function (9ba5d28)
  • env: _lp_username() data function (debb794)
  • env: _lp_username_color() theme function (afe3195)
  • fossil: _lp_fossil_active() data function (bf2b9c6)
  • fossil: _lp_fossil_commit_id() data function (bf2b9c6)
  • fossil: _lp_fossil_head_status() data function (bf2b9c6)
  • fossil: _lp_fossil_stash_count() data function (bf2b9c6)
  • fossil: _lp_fossil_uncommitted_files() data function (bf2b9c6)
  • fossil: _lp_fossil_uncommitted_lines() data function (bf2b9c6)
  • fossil: _lp_fossil_untracked_files() data function (bf2b9c6)
  • git: _lp_git_active() data function (70b4ef6)
  • git: _lp_git_commit_id() data function (70b4ef6)
  • git: _lp_git_commits_off_remote() data function (309b443)
  • git: _lp_git_stash_count() data function (fe9919f, bb19836)
  • git: _lp_git_tag() data function (70b4ef6, #506)
  • git: _lp_git_uncommitted_files() data function (67dc0a9)
  • git: _lp_git_uncommitted_lines() data function (70b4ef6)
  • git: _lp_git_unstaged_files() data function (67dc0a9)
  • git: _lp_git_unstaged_lines() data function (70b4ef6)
  • git: _lp_git_untracked_files() data function (fe9919f)
  • hg: _lp_hg_active() data function (1a9fcd0)
  • hg: _lp_hg_bookmark() data function (f4636e6)
  • hg: _lp_hg_commit_id() data function (1a9fcd0)
  • hg: _lp_hg_head_status() data function (1a9fcd0)
  • hg: _lp_hg_stash_count() data function (1a9fcd0)
  • hg: _lp_hg_tag() data function (1a9fcd0)
  • hg: _lp_hg_uncommitted_files() data function (1a9fcd0)
  • hg: _lp_hg_uncommitted_lines() data function (1a9fcd0)
  • hg: _lp_hg_untracked_files() data function (1a9fcd0)
  • jobs: $LP_ENABLE_DETACHED_SESSIONS config option, separate from jobs (f9038e0, 862dcfb, #552)
  • jobs: _lp_detached_sessions() data function (73f2057, 862dcfb)
  • jobs: _lp_jobcount() data function (73f2057)
  • load: _lp_load() data function (8a987f4)
  • path: $lp_path data variable (a35032f)
  • path: __lp_path() internal function (a35032f)
  • runtime: _lp_runtime_format() data function (0f0fd37)
  • svn: _lp_svn_active() data function (4fff496)
  • svn: _lp_svn_commit_id() data function (4fff496)
  • svn: _lp_svn_uncommitted_files() data function (4fff496)
  • svn: _lp_svn_uncommitted_lines() data function (4fff496)
  • svn: _lp_svn_untracked_files() data function (4fff496)
  • temperature: _lp_temperature() as data function (69c75a3)
  • tests: Tests to check if a shell supports all features that Liquidprompt needs (#469, 46918f6, 5a9293d, cdb860)
  • tests: Github Actions build file (#469, 05e0a50)
  • theme: __lp_theme_bash_complete() to complete themes in Bash for lp_theme() (884c069)
  • theme: __lp_theme_list() to list themes loaded in function memory (884c069)
  • theme: __lp_theme_zsh_complete() to complete themes in Zsh for lp_theme() (884c069)
  • theme: _lp_default_theme_activate() theme function (40c4331, 45f8091)
  • theme: _lp_default_theme_directory() theme function (40c4331, 45f8091)
  • theme: _lp_default_theme_prompt() theme function (40c4331, 45f8091)
  • theme: lp_theme() to switch themes without resourcing any files (45f8091, 884c069, #592)
  • theme: powerline_full, the default theme order in Powerline style (bcefaf3)
  • theme: powerline, a clone of the Powerline prompt (af8382b, 8de1a72, 5ef795d, #520)
  • time: _lp_analog_time() data function (8cb609d, bc120d5)
  • time: _lp_analog_time_color() theme function (8cb609d, bc120d5)
  • time: _lp_time() data function (bc120d5)
  • time: _lp_time_color() theme function (bc120d5)
  • title: lp_formatted_title() sets persistent title stripping terminal formatting sequences (46df995, 9604203)
  • title: _lp_raw_title() sets persistent title without stripping terminal formatting sequences (46df995)
  • title: lp_title() sets a manual title that overrides the theme set title (46df995, #609)
  • utils: __lp_is_function() util function (9b40ca1)
  • utils: __lp_line_count() util function (a314677)
  • vcs: _lp_find_vcs() to quickly find nearest VCS repo (f434b6d, #524)
  • vcs: _lp_vcs_active() data function (cafb8b2, #524)
  • vcs: _lp_vcs_bookmark() data function (f4636e6, #524)
  • vcs: _lp_vcs_branch() data function (cafb8b2, #524)
  • vcs: _lp_vcs_commit_id() data function (cafb8b2, #524)
  • vcs: _lp_vcs_commits_off_remote() data function (cafb8b2, #524)
  • vcs: _lp_vcs_details_color() to format VCS details regardless of VCS type (cafb8b2, f4636e6, 5c56e65, #524)
  • vcs: _lp_vcs_head_status() data function (cafb8b2, #524)
  • vcs: _lp_vcs_stash_count() data function (cafb8b2, #524)
  • vcs: _lp_vcs_tag() data function (cafb8b2, #506, #524)
  • vcs: _lp_vcs_uncommitted_files() data function (cafb8b2, #524)
  • vcs: _lp_vcs_uncommitted_lines() data function (cafb8b2, #524)
  • vcs: _lp_vcs_unstaged_files() data function (cafb8b2, #524)
  • vcs: _lp_vcs_unstaged_lines() data function (cafb8b2, #524)
  • vcs: _lp_vcs_untracked_files() data function (cafb8b2, #524)

Fixed

  • general: Issues with custom $IFS (e48856b)
  • general: Liquidprompt is now set -u compatable (#354, a8aa8c9, cb9d71b)
  • battery: Color display would break with custom $LP_COLORMAP array (f3f20ec)
  • runtime: DEBUG trap was not unset if $LP_ENABLE_RUNTIME_BELL was disabled (cb9d71b)
  • time: Add default value for $LP_TIME_ANALOG (f8c1c47)
  • vcs: VCS display for new VCS works without needing to change directories (f434b6d)

Changed

  • general: Exit if shell is in interactive mode (f2276fc)
  • general: Load all functions at source time, not only ones enabled by the config (e1f8bd5, 8cb609d)
  • general: Remove subshells to improve speed (#607, 9ba6e86, e2ba86e)
  • general: Remove uses of eval improve speed and security (4fff496, 1a56d58)
  • color: Better handling when tput is not found (09cfced)
  • fossil: Remove sed call in _lp_fossil_branch() (6d94db6)
  • git: _lp_git_branch() only returns a matching branch, not a fallback commit ID. Use _lp_git_commit_id() instead (70b4ef6)
  • git: _lp_git_head_status() add more matches from official git prompt, as well as details for partial rebases (#527, 5c56e65)
  • jobs: Use __lp_line_count() instead of wc -l for data function (fb123f4)
  • runtime: Save bell escape sequence on startup to save time when sending bell to terminal with runtime bell (3e615cd)
  • svn: _lp_svn_branch() prefixes tag with "tag/", no longer returns current directory if no match found (4fff496)

Removed

  • vcsh: $LP_ENABLE_VCSH config option, which did nothing (f86a097)

v1.12.1

3 years ago

Version 1.12.1

A small fix for fossil users. This is annoying enough that it needs a fix now instead of in the rework.

Fixed

  • fossil: fossil 2.11+ maching any directory as a valid repo and printing 3 error messages (#626)

Thanks to:

  • Felix Eckhofer (@tribut) for reporting the issue

v1.12.0

3 years ago

After more than 4 years, it's finally here. While the project needs much more work, there were enough pending changes and needed small fixes that a minor version release was needed. This release also sees the project moving to true Semantic Versioning, which is why this is a *.*.0 release. Bug fix releases between now and v2.0 will be of the form 1.12.1 and following.

In general, this release contains mostly fixes, but there are a few added features. Liquidprompt still has a lot of work to do with issues, but this release should have a lot less of them than the previous release.

As we move towards breaking changes for 2.0, I would recommend users stay targeting this tag, unless they want to help debug issues as we work on 2.0, in which case you can follow master.

Added

  • color: Add $MAGENTA, $BOLD_PURPLE, and $BOLD_MAGENTA (3fadce9)
  • color: Add warning when tput is not available (#615)
  • path: Allow to customize the symbol before the path that shows if the directory is writable: $LP_MARK_PERM (#430)
  • runtime: $LP_RUNTIME_BELL and $LP_RUNTIME_BELL_THRESHOLD to ring bell for slow commands (#571)

Fixed

  • general: use LC_ALL=C everywhere parsable output is needed (#548, #549)
  • general: set specific IFS everywhere it is used (#613)
  • bash: workaround broken .bashrc that export $PROMPT_COMMAND, we now unexport it on startup (#450, #463, #474)
  • bash: handle unset $_LP_RUNTIME_LAST_SECONDS when set -u is set (#605)
  • bash: use $BASH_VERSINFO for when there is a non-numeric suffix (#522, 0234a58)
  • battery/OS X: newer versions of OS X failing to parse (#476, fefbe01)
  • color: $LP_COLORMAP would break if customized with a different sized array (a70e80f)
  • color: _lp_color_map() would return nothing if the passed in value was outside the scale range (a70e80f, #455, #499, #604)
  • cpu/SunOS: failing math operation on load average (#479, #480)
  • fossil: improve branch name detection, don't match tags (#497)
  • git: remove -E from grep check for portablility (#508)
  • git: modifications incorrectly showing as untracked files (#509)
  • git: changed line check failing if file named "HEAD" existed (#517)
  • hg: modifications incorrectly showing as untracked files (#509)
  • hostname: regression in $LP_ENABLE_FQDN implementation (#472)
  • hostname/SunOS: $LP_COLOR_HOST_HASH erroring (#461, #462, 9c1c8a3)
  • jobs: mispelled variable local declaration (#564)
  • root: $LP_MARK_DEFAULT being ignored if root (#501, 5ee3c53)
  • runtime: when runtime enabled, $_ would evaluate as _lp_runtime_before (#451)
  • runtime: when running a multipart command line (with pipes or ;), runtime would never show. Now shows runtime of whole pipeline (#614)
  • tmux: tmux not showing as multiplexer if custom $TERM set (#563)

Changed

  • battery: hide battery symbol when neither charging nor discharging (#582)
  • color: optimize tput color gen (d62bf31)
  • git: faster git stash check (#503, 93df016)

Thanks to:

  • Olivier Mengué (@dolmen) for maintaining the project for the majority of this release window
  • Felix Schlitter (@felixSchl) for cleaning up an awk script
  • Bryce Jasmer (@b-jazz) for clearing up wording in the config file
  • @nojhan for adding documentation to the README
  • Philip Garrison (@pgarrison) for allowing the colon to be customized
  • Étienne Deparis (@milouse) for improving Fossil branch name detection
  • Matt Smith (@ncs-msmith) for optimizing git stash check
  • François Schmidts (@jaesivsm) for fixing VCS file tracking regex
  • @ste-fan for fixing battery issues
  • Peter van Dijk (@Habbie) for fixing set -u issue in Bash
  • Nolan Leake (@nolanl) for adding bell ringing on slow command complete
  • Dmitry V. Drozdovich (@thrushcat) for fixing OS X battery issue
  • Tristan Miller (@logological) for adding documentation to the README
  • Markus Gebert (@mgeb) for suggested fixes in _lp_color_map()
  • Tore Anderson (@toreanderson) for suggested fixes and documentation around CPU and _lp_color_map()
  • Daniel Pinyol (@dpinol) for reporting git file named "HEAD" issue
  • Alyssa Ross (@alyssais) for reporting CPU and color issue
  • Gergo Szonyi (@gex) for reporting $_ issue
  • Joey Liu (@liujoey) for reporing Tmux detection issue
  • Nolan Leake (@nolanl) for reporting pipeline runtime issue
  • Éloi Rivard (@azmeuk) for reporting misleading message when tput not installed.

v1.12-rc.1

3 years ago

1.12 is coming. There are only a few bugs left that I would say are in scope for 1.12. They are #500, #511, #547, and #584. All related to Unicode and inconsistant character sizes I think, but I can't reproduce them.

I won't commit to any timeline on the actual release, but unless I get some bug reports or help with the above issues in the next week or so, I'll probably release it.

Changes since v1.12-beta.1:

Fixed:

  • general: use LC_ALL=C everywhere parsable output is needed (#548, #549)
  • color: $LP_COLORMAP would break if customized with a different sized array (a70e80f)
  • color: _lp_color_map() would return nothing if the passed in value was outside the scale range (a70e80f, #455, #499, #604)
  • git: changed line check failing if file named "HEAD" existed (#517)
  • runtime: when runtime enabled, $_ would evaluate as _lp_runtime_before (#451)
  • runtime: when running a multipart command line (with pipes or ;), runtime would never show. Now shows runtime of whole pipeline (#614)
  • tmux: tmux not showing as multiplexer if custom $TERM set (#563)

Thanks to:

  • Markus Gebert (@mgeb) for suggested fixes in _lp_color_map()
  • Tore Anderson (@toreanderson) for suggested fixes and documentation around CPU and _lp_color_map()
  • Daniel Pinyol (@dpinol) for reporting git file named "HEAD" issue
  • Alyssa Ross (@alyssais) for reporting CPU and color issue
  • Gergo Szonyi (@gex) for reporting $_ issue
  • Joey Liu (@liujoey) for reporing Tmux detection issue
  • Nolan Leake (@nolanl) for reporting pipeline runtime issue

v1.12-beta.1

3 years ago

It has been over four years, but 1.12 is coming. There are only a handful of changes here, but stretched out over four years, it is for sure time for a release.

I couldn't make this a release candidate since there is at least one important fix I am planning on including. I hopefully will get to it soon, but I have been sitting on these changes long enough, and it's time to get them out there.

Added

  • color: Add $MAGENTA, $BOLD_PURPLE, and $BOLD_MAGENTA (3fadce9)
  • path: Allow to customize the symbol before the path that shows if the directory is writable: $LP_MARK_PERM (#430)
  • runtime: $LP_RUNTIME_BELL and $LP_RUNTIME_BELL_THRESHOLD to ring bell for slow commands (#571)

Fixed

  • general: use LC_ALL=C everywhere parsable output is needed (#548, #549)
  • bash: workaround broken .bashrc that export $PROMPT_COMMAND, we now unexport it on startup (#450, #463, #474)
  • bash: handle unset $_LP_RUNTIME_LAST_SECONDS when set -u is set (#605)
  • bash: use $BASH_VERSINFO for when there is a non-numeric suffix (#522, 0234a58)
  • battery/OS X: newer versions of OS X failing to parse (#476, fefbe01)
  • cpu/SunOS: failing math operation on load average (#479, #480)
  • fossil: improve branch name detection, don't match tags (#497)
  • git: remove -E from grep check for portablility (#508)
  • git: modifications incorrectly showing as untracked files (#509)
  • hg: modifications incorrectly showing as untracked files (#509)
  • hostname: regression in $LP_ENABLE_FQDN implementation (#472)
  • hostname/SunOS: $LP_COLOR_HOST_HASH erroring (#461, #462, 9c1c8a3)
  • jobs: mispelled variable local declaration (#564)
  • root: $LP_MARK_DEFAULT being ignored if root (#501, 5ee3c53)

Changed

  • battery: hide battery symbol when neither charging nor discharging (#582)
  • color: optimize tput color gen (d62bf31)
  • git: faster git stash check (#503, 93df016)

Thanks to

  • Olivier Mengué (@dolmen) for maintaining the project for the majority of this release window
  • Felix Schlitter (@felixSchl) for cleaning up an awk script
  • Bryce Jasmer (@b-jazz) for clearing up wording in the config file
  • @nojhan for adding documentation to the README
  • Philip Garrison (@pgarrison) for allowing the colon to be customized
  • Étienne Deparis (@milouse) for improving Fossil branch name detection
  • Matt Smith (@ncs-msmith) for optimizing git stash check
  • François Schmidts (@jaesivsm) for fixing VCS file tracking regex
  • @ste-fan for fixing battery issues
  • Peter van Dijk (@Habbie) for fixing set -u issue in Bash
  • Nolan Leake (@nolanl) for adding bell ringing on slow command complete
  • Dmitry V. Drozdovich (@thrushcat) for fixing OS X battery issue
  • Tristan Miller (@logological) for adding documentation to the README