Commit Graph

686 Commits

Author SHA1 Message Date
ea4854dba3 feat(directories): add config to skip aliases (#11469)
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
2023-02-02 11:30:34 +01:00
657ad0523d fix(theme-and-appearance): fix diff completion in macOS
Closes #11416
Closes #11454
2023-01-25 18:12:20 +01:00
bf57b4ff3d feat(functions/take): make .tgz behave as .tar.gz (#11446) 2023-01-20 19:45:14 +01:00
df658350a3 fix(clipboard): move wsl detection to higher priority (#11440)
Closes #8827
2023-01-15 17:11:29 +01:00
17ea97332b Revert "fix(lib): send carriage return after title to fix #11314 (#11315)"
This reverts commit 3dd83a22a1.

See https://github.com/ohmyzsh/ohmyzsh/issues/11314#issuecomment-1379492472
2023-01-12 08:29:00 +01:00
3dd83a22a1 fix(lib): send carriage return after title to fix #11314 (#11315)
Window and tab titles are changed by emitting an unprintable escape
sequence to the terminal. These escape sequences do not play nicely
with the TAB character on multiple terminal emulators--they create
un-deletable characters on the first line after command execution.
Sending "\r" after changing the window and tab titles allows all
characters on the first line to be deleted.

Fixes #11314
2023-01-11 19:44:29 +01:00
6dfc9b960f feat(git): display tag in git-prompt when possible (#11318)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
2022-11-08 09:34:13 +01:00
8487a5536d fix(cli): avoid using column (#11271) 2022-10-18 19:38:47 +02:00
b9be3a43b4 fix(cli): change unrecognized \s in BSD awk (#11146)
In BSD awk, \s is not a valid sequence interchangeable with "space or tab characters"
as it is in GNU awk. This fix uses [ \t] instead, which is all the possibilities that
we need to contemplate when reading the .zshrc file.

Fixes #11146
2022-10-12 11:06:29 +02:00
570158e464 chore(lib): update deprecated grep aliases (#11161) 2022-10-03 17:59:49 +02:00
97134d1eed fix(cli): make omz honour symlinks when changing .zshrc (#11082) 2022-08-02 19:28:44 +02:00
0c7ce363c9 chore(lib): only create afind alias if ack is installed (#11017) 2022-07-12 19:36:43 +02:00
ef8e63a7fd fix(lib): prefer xsel over xclip in clipboard.zsh
See #10925
2022-07-12 18:56:09 +02:00
39573125e4 feat(lib): wait for input to copy to the clipboard (#10953) 2022-07-12 18:52:22 +02:00
4506210c38 fix(lib): don't attach to tty in wl-copy and xclip (#10953)
Fixes #10925
2022-07-12 18:52:21 +02:00
39b600e9e5 fix(lib): encode all arguments besides the first in omz_urlencode
Fixes 140c977a3d (commitcomment-73688165)
2022-05-15 13:20:33 +02:00
dfee71c773 Revert "fix(lib): don't return clean with hide-dirty=1 in parse_git_dirty" (#10927) 2022-05-12 18:25:02 +02:00
4674384d1a fix(lib): don't return clean with hide-dirty=1 in parse_git_dirty (#10897) 2022-05-12 11:31:00 +02:00
30e23a643b refactor(cli): fix commit.gpgsign test in omz pr test 2022-04-14 12:14:40 +02:00
f1a5fb5ee9 fix(cli): fix commit.gpgsign test in omz pr test
Since `set -e` is enabled, when `commit.gpgsign` is not set the
`git config` command would show an error. Given that it is technically
not ignored, the subshell would exit.

With this change, the `commit.gpgsign` setting is properly tested
by doing the fallback test if the command fails, so no exit status
code ends up quiting the subshell.
2022-04-14 12:08:59 +02:00
141d06b602 fix(cli): turn of commit.gpgsign compatibly with git v1.7.1 (#10679)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
2022-03-31 09:27:58 +02:00
99460351eb feat(lib): support auto title in foot terminal (#10735)
Co-authored-by: Markus Arians <markus.arians@andrena.de>
2022-02-25 13:29:22 +01:00
b00b59364a fix(vcs_info): don't patch VCS_INFO_formats if not found 2022-02-21 20:30:06 +01:00
07b829c894 fix(vcs_info): quote % in relevant fields on all current Zsh releases 2022-02-21 18:34:28 +01:00
ef3f7c43a9 fix: apply workaround patch for vcs_info (CVE-2021-45444)
This lib function applies a patch to the VCS_INFO_formats function
in zsh versions from v5.0.3 until v5.8, which don't quote % chars
in some arguments received. Normally that just means that some
% characters in these strings (branch names, directories, etc.)
will be incorrectly parsed as formatting sequences.

With CVE-2021-45444, however, this means that one of these strings
from a malicious source (e.g. a malicious git repository) can
trigger command injection and run arbitrary code in the user's
machine when visiting such git repository.

Zsh 5.8.1 fixes this vulnerability [1], but older vcs_info setups
still need a workaround such as this one to patch the vulnerability.

[1] c3ea1e5d52
2022-02-13 19:07:12 +01:00
0da33ca22b fix(cli): disable GPG signing in omz pr test to avoid key prompt (#10677) 2022-02-10 11:50:04 +01:00
e1a9d0ce3e fix(cli): allow omz commands to be used in a script (#10645)
The commands `omz plugin {enable,disable}` and `omz theme set`
automatically reload the zsh session on success. With this
change, the CLI checks whether the commands are run in an
interactive session before reloading the zsh session.

This change also conditionally sets the completion function
for `omz` so that it's not done in a non-interactive session.
2022-02-02 23:02:23 +01:00
f64cabc780 fix(cli): make sure to run zsh command if an alias exists (#9737)
Fixes #9737
2022-01-24 17:38:32 +01:00
84931adcd4 fix: do not call chpwd hooks in subshells 2022-01-22 22:07:09 +01:00
567bd59395 refactor(cli): use self-referencing in subcommand functions 2022-01-17 13:18:10 +01:00
035c856c2c fix: get branch name first in omz version and changelog 2022-01-13 17:46:09 +01:00
a92ee838f3 fix(cli): follow symlinks in plugin or theme completions 2022-01-09 20:27:22 +01:00
5b076eab9b fix(lib): quote % in nvm_prompt_info 2022-01-03 13:50:50 +01:00
304af0a577 fix(lib): quote % in git_remote_status 2022-01-03 13:50:50 +01:00
8ae373130c fix(cli): respect ZDOTDIR in plugin/theme change commands (#10520)
Fixes #10520
2021-12-21 17:01:56 +01:00
4b4cc9a4a5 fix(cli): fix plugin and theme suggestions in completion for older zsh versions 2021-12-16 10:50:34 +01:00
9a3d853481 fix: quote % characters in ruby prompt info functions 2021-12-13 17:43:32 +01:00
428f815169 fix(lib): %-quote git prompt functions 2021-12-13 11:26:55 +01:00
f0f792fa6b feat(cli): add omz version command 2021-11-30 10:13:23 +01:00
0314604384 fix(lib): don't error if INSIDE_EMACS is not defined (#10443) 2021-11-25 23:55:21 +01:00
a263cdac9c fix(lib): fix potential command injection in title and spectrum functions
The `title` function unsafely prints its input without sanitization, which if used
with custom user code that calls it, it could trigger command injection.

The `spectrum_ls` and `spectrum_bls` could similarly be exploited if a variable is
changed in the user's shell environment with a carefully crafted value. This is
highly unlikely to occur (and if possible, other methods would be used instead),
but with this change the exploit of these two functions is now impossible.
2021-11-11 22:45:11 +01:00
6cb41b70a6 fix(lib): fix omz_urldecode unsafe eval bug
The `omz_urldecode` function uses an eval to decode the input which can be
exploited to inject commands. This is used only in the svn plugin and it
requires a complex process to exploit, so it is highly unlikely to have been
used by an attacker.
2021-11-11 22:44:18 +01:00
1d166eaaa1 fix(cli): avoid git -C for compatibility with git < v1.8.5 (#10404) 2021-11-10 11:35:17 +01:00
9a11b34101 fix(cli): fix check for completion files in omz plugin load 2021-11-09 12:03:59 +01:00
e86c6f5e7f style: use -n flag in head and tail commands (#10391)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
2021-11-09 09:04:10 +01:00
bf88ff3f90 fix(lib): fix 1 alias to cd to directory 1 in stack (#10370) 2021-11-02 12:05:37 +01:00
1e5e834e0f fix(cli): exit omz update with correct error code (#10342) 2021-10-25 20:28:22 +02:00
f82aa81931 fix(lib): fix diff --color argument check for BSD systems (#10269) 2021-10-10 19:15:24 +02:00
07cdd7a539 fix(lib): fix status exit code check in git_prompt_status (#10275) 2021-10-09 12:02:49 +02:00
b621eee21f fix(cli): fix zsh array syntax for szh 5.0.2 2021-10-05 11:58:39 +02:00