Commit graph

615 commits

Author SHA1 Message Date
Hemna
0b8a9d1de2 Added git_files_changed function
This patch adds the git library function for building a
short string that represents the output of git diff --numstat.
This gives theme designers the ability to add the
Number of files changed, number of lines added and number of
lines removed in their prompt for a git repository, while the user's
current working directory is in the git repo.

The new function supports prefix and suffix for each of the
options, files changed, lines added and lines removed.

To colorize the output, you can do something like this in your
theme file

ZSH_THEME_GIT_FILES_CHANGED_PREFIX="%{$fg[yellow]%}"
ZSH_THEME_GIT_FILES_CHANGED_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_LINES_ADDED_PREFIX="%{$fg[green]%}"
ZSH_THEME_GIT_LINES_ADDED_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_LINES_REMOVED_PREFIX="%{$fg[red]%}"
ZSH_THEME_GIT_LINES_REMOVED_SUFFIX="%{$fg[blue]%}"

For example, if there are
3 files changed, 10 lines added and no lines removed you will get
3f:10+

1 files changed, 20 lines added and 6 lines removed:
1f:20+:6-
2021-01-25 08:11:02 -05:00
Marc Cornellà
8b37f817c2 fix(lib): use -N syntax in head and tail to support Solaris (#6391)
Closes #6391

Co-authored-by: Sergey Mashkov <cy6erGn0m@gmail.com>
2021-01-16 18:59:24 +01:00
Kyle Gerard Felker
c9bf8b4a84
fix(lib): update Emacs terminal detection in title function (#9577)
Environment variable EMACS was replaced by INSIDE_EMACS
2021-01-07 20:55:18 +01:00
Marc Cornellà
6b57839292 fix(CLI): show symlinked themes in omz theme list 2021-01-05 19:09:57 +01:00
Fernando Crespo
9e5f280f87
feat(CLI): add plugin info subcommand (#9452)
Co-authored-by: Fernando Crespo <fxcrespo@iMac-44054.local>
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2021-01-03 13:55:57 +01:00
Seamile
88ffc2f666
fix(lib): mark changes as MODIFIED on 'MM' in git_prompt_status (#9552)
In the output of `git status -sb`, 'MM' indicates there are both added and modified changes.
This change marks that case as MODIFIED instead of ADDED.
2021-01-02 11:57:06 +01:00
Marc Cornellà
0f6836701d fix(CLI): properly get zsh command in omz update (#9558)
Zsh versions older than 5.3 don't have ZSH_ARGZERO, so use an alternative
method to get the zsh command.

Fixes #9558
2020-12-31 23:20:24 +01:00
Marc Cornellà
28265812f8 chore!: notify breaking change in git_prompt_info
BREAKING CHANGE: the git config option to skip running `git_prompt_info` has changed from `oh-my-zsh.hide-status` to `oh-my-zsh.hide-info` (#9188).
2020-12-10 20:48:40 +01:00
Bruno Borges
2f39c68ab0
feat(lib): show upstream branch in git_prompt_info (#9188)
Show the remote branch the local branch is tracking if `ZSH_THEME_GIT_SHOW_UPSTREAM`
is set, like so: `ZSH_THEME_GIT_SHOW_UPSTREAM=1`.

Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2020-12-10 20:44:08 +01:00
Marc Cornellà
4b7dba5b75 feat(lib)!: soft-deprecate upgrade_oh_my_zsh function for everybody
BREAKING CHANGE: the `upgrade_oh_my_zsh` function now calls `omz update` directly.
2020-12-07 20:58:12 +01:00
Marc Cornellà
5a888ff4ac fix(updater): don't show changelog when running unattended update (#9495)
Fixes #9495
2020-12-07 20:58:12 +01:00
Marc Cornellà
1aa2b18e29 feat(CLI): add --unattended flag to omz update to not reload zsh (#9187) 2020-12-04 12:34:01 +01:00
Marc Cornellà
7712da89ee feat(CLI): add omz changelog command 2020-11-30 15:48:46 +01:00
Marc Cornellà
e093a4cf62 fix(updater): correctly restart the zsh session when the update pulled changes 2020-11-30 15:48:46 +01:00
Marc Cornellà
889cd7acf3 refactor(updater): switch to Zsh execution and fix git remote detection logic 2020-11-30 15:48:46 +01:00
Marc Cornellà
a3e0f4f2af fix(lib): make opts local in omz_urlencode to fix scoping bug
Fixes error message when using zplug, due to $opts having been declared
as an associative array:

  omz_urlencode:2: bad set of key/value pairs for associative array

Fixes #9429
2020-11-09 18:33:59 +01:00
Marc Cornellà
28ed2880c7 Revert "lib: remove share_history"
This reverts commit 2376022890.

Fixes #9430
2020-11-09 12:00:15 +01:00
Marc Cornellà
bad9ee0004 lib: delete zsh session history list
NOTE: it still lives somewhere in the current zsh process. Run `fc -P` to
restore it.
2020-10-27 10:33:21 +01:00
Marc Cornellà
3f42700c0d Revert "lib: treat _ and - as part of a word"
This reverts commit 50dc4ab357.

The community has spoken:
- https://github.com/ohmyzsh/ohmyzsh/issues/9367
- https://github.com/ohmyzsh/ohmyzsh/issues/8743

Fixes #9367
2020-10-21 16:02:34 +02:00
Marc Cornellà
f9f45ca222 lib: follow symlinked plugins in plugin list CLI command
See https://github.com/ohmyzsh/ohmyzsh/issues/9087#issuecomment-712460275
2020-10-20 15:57:11 +02:00
Marc Cornellà
7525b1d533 lib: allow bare output in theme and plugins list command 2020-10-18 21:25:03 +02:00
Marc Cornellà
902954d1cc lib: use column to format plugin and theme list CLI commands 2020-10-18 21:24:48 +02:00
Marc Cornellà
6e7b861675 lib: fix regex bug in git_prompt_status
Fixes #9326
2020-10-10 19:14:30 +02:00
Marc Cornellà
2376022890 lib: remove share_history
Related: #2537, #9324
2020-10-10 12:38:17 +02:00
Marc Cornellà
75ae0e905f lib: fix omz help and reword 2020-10-10 12:12:22 +02:00
Marc Cornellà
982d010be5 lib: fix fmt removing ESC characters in theme and plugin list CLI commands 2020-10-10 11:47:09 +02:00
Marc Cornellà
d8cb670235 nvm: simplify nvm.sh and bash completion loading 2020-10-09 17:21:03 +02:00
Andrew Janke
ef44416df2 nvm: use nvm current in nvm_prompt_info and look in alternate install locations
This makes it work regardless of where nvm is loaded from. And it uses nvm's
version strings, which distinguish the "system" and "none" NVM environments,
instead of reporting the specific version of the system node.js or erroring,
respectively.

Fixes #4336
Closes #4338
2020-10-09 17:21:03 +02:00
Marc Cornellà
fc6c9ca4b4 lib: fix formatting in omz pr clean CLI command 2020-10-09 15:03:03 +02:00
Marc Cornellà
1bb402190d lib: add plugin and theme subcommands and fix omz pr clean
- Add plugin and theme subcommand

  Fixes #8961

- Add confirmation prompt to `omz pr clean` command

- Correct behavior on invalid answers on confirmation prompts

  If an invalid option is supplied, don't proceed with the potentially
  destructive action.

Co-authored-by: Rishabh Bohra <rishabhbohra01@gmail.com>
2020-10-09 13:55:56 +02:00
Marc Cornellà
865f6572d5 Fix performance drop of iterating over lines and other stuff
- Fix 'STASHED' key and unsupported syntax in 5.0.2
- Optimise `if` statement to make it more idiomatic.
2020-10-09 13:44:50 +02:00
Billy Conn
45a954cb0f git_prompt_status now uses hash lookups instead of multiple greps 2020-10-09 13:24:37 +02:00
Michał Dębski
297238b739 lib: hide git_prompt_status when hide-status is set
Closes #4912
Closes #5137
Closes #8071
2020-10-09 13:14:44 +02:00
Michele Bologna
58ff4e1d2e
lib: follow standards in window title (#9320)
In Ubuntu and Debian, in scp, and in rsync the prompt is by default specified as in

  user@hostname:/path/to/directory

while the previous title in ohmyzsh was

  user@hostname: /path/to/directory
2020-10-08 19:20:47 +02:00
Marc Cornellà
274df9dc29 lib: support simple terminal in title function
Fixes #9295
2020-09-29 18:34:35 +02:00
Marc Cornellà
4ec055b890 lib: support alacritty $TERM in title function 2020-09-28 22:25:10 +02:00
Marc Cornellà
765966606d lib: correct :q syntax in title function for clarity 2020-09-27 14:15:50 +02:00
Marc Cornellà
caff704f41 lib: clean up zsh_stats function 2020-09-26 12:17:12 +02:00
Marc Cornellà
50dc4ab357 lib: treat _ and - as part of a word
Fixes #8743
2020-09-04 21:54:05 +02:00
Marc Cornellà
89400f156a Remove zsh session restart on omz update and upgrade_oh_my_zsh 2020-08-18 19:51:19 +02:00
Marc Cornellà
7deda85f8c Fix upgrade_oh_my_zsh function deprecation 2020-08-17 22:11:02 +02:00
Marc Cornellà
079e7bb5e0 lib: remove CTRL-Backspace key binding altogether
It conflicts with normal Backspace behavior. Fixes #9155
2020-08-06 08:55:29 +02:00
Marc Cornellà
39c0073225 lib: remove CTRL-Backspace binding for vi keymaps 2020-08-05 14:34:14 +02:00
Dario Vladović
3935ccce64
cli: add update command (#9094)
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2020-08-04 17:48:29 +02:00
Marc Cornellà
cf347ef3e4 lib: bind to all keymaps when COMPLETION_WAITING_DOTS is set
Fixes #9050
2020-08-04 17:30:07 +02:00
Marc Cornellà
e04564d528 lib: add CTRL-backspace and CTRL-delete to delete whole words
Fixes #7609
Closes #8191

Co-authored-by: Michal Grňo <m93a.cz@gmail.com>
2020-08-04 17:16:54 +02:00
Marc Cornellà
ec70c0c393 lib: bind keys to viins and vicmd keymaps and clean up file
Fixes #8468
2020-08-04 17:16:19 +02:00
Marc Cornellà
f6bc949c05 lib: substitute COMPLETION_WAITING_DOTS for ellipsis
Closes #8342
2020-08-02 20:49:26 +02:00
Marc Cornellà
9521837240 lib: support mlterm-256color
Co-authored-by: Peter J. Schroeder <peterjschroeder@gmail.com>
2020-07-23 12:55:22 +02:00
Robert Estelle
1c58a746af
lib: safety fix and speed-ups for git.zsh prompt functions (#7804) 2020-07-06 17:31:40 +02:00