All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.2.1 - 2024-07-01
- general: Bump version number (2121394)
- general:
_lp_version_greatereq
crash on release version with set -u enabled (2121394) - disk: Error on file system with no space (#841)
- perl:
plenv
andperlbrew
source displaying "system" (#834) - ruby:
rbenv
andrvm-prompt
source displaying "system" (#834) - tmux: Wrong
LP_TITLE_OPEN
for tmux (#839) - tools: Remove sprunge.us recommendation (#837)
- tools: Update external-tool-tester.sh with new tools (6868057)
- disk: Now will never displays if file system is smaller than
LP_DISK_THRESHOLD
(#841) - docs: Improve docs around .bashrc ordering (1139de1)
2.2.0 - 2024-05-22
- theme: Powerline themes deprecated. Use split off project liquidprompt/liquidprompt-powerline instead (#830)
- general:
_lp_fill()
function for use by themes (#738, #803) - general:
_lp_join()
function for use by themes (67a4221) - general:
_lp_version_greatereq()
function for use by themes (#752) - general:
_lp_version_string()
function for use by themes (#752) - general:
config-from-doc.sh
script (#772) - general: Multple config presets (#755, #772)
- chroot:
LP_ENABLE_CHROOT
config option (#801) - cmake: CMake option display (d8254c6)
- disk: Disk space display (#771)
- display:
LP_ENABLE_DISPLAY
config option (#801) - docs: List features disabled by default (#750)
- docs: Spell checking workflow (787e03e)
- env: User defined env variables section (#722, #754, #829)
- env:
end_color
paramater to_lp_env_vars()
(#798) - env:
LP_SHLVL_THRESHOLD
config option (#821) - error: Display meaning of exit code (#729, #745)
- git: Display of remote for branch (#784)
- jobs: Configurable jobs separator (#743)
- modules: Environment modules support (#763, #766)
- multiplexer:
LP_ENABLE_MUX
config option (#801) - os: Display OS data (#724, #756)
- path: Option to disable path display (#775)
- path: Path sections as hyperlinks (#659, #668)
- perl: Support for Perlbrew and plenv display (#812)
- ram: Display available RAM (#770, #788)
- ruby: Tests for rvm support (#815)
- temp:
LP_TEMP_SYSFS_IGNORE_FILES
config option (#807) - theme: Dev env section (67a4221)
- theme: Extra optional parameters to
theme-preview.sh
(#805) - theme: New Unfold theme (#746, #795, #805)
- theme: Status bar example scripts (#775, #816)
- theme:
LP_THEME
variable to set current theme (#792) - theme:
templates/minimal/minimal.ps1
; replacingliquid.ps1
(#767, #805) - theme:
_lp_<theme_id>_theme_version_check()
hook for themes (046d830) - tmux:
LP_ENABLE_TMUX_TITLE_PANES
option (c74a9e4)
- general: Some error messages printing to stdout instead of stderr (#826)
- bash: Avoid running
__lp_set_prompt()
multiple times (#824) - bash: Avoid running hooks on empty command line (436b1b5)
- bash: Runtime of the previous command was still showed on subsequent prompts (436b1b5)
- bash: Command timing incorrect on Bash 5.1+ when not last to init (6f2ca7e)
- bash: Slow
__lp_strip_escapes()
in deep directory hierarchy (#831) - docs: Improved docs on theme switching (#765, #767)
- docs: Incorrect reference to test script in developer docs (#811)
- docs: Reword Arch Linux install instructions (#822, #823)
- git: Printed error if error during interactive rebase (#758, #759)
- hostname: Hostname hash on systems without
hostname
binary (#776) - load: Load display on Android systems (#587)
- multiplexer:
_lp_multiplexer()
return variable incorrectly namedlp_mulitplexer
(#748) - python: Poetry virtualenvs showing "prompt =" (#760)
- tests: Bash preexec tests not working in screen/tmux (#773)
- tests: Shellcheck not checking
liquidprompt
file (ff44057) - theme: Avoid costly strip escape on filling sequence (#803)
- theme-preview: Set SSH context for display (#769)
- theme-preview: Stop indenting prompts to fix multiline prompts (#744)
- zsh: errors when
ksh_arrays
set (708635b)
- general: Move project to "liquidprompt" GitHub organization.
- docs: Improve marketing (#731)
- docs: Unify project name as "Liquid Prompt" (#677)
- docs: Update docs with new features in v2.2 (#795)
- error: Avoid showing the 130 error code after hitting Ctrl-C or empty command line (#827)
- tests: Print name of failed tests at end of script (9992fce)
- theme:
liquid.ps1
reworked and moved totemplates/minimal/minimal.ps1
(#805)
2.1.2 - 2022-06-08
- bash:
PROMPT_COMMAND
not saved and respected on first load (#715)
2.1.1 - 2022-05-26
- battery: Error messages printed with buggy driver with sysfs backend (#713)
- temp: Error messages printed with buggy driver with sysfs backend (#713)
2.1.0 - 2022-05-25
- env:
LP_ENABLE_FQDN
replaced withLP_HOSTNAME_METHOD=full
(#472) - utils:
_lp_as_text()
replaced with__lp_strip_escapes()
(6085cd2)
- aws: AWS profile display (#496, #679, 4c8ac92)
- bash: Compatibility with bash-preexec (#672)
- battery: Linux sysfs backend (#689)
- container: Container status data source (#569, #612, #709)
- env:
LP_HOSTNAME_METHOD=fqdn
displays true FQDN (#472) - env:
LP_HOSTNAME_METHOD=pretty
shows display name (#596) - env: Nested shell level data source (#606)
- hg:
LP_HG_COMMAND
config option to customizehg
binary (#701) - k8s: kubectl current context display (#578, #673, #681, #695, d41b5c8)
- multiplexer: Custom prompt brackets in multiplexers (#453)
- node: Node.js environment display (#298)
- path: Return unescaped path in lp_path in
_lp_path_format()
(a23af79) - ruby: Ruby environment display (#628, 239a574, #676, 59078f0)
- temp: Linux sysfs backend (#623)
- terraform: Terraform workspace support (#669)
- title: Title command feature (#609, #665, 0c23a33, a23af79)
- vcsh: Print the VCSH directory name in the custom prompt mark (#363)
- wifi: Wireless signal strength data source (#139)
- bash: Support for Bash 5.1+
PROMPT_COMMAND
as array (#684) - color:
LP_COLORMAP
reverting to default value (145f146) - docs: Outdated link to Symbola font project page (#662)
- docs: Small typos and license clarification (#664, #678, 66d1d2b)
- git: Git worktrees would never detect repo states (1be52e0)
- git: Respect environment variable
GIT_DIR
(1be52e0) - path: Add
__lp_escape()
calls to_lp_path_format()
(36ab8fa, a23af79) - powerline: First character color issue in Zsh and Bash-3.2 (70ce708)
- powerline: Array issues in Bash-3.2 (77dc561)
- ruby: Zsh crash on rbenv output parse (#667)
- temp: High temp values would stick (#686)
- term: Some terminal emulators being detected as Telnet connections (#483)
- term: Early exit on
TERM=unknown
(#688) - zsh:
local
bugs in Zsh-5.0 (7db4ada)
- general: Directly generate prompt mark instead of escape code (#665, 1a22e1e)
- general: Refactor internal shell hooking implementation (0ce7646)
- bash: Avoid setting any shell options (#663, a1d0a54)
- env: Lookup hostname instead of escape code (#665, 0368523)
- env: Lookup username instead of escape code (#665, 61df03a)
- hg:
_lp_hg_commits_off_remote()
returns2
instead of3
(#696) - python: Load virtualenv name from venv config first (#708)
- sudo: Use the
--validate
flag instead of runningtrue
(#702) - sudo: Make
_lp_sudo_active()
a no-op if user has NOPASSWD (#344) - time: Call
date
to generate time instead of escape code (#665, dd1f8f8) - tests: All included themes run through theme-preview tester (3b75185)
- tests: test.sh accepts shells as arguments (9a2c067)
- vcs: Unsupported VCS functions defined as empty functions (#696)
- zsh: Avoid setting any shell options except for promptpercent (58969b2)
2.0.5 - 2022-04-24
2.0.4 - 2022-02-07
- hg:
_lp_hg_commits_off_remote()
returns2
instead of3
(#696) - vcs: Unsupported VCS functions defined as empty functions (#696)
2.0.3 - 2021-05-30
- hg: Stash count erroring with no function defined (#671)
- fossil: Stash count erroring with no function defined (#671)
- fossil: Uncommited files erroring with no function defined (#671)
- fossil: Untracked files erroring with no function defined (#671)
- svn: Uncommited files erroring with no function defined (#671)
- temp: Temperature erroring if tool returns no data with
set -u
(#670)
2.0.2 - 2021-02-22
- git: Git worktrees not being detected (#658)
2.0.1 - 2021-02-07
- docs: Example for
lp_terminal_format()
(#657, 954bace) - tests: Tests for tools/theme-preview.sh and tools/external-tool-tester.sh (e121179)
- general: Unset errors in liquidprompt and theme-preview 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)
- 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_ROOTchanged from bold white to
$BOLD`, to follow terminal default foreground (58693b0)
2.0.0 - 2021-02-05
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
contain1
or0
instead oftrue
orfalse
(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()
removed (ae769dc) - 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)
- path:
LP_PATH_DEFAULT
is replaced byLP_PATH_METHOD
(ae769dc) - 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)
- general: Sphinx documentation (0d420d2, c7b5003, b523025, f9fd12e)
- general: Manual pages built from documentation (#637, 13e128b)
- 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) - 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) - cpu: Internal function
__lp_cpu_count()
to count CPU cores (e5047c0) - dirstack: Directory stack data source (#625, f35d9ac)
- 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_staged_files()
data function (#644, 9038ec8) - git:
_lp_git_staged_lines()
data function (#644, 9038ec8) - 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) - git: Caching for diff data functions that share targets (
files()
+lines()
) (8bf1772) - 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) - hostname:
__lp_hostname_hash()
internal function (8f730c8) - 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_CAP
config option (#650, #530, e058b61) - load:
_lp_load()
data function (8a987f4) - 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) - 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) - terminal:
_lp_terminal_device()
data function (5076dbe) - tests: Shunit2 testing suite (#469, 46918f6, 44e3a6f, 1fe1559)
- tests: Tests to check if a shell supports all features that Liquid Prompt needs (46918f6, 5a9293d, 1fe1559)
- tests: Tests for
_lp_as_text()
(6cdb860) - 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_is_function()
util function (9b40ca1) - tests: Tests for
__lp_line_count()
util function (a314677) - tests: Tests for
__lp_pwd_tilde()
path function (28c13f2) - tests: Tests for
__lp_temp_sensors()
/sensors
(23eb3f2, cef9cb1) - tests: Tests for
_lp_terminal_device()
data function (5076dbe, 37db052, cef9cb1) - tests: Github Actions build file (#469, 05e0a50)
- tests: Github Actions documentation linting (#649, 30f977b)
- theme:
__lp_theme_bash_complete()
to complete themes in Bash forlp_theme()
(884c069) - theme:
__lp_theme_list()
to list themes loaded in function memory (884c069) - theme:
__lp_theme_zsh_complete()
to complete themes in Zsh forlp_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, acb5430) - theme:
_lp_default_theme_prompt_data()
theme function (acb5430) - theme:
_lp_default_theme_prompt_template()
theme function (acb5430) - theme:
lp_theme()
to switch themes without resourcing any files (45f8091, 884c069, #592) - theme:
alternate_vcs
, the default theme with modified VCS display (#635, #524, 2d659f0) - 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) - tools:
external-tool-tester.sh
script to generate test data (b699dea, 9a00ead, 4b7fd88) - tools:
theme-preview.sh
script to generate standard prompt previews (0b94b74) - 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)
- general: Issues with custom
$IFS
(e48856b, 4ebc26e) - general: Liquid Prompt is now
set -u
compatible (#354, a8aa8c9, cb9d71b) - acpi: Temperature check printed each temp twice, slowing down check (cf8bf97)
- acpi: Temperature check used extended sed syntax without declaring extended language (eb30942)
- 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) - sensors: Redirect sensors error output to
/dev/null
(#445, 4a52696) - time: Add default value for
$LP_TIME_ANALOG
(f8c1c47) - vcs: VCS display for new VCS works without needing to change directories (f434b6d)
- 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 ofwc -l
for data function (fb123f4) - 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
tolp_terminal_format 255 0 0 0 7
(no longer bold) (ae769dc) - 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) - zsh: Add check for Zsh >= 5.0, the versions now officially supported (5bd80ce)
- tests:
pmset-simulator
file, now integrated intopmset
tests above (c0e74b8) - tests:
test.sh
file, unit tests integrated intoacpi
tests above (f445eff) - vcsh:
$LP_ENABLE_VCSH
config option, which did nothing (f86a097)
1.12.1 - 2020-10-25
- fossil: fossil 2.11+ matching any directory as a valid repo and printing 3 error messages (#626)
1.12.0 - 2020-07-17
- 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)
- 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
whenset -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: misspelled 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)
- battery: hide battery symbol when neither charging nor discharging (#582)
- color: optimize
tput
color gen (d62bf31) - git: faster
git stash
check (#503, 93df016)
1.11 - 2016-06-25 - dolmen (Olivier Mengué)
1.10 - 2016-05-30 - dolmen (Olivier Mengué)
- config: Many
$LP_ENABLE_*
settings are now static (their effect applies when liquidprompt is loaded, and changing them at the prompt does nothing) to improve speed. - screen:
$LP_SCREEN_TITLE_OPEN
and$LP_SCREEN_TITLE_CLOSE
are now removed to simplify the code (#371) - zsh: option 'nopromptsubst' is enabled for security reasons. This will unfortunately also affect evaluations of other prompt contexts such as RPS1. (282359a, #432)
- color:
$LP_COLORMAP_x
variables are replaced by a single$LP_COLORMAP
array variable. A warning will be displayed at startup if your config still uses the old variables, but a compatibility shim is active (will be removed in v2.1). (6961f99)
- git: show the number of commits behind the remote (#110, #269, 48f1b02)
- git: show the rebasing/merging/cherry-picking state (#409, 5cfd2c2)
- hostname:
$LP_ENABLE_FQDN
to show the fully qualified domain name of the host (#254, #277, 695d629) - hostname:
LP_HOSTNAME_ALWAYS=-1
to always hide the hostname (#406, d9cb55d) - python: add support for Conda (CONDA_DEFAULT_ENV) (#425, 07be967)
- sudo: the color of the prompt mark is now dynamic and changes to
$LP_COLOR_MARK_SUDO
(default: bold red) as long as your sudo credentials are cached. Requires sudo 1.7.0+. This feature must be enabled withLP_ENABLE_SUDO=1
. Usesudo -K
to revoke your credentials early. This feature is disabled by default as there is no way to detect if the user has sudo rights without triggering a security alert that will annoy the sysadmin (#335, #345, a8571bb) - tty:
$LP_TTYN
: the basename of the terminal (#357, a97c0da, f436867) - zsh: run duration of the last command (
LP_ENABLE_RUNTIME
) is now supported (#404, #355)
- general: last statement of liquidprompt did not return 0 (#360, #361)
- general: better support for
set -u
(a8114dd) - bash: bash 3 compatibility, remove
function
syntax (#313, 3079299) - battery/OS X: handle battery edge cases. We now have a pmset simulator to better detect regressions (#326, fabc775)
- compat: broken path inside Midnight Commander (#288)
- config: Use $XDG_CONFIG_HOME to locate the config (#415, #420, #427)
- cpu: fix the scale that was incorrectly 0-200 (not an ideal fix) (#391, e9c35dd)
- examples: example.bashrc major fixes (fdbd7ca)
- fossil/OS X: tag regexp to work on darwin (#390)
- git: broken git work directory detection caused by typo (64029ad)
- grep: clear GREP_OPTIONS and skip
grep
aliases (#340, #372) - path: issues when $PWD contains spaces or special chars (#369, 0e0cc12)
- path: escaping of special chars from $PWD (well, almost, see #389)
- path: fix path growing with extra color codes each time directory is changed (b53e53b)
- temp: try each backend (acpi/sensors) once to check it works at startup and disable the feature if none works. (#410, #319, #381, #387)
- temp: the 'sensors' command now uses the '-u' option ("raw output") that is easier to parse. This format is at least 7 years old. (#379, #380)
- temp: fix failing regex on bash (1fc0308)
- term: fix detection of connection source for tmux (#304, #407)
- title: terminal sequences that were sent in the title text (the escaping algorithm is rewritten and now just correct) (#416, 8605378)
- zsh: enable word splitting to fix
$LP_DISABLED_VCS_PATH
(#423) - zsh: fix
LP_PATH_KEEP=-1
not working (#433) - zsh: fix title escapes in zsh inside tmux/screen (#370, #371)
- zsh: rename
$status
variable in_lp_battery()
(#334, 0f80162) - zsh: save and restore a prompt set with zsh' promptinit (02bc49e)
- zsh: use zsh style symbol when
prompt_OFF()
(eb6dafc)
- bash: disable parameter expansion in PS1 (c3d4970)
- clock: complete rewrite of analog clock for speed and correctness (#365, 0548290)
- dist: Move dist/ to contrib/dist/ as files there are unmaintained (cf01d02)
- jobs: optimize job count, espceially when disabled (aa870b5)
- path: optimize implementation in case of
LP_PATH_KEEP=-1
:$LP_PWD
becomes static (7602c09, #256) - path: optimize implementation in case
LP_ENABLE_SHORTEN_PATH=0
on bash with$PROMPT_DIRTRIM
(8da3314) - runtime: refactor runtime system (03c73fe, d485ed1)
- zsh: disable
$PROMPT_COMMAND
hacks and only use zsh built in hooks (5fa9054) - zsh: disable existing hooks at startup (454112f)
- zsh: explicitly set the shell options we need (instead of relying on the shell default settings) (282359a)
1.9 - 2014-11-12 - dolmen (Olivier Mengué)
- temp/linux guard against any future language change of the
acpi
command (1c65748) - vcsh: vcsh support (#148, #287, e927985)
- venv: support for Software Collections (#299, #300, cc1be7e)
- general: lots of variable quoting fixes
- general: save user IFS and restore it to avoid echo (#267, 782fad0)
- bash: save and set shell option promptvars (62f0270)
- bash: workaround broken pattern substitution in bash 4.2 (#289, #294, #302, 5813a71)
- battery: general fixes (#265)
- battery/OS X: fix for computers without battery (like iMacs) (#317)
- bazar:
_lp_bzr_branch_color()
for zsh (#301, #303) - clock: fix analog clock hour for 12AM and 12PM (#273)
- color: fix
tput
usage on BSDs (4572bd0) - git: count merge commits when checking differences with remote branch (7e7734e)
- git: use --porcelain for
git status
(#270, 89540d3) - hostname: fix colorization for SSH (9633ac8)
- jobs: fix when screen/tmux are not installed (#304, 07d18d4)
- mark: losing space when
$LP_MARK_DEFAULT
not quoted (#268, c9bdefe) - screen: counting screen sessions running with extra parameters (#261, 5f8fcc4)
- svn: fix branch/tag name extraction (#117, #237, c98f16d)
- svn: support paths that are not branches or trunk (#293, 5425a5e)
- temp/linux fix for negative temperature values (#308, 7402f79)
- term: fix
$TERM
check (#291, dc7be25) - zsh: make
$LP_OLD_PROMPT_COMMAND
work (81b080e)
- general: apply some shellcheck.com suggestions
- color: optimize colormap when
LP_PERCENT_ALWAYS=1
(ee63435) - fossil: cleanup and optimization (#274)
- git: minor optimization (#266)
- git: simplify working tree detection (0e0cc87)
- hg: disabled
hg outgoing
because it is slow (#217) - hg: general cleanup for speed and fixes (dd9a024)
- general:
$LP_LIQUIDPROMPT
, use$LP_OLD_PS1
for the same check (ed4f383)