Commit Graph

717 Commits

Author SHA1 Message Date
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
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