Commit Graph

609 Commits

Author SHA1 Message Date
Olivier Mengué
b50f9e2e9e Shorten path: fix escaping on both bash and zsh
Thanks to polyphemus (Rolf Morel) for the catch!
2014-01-08 09:06:03 +01:00
Olivier Mengué
252526f36e Do not load if $TERM is not valide (fixes #161) 2014-01-07 22:22:09 +01:00
Olivier Mengué
7249cffb44 VIRTUALENV: avoid usage of 'basename' (external command) 2014-01-06 22:15:46 +01:00
Olivier Mengué
def03a7ffd Refactor VIRTUAL_ENV support for improved speed 2014-01-06 22:10:42 +01:00
Olivier Mengué
96e42929a6 Refactor LP_PERM 2014-01-06 21:38:15 +01:00
Olivier Mengué
2ddd3bf500 Credit polyphemus 2014-01-06 19:51:01 +01:00
Olivier Mengué
dcc9afb4d5 Merge branch 'polyphemus/refactor-shorten_path' into develop
Improve _lp_shorten_path for less code and more reliability.
A great contibution by Rolf Morel.
2014-01-06 19:49:11 +01:00
Olivier Mengué
0d9cace346 DIRTRIM: fix comment explaining how to enable the feature 2014-01-06 09:24:28 +01:00
Olivier Mengué
83b0ea8ea8 shorten path: properly escape \ (bash) or % (zsh) 2014-01-03 09:32:08 +01:00
polyphemus
5b52a1d4d0 Remove unneeded local keyword 2014-01-03 09:27:55 +01:00
polyphemus
8c69a27543 Check if root when striping trailing slash 2014-01-03 09:27:42 +01:00
polyphemus
81c4ff1c05 Always show complete current dir when shortening path
When LP_PATH_KEEP=0 and current dirname were over maximum length the
name was also shorten. With this fixed _lp_shorten_path should now
always return at least the complete current dirname.
2014-01-03 09:27:25 +01:00
polyphemus
467490f20f fix promblematic shorten path function
The previous implementation had shell specific paths which did not
produce the same result. It did not respect the maximum length which it
calculated. And for specific cases even repeated part of the path.

This implementation is portable across bash and zsh.
It respects maximum length strictly and only exceeds it when it has to
respect LP_PATH_KEEP leading dirs.
It adds support for only showing the current directory, without leading
ones. This fixes Issue #219.

(Rebased by Olivier Mengué on top of more recent changes in that
fucntion)
2014-01-02 09:05:11 +01:00
Olivier Mengué
e92a8e2630 Rewrite _lp_upwards_find for speed (#255) 2013-12-30 19:39:58 +01:00
Olivier Mengué
5e63fca606 Fix LP_ENABLE_RUNTIME default value for zsh
... and avoid an invalid warning.
2013-12-28 01:41:25 +01:00
Olivier Mengué
2d4aa430d3 Merge branch 'refactor/TITLE' into develop
Major refactoring of the TITLE feature, for correctness and speed.
2013-12-28 00:35:38 +01:00
Olivier Mengué
f4c20b05fc Refactor _lp_as_text for speed
Uses 'sed' once instead of 2 ; move building of the sed program from
ruuntime to init time.
2013-12-28 00:29:33 +01:00
Olivier Mengué
5d93b64c6a Refactor _lp_title
Major refactoring of the TITLE feature to move all $TERM checks to init
time. The _lp_title function is now reduced to two lines.
2013-12-27 23:56:51 +01:00
Olivier Mengué
6aa43e140e Move $TERM checks out of _lp_title
Move $TERM checks for the TITLE feature (LP_ENABLE_TITLE) from runtime
to init time as the terminal will not change during the shell's life.
2013-12-27 22:41:08 +01:00
Olivier Mengué
d91e1422b0 Fix regexp for LP_ENABLE_TITLE
LP_ENABLE_TITLE is now fixed, at least on GNU/Linux with gnome-terminal.
2013-12-27 21:47:20 +01:00
Olivier Mengué
9c862aa896 More warnings about LP_ENABLE_TITLE in the config example 2013-12-27 19:19:35 +01:00
Olivier Mengué
e883c8e41d Fix more bad code for LP_ENABLE_TITLE
Fix one more portability hack that was really inefficient.
2013-12-27 19:16:05 +01:00
Olivier Mengué
10a3ecb17c Fix more quoting shit, to fix LP_ENABLE_TITLE 2013-12-27 19:13:18 +01:00
Olivier Mengué
3a54eaa881 Fix quoting in _lp_upwards_find usage
Should fix some issues with VCS detection.
2013-12-27 18:48:54 +01:00
Olivier Mengué
1aca2d7e3d Fix quoting bug in _lp_upwards_find #255
Thanks to @bkc for the pointer to this issue and a partial fix.
2013-12-27 17:36:36 +01:00
Olivier Mengué
a0509ac15a _lp_source_config: fix quoting for LP_MARK_ variables 2013-12-18 00:18:22 +01:00
Olivier Mengué
455da0d4fa Cleanup previous commit about LP_PATH_DEFAULT
- avoid overriding the existing LP_PATH_DEFAULT from the environment
- use the _LP_*_SYMBOL convention for shell dependent default values
2013-12-17 21:39:48 +01:00
François Schmidts
eb0119a08f Add LP_PATH_DEFAULT to allow to customize how $PWD is shown
See feature request #219.
2013-12-17 21:36:27 +01:00
Olivier Mengué
ecb1adcd48 Use proper quoting when handling PROMPT_COMMAND
May fix issue #250.
2013-12-17 21:16:43 +01:00
Alex
d2cb19fed8 Compute lines of *unstaged* changes in prompt
Parse `git diff --shortstat` to get the line count of *unstaged* changes.

Improvements of the git related stuff are still possible, using more
plumbing commands, like:
* `git diff-index --quiet HEAD` to check for uncommitted changes (branch
  color), rather than relying on the `git diff --shortstat HEAD`
* `git ls-files --exclude-standard --others` to check for untracked
  files
2013-12-17 00:28:14 +01:00
Olivier Mengué
3ff556a759 _lp_shorten_path: don't use a sub shell anymore
Instead of using a subshell, _lp_shorten_path now directly sets its
result into the LP_PWD variable.
This is not just for style, but for speed.
2013-12-17 00:12:14 +01:00
Olivier Mengué
964f77834e _lp_shorten_path: set value for locals on separate line (zsh)
zsh doesn't like if we set the value of a local while we declare it.
2013-12-17 00:06:32 +01:00
Olivier Mengué
81c93c1d52 bash/PROMPT_DIRTRIM: complete rewrite
Complete rewrite of the _lp_get_dirtrim into _lp_set_dirtrim with a much
faster implementation that avoids char by char processing of $PWD.
Also use (( )) builtin.
2013-12-16 22:33:55 +01:00
Olivier Mengué
f38be781bc Reset LP_OLD_PWD on startup
Reset the LP_OLD_PWD variable on startup.
This makes debugging easier: previously we had to change directory
after a reload to see the changes of the new code for the PWD-cached
parts.
2013-12-16 22:23:11 +01:00
François Schmidts
7d2c1b0ce7 keeping liquidprompt from overriding PROMPT_DIRTRIM when path shortening is disabled 2013-12-16 21:12:51 +01:00
Olivier Mengué
f3b34ed8cd Fix usage of $_LP_SHELL_bash 2013-12-16 21:07:25 +01:00
Olivier Mengué
20d83cade5 Merge branch 'refactor/update_terminal_cwd' into develop
Fixes OS X issues #196, #208, #238.
2013-12-10 08:04:41 +01:00
Olivier Mengué
e019813dab Remove update_terminal_cwd from _LP_OLD_PROMPT_COMMAND
... as we now have special handling for that feature of the terminal in
_LP_TERM_IPDATE_DIR
2013-12-07 11:16:26 +01:00
Olivier Mengué
d4275c1312 Run the old PROMPT_COMMAND with eval
Because it may contain multiple commands separated with ';'.
See #196.
2013-12-07 11:16:25 +01:00
Olivier Mengué
9adfd973d0 cpu_load: merge back Darwin and FreeBSD 2013-12-07 11:16:25 +01:00
Olivier Mengué
ce345aa24d Improve support for MacOS X directory icon (update_terminal_cwd)
Improvements:
- check if update_terminal_cwd is available instead of relying on the
  kernel version
- test the feature once at init time instead of at prompt time

Note that zsh is not yet supported for that feature unless the
update_terminal_cwd has been imported in your environment.
I think it would be possible to support it, but I don't have access to
MacOS X machines, so... patches are welcome!
2013-12-07 11:16:25 +01:00
Kyle P Davis
4bf9a43cef Fix battery indicator on Darwin 2013-12-07 11:14:26 +01:00
Olivier Mengué
48f435b8d4 WIP: add backend for wifi level
Very early work in progress.
Need help to design the output. LP_MARK_WIFI?
2013-12-06 00:38:51 +01:00
dryman
4111ffc493 Use LP_MARK_PREFIX="\n" to seperate the prompt into two lines 2013-12-06 00:08:16 +01:00
Olivier Mengué
8e2cc80a54 _lp_temp_*: get result through variable instead of stdout 2013-12-05 00:24:19 +01:00
Olivier Mengué
47d093dbe6 _lp_temp_acpi: handle multiple temperature sensors (multi CPU) 2013-12-05 00:13:57 +01:00
Olivier Mengué
f634a94418 Temperature/Linux: fetch using "acpi -t" 2013-12-05 00:00:38 +01:00
Olivier Mengué
34835335c7 screen: stricter matching in detached sessions counting 2013-12-04 23:38:20 +01:00
Yannack
8d090f584a Support for counting screen sessions with parameters
In some cases (multi user enabled in screen for example), the count of
detached screen sessions was incorrect. The command to locate these has
been improved using a more tolerant regex, which also makes sure the
"Detached" word appears inside a parenthesis (so it's not an attached
screen to a machine called Detach for example).
2013-12-04 23:32:21 +01:00
Olivier Mengué
c5b1c3d705 Fix tabs in source (fossil support) 2013-12-04 22:54:03 +01:00