Commit Graph

626 Commits

Author SHA1 Message Date
Olivier Mengué
dd9a024b48 Merge branch 'refactor/hg-cleanup' into develop
Cleanup _lp_hg_branch_color implementation for improved speed.
2014-01-19 20:18:14 +01:00
Olivier Mengué
a201e152f7 hg: remove usage of tail+awk in favor of sed 2014-01-19 19:56:00 +01:00
Olivier Mengué
8df6cffef7 hg: minor code layout 2014-01-19 16:03:28 +01:00
Olivier Mengué
6bfa957689 hg: improve speed of check for uncommitted stuff 2014-01-19 16:02:26 +01:00
Olivier Mengué
4955326aa5 hg: refactor outgoing commits counting
Rename variable 'has_commit' to 'commits' and declare it as integer.
2014-01-19 15:15:52 +01:00
Olivier Mengué
35e39d8b50 hg: improve untracked files detection (speed) 2014-01-19 15:05:30 +01:00
Olivier Mengué
7f54e6dee7 CONTRIBUTING: more policies 2014-01-19 11:03:23 +01:00
yannack
5f8fcc46ea Support for counting screen sessions running with extra 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 does not require
'detached' to be the first word inside the parenthesis.

To test, open a new screen session, add multiuser (type Ctrl+A, then
':', then multiuser on), then detach (Ctrl+A, Ctrl+D), and see that
liquidprompt detects the screen, as would "screen -list".
2014-01-19 10:35:52 +01:00
Frédéric Mahé
aed833058f Consistent style for loops (while and for) 2014-01-19 10:08:38 +01:00
Frédéric Mahé
df26c49ff9 Use $() instead of ticks 2014-01-19 10:08:37 +01:00
Frédéric Mahé
83a2215163 Use a redirection to avoid a call to cut (second) 2014-01-19 10:08:37 +01:00
Frédéric Mahé
74778659ae Use a redirection to avoid a call to cut 2014-01-19 10:08:37 +01:00
Frédéric Mahé
549f820e9d Use less wc calls
Use grep -c to avoid a call to wc
2014-01-19 10:08:37 +01:00
Frédéric Mahé
1808f69405 Use builtins when possible
a call to cat can be replaced by a redirection.
2014-01-19 10:08:37 +01:00
Olivier Mengué
1c114a0566 CONTRIBUTING.md: formatting fixes 2014-01-17 18:12:03 +01:00
Olivier Mengué
0921e720c2 Merge branch 'develop'
Merge changes from the develop branch:
- many fixes, in particular for MacOS X (battery)
- many speed improvments (Mercurial, Subversion)
- many reliability improvments (SHORTEN_PATH feature)
Ready for a release.
2014-01-15 15:17:19 +01:00
polyphemus
64f93eb564 shorten_path: Escape '%' instead of using a var
When ${var//orig/replace} is intended with orig as '%' there is no need
to use a variable to avoid the '//%' form if the '%' is escaped.
2014-01-12 21:59:49 +01:00
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