Commit Graph
100 Commits
Author SHA1 Message Date
Marc Cornellà 5b987e59d0 chore: add ohmyzsh GitHub Sponsors to FUNDING.yml 2021-12-07 20:15:38 +01:00
Marc Cornellà 90e53bcc6a ci(spelling): turn off check-spelling action temporarily 2021-12-07 19:37:28 +01:00
Marc Cornellà 29b344a710 chore: update security docs and link to huntr.dev 2021-12-07 18:04:33 +01:00
Marc Cornellà e253661a9b Revert "ci: add check-spelling GitHub Action"
This reverts commit aef393bdce.
2021-12-01 12:25:58 +01:00
Marc Cornellà aef393bdce ci: add check-spelling GitHub Action 2021-12-01 12:20:46 +01:00
Marc Cornellà 1c1d74c5ec chore: update new issue templates 2021-11-30 10:34:45 +01:00
Marc Cornellà f0f792fa6b feat(cli): add omz version command 2021-11-30 10:13:23 +01:00
Marc Cornellà 2b96b7c54b fix(updater): stop update if $ZSH is not a git repository (#10448)
Fixes #10448
2021-11-25 23:36:38 +01:00
Marc Cornellà 15fd9c84de style(bundler): simplify bundled_commands array operations 2021-11-17 13:09:25 +01:00
Marc Cornellà 98b4801548 fix(bundler): use BUNDLE_JOBS in bi to avoid config file change
When calling `bundle install` with `--jobs=<n>`, bundle persists this
argument in `.bundle/config`. If we run `BUNDLE_JOBS=<n> bundle install`
instead, this is not persisted.

Fixes #10425
2021-11-17 13:09:25 +01:00
Marc Cornellà 88e72e8a54 fix(docker-compose)!: check for old command instead of calling docker (#10409)
BREAKING CHANGE: the plugin now checks for the `docker-compose` command instead
of trying whether `docker compose` is a valid command. This means that if the
old command is still installed it will be used instead. To use `docker compose`,
uninstall any old copies of `docker-compose`.

Fixes #10409
2021-11-17 11:05:25 +01:00
Marc Cornellà b60b3f1842 fix(osx): deprecate osx plugin without symlink (#10428)
Fixes #10428
2021-11-17 10:53:17 +01:00
Marc CornellàandJeff Warner 60b89cd264 feat(ssh-agent): add quiet option to silence plugin (#9659)
Closes #9659

Co-authored-by: Jeff Warner <jeff@develops.software>
2021-11-17 09:55:39 +01:00
Marc Cornellà fb12e41353 fix(install): fix backslash in printf when showing logo (#10422)
Fixes #10422
2021-11-16 19:24:32 +01:00
Marc Cornellà 2c06852546 style(dirhistory): remove use of eval completely 2021-11-16 17:18:07 +01:00
Marc Cornellà b3ba9978cc fix(themes): fix potential command injection in pygmalion, pygmalion-virtualenv and refined
The pygmalion and pygmalion-virtualenv themes unsafely handle git prompt information
which results in a double evaluation of this information, so a malicious git repository
could trigger a command injection if the user cloned and entered the repository.

A similar method could be used in the refined theme. All themes have been patched against this
vulnerability.
2021-11-11 22:45:40 +01:00
Marc Cornellà 72928432f1 fix(plugins): fix potential command injection in rand-quote and hitokoto
The `rand-quote` plugin uses quotationspage.com and prints part of its content to the
shell without sanitization, which could trigger command injection. There is no evidence
that this has been exploited, but this commit removes all possibility for exploit.

Similarly, the `hitokoto` plugin uses the hitokoto.cn website to print quotes to the
shell, also without sanitization. Furthermore, there is also no evidence that this has
been exploited, but with this change it is now impossible.
2021-11-11 22:45:24 +01:00
Marc Cornellà 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
Marc Cornellà 06fc5fb129 fix(dirhistory): fix unsafe eval bug in back and forward widgets
The plugin unsafely processes directory paths in pop_past and pop_future.
This commit fixes that.
2021-11-11 22:44:28 +01:00
Marc Cornellà 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
Marc Cornellà 1448d234d6 fix(dirhistory): fix Up/Down key bindings for Terminal.app
Reference: https://github.com/ohmyzsh/ohmyzsh/commit/7f49494#commitcomment-60117011
2021-11-11 17:20:07 +01:00
Marc Cornellà 1d166eaaa1 fix(cli): avoid git -C for compatibility with git < v1.8.5 (#10404) 2021-11-10 11:35:17 +01:00
Marc Cornellà e3f7b8aa57 fix(updater): avoid git -C for compatibility with git < v1.8.5 (#10404)
Fixes #10404
2021-11-10 11:21:59 +01:00
Marc Cornellà db19589fcf refactor(updater): simplify check for available updates 2021-11-09 19:56:53 +01:00
Marc Cornellà 5c2440cb0c style(frontend-search): rename completion file to _frontend 2021-11-09 12:07:23 +01:00
Marc Cornellà 9a11b34101 fix(cli): fix check for completion files in omz plugin load 2021-11-09 12:03:59 +01:00
Marc Cornellà 3dc66bd367 fix(emotty): fix glyphs output width in emotty theme 2021-11-09 10:25:23 +01:00
Marc Cornellà 90903779b9 refactor(percol): fix style, bind keys for vi-mode and remove dependencies 2021-11-08 14:01:34 +01:00
Marc Cornellà 7a2cb10625 fix(updater): stop update if connection unavailable 2021-11-05 19:47:29 +01:00
Marc CornellàandGitHub 0520c2e309 docs: add Security Policy 2021-11-03 18:21:04 +01:00
Marc Cornellà 7f494944e6 fix(dirhistory): fix ALT+Up/Down key bindings for Terminal.app 2021-11-02 15:12:43 +01:00
Marc Cornellà 49458b872d docs(dirhistory): document OPT key alternative for macOS and fix style
Fixes #10350
2021-11-02 15:12:43 +01:00
Marc Cornellà 1dba112041 fix(changelog): fix for ${(@ps:$sep:)var} construct in zsh < 5.0.8
In recent zsh versions, `${(@ps:$sep:)var}` where $sep is a variable containing
a separator string and $var is a string with multiple values separated by $sep,
the `p` flag makes zsh correctly expand $sep before splitting $var. In versions
older than 5.0.8, this doesn't happen, so we use `eval` to get the same effect.
2021-10-27 10:12:23 +02:00
Marc Cornellà 4b3a5c5411 fix(changelog): fix percent escapes in printf calls 2021-10-26 21:04:02 +02:00
Marc Cornellà 0267cb89eb perf(changelog): use regex-match instead of sed to parse commit subjects 2021-10-26 21:04:01 +02:00
Marc Cornellà 140bfa8432 fix(changelog): go back to ignoring commits from merged branches 2021-10-26 21:04:01 +02:00
Marc Cornellà 9c8131e417 perf(changelog): use a single git log command to get all commit messages 2021-10-26 21:04:00 +02:00
Marc Cornellà c2b9ae2937 fix(changelog): don't show more than 40 commits (#10345)
Fixes #10345
2021-10-26 13:23:07 +02:00
Marc Cornellà f1dd97bb2a fix(ssh-agent): fix check for running ssh-agent process with hidepid /proc (#8492)
Fixes #8492
2021-10-23 05:16:15 +02:00
Marc Cornellà 8c1495a18e fix(ruby)!: rename aliases that start with g to ge
BREAKING CHANGE: all `gem` aliases that started with `g` now start
with `ge` to fix conflicting names with the `git` plugin. Also, the
`ghlp` alias is now renamed `geh`. Have a look at the plugin README
for more information.

Fixes #10320
2021-10-20 17:11:42 +02:00
Marc Cornellà 4b1f6d638f feat(ruby): add multiple gem aliases (#9005)
Mostly empty commit to fix the changelog for merge at 6f4c7f64
2021-10-19 20:07:40 +02:00
Marc Cornellà 19f9b6f1ad feat(updater): add support for terminal hyperlinks 2021-10-13 11:58:56 +02:00
Marc Cornellà beeda72826 fix(ssh-agent): fix for bad zstyle command argument
Fixes #10282
2021-10-11 15:22:03 +02:00
Marc Cornellà a0ac789f2a feat(ssh-agent): allow lazy-loading SSH identities (#6309)
Fixes #7477
2021-10-11 12:15:47 +02:00
Marc Cornellà 5fb204fa74 fix(battery): force battery percentage as integer 2021-10-08 15:42:43 +02:00
Marc Cornellà 9aeb967581 fix(battery): fix system check so Termux uses the correct method 2021-10-08 12:34:04 +02:00
Marc Cornellà 607d2f1eda Revert "fix(changelog): don't parse commits of ignored types"
This reverts commit 63b7e5767d.
2021-10-07 13:35:07 +02:00
Marc Cornellà 69a45a9c98 chore: zshrc update settings rewording 2021-10-06 10:14:39 +02:00
Marc Cornellà 63b7e5767d fix(changelog): don't parse commits of ignored types 2021-10-05 16:56:00 +02:00
Marc Cornellà 53c9661b00 refactor(chucknorris): refresh plugin code 2021-10-05 16:45:49 +02:00
Marc CornellàandFrederick Zhang 49bc55f966 fix(docker-compose): fix for slow docker compose call on remote Docker contexts (#10264)
Fixes #10264

Co-authored-by: Frederick Zhang <frederick888@tsundere.moe>
2021-10-05 13:23:05 +02:00
Marc Cornellà f793baf370 fix(jsontools): fix broken conditional in zsh 5.0.2 (#10262)
Fixes #10262
2021-10-05 11:59:09 +02:00
Marc Cornellà b621eee21f fix(cli): fix zsh array syntax for szh 5.0.2 2021-10-05 11:58:39 +02:00
Marc Cornellà a54148a43e fix(init): rename function f due to clash with f alias (#10260)
Fixes #10260
2021-10-04 17:51:22 +02:00
Marc CornellàandSebastian Marsching 568584a9f5 fix(per-directory-history): fix use of global history on shell start (#9008)
Updated from upstream: https://github.com/jimhester/per-directory-history/blob/d2e291d/per-directory-history.zsh

Fixes #9007
Closese #9008

Co-authored-by: Sebastian Marsching <sebastian-git-2016@marsching.com>
2021-10-04 17:14:34 +02:00
Marc Cornellà 5dbb30342e feat(yarn): update completion from zsh-completions (73505e4)
Fixes #10195
2021-10-04 12:45:59 +02:00
Marc CornellàandBakhir A.D a3289c11f6 feat(docker-compose): update completion (4fa72a0, 2021-01-19)
Source: https://github.com/docker/compose/blob/4fa72a0/contrib/completion/zsh/_docker-compose

Closes #9494

Co-authored-by: "Bakhir A.D" <Bakhir.A.D.st@gmail.com>
2021-10-04 12:02:08 +02:00
Marc CornellàandGitHub c396efbee3 fix(docker-compose): support Compose V2 docker compose command (#10248) 2021-10-04 11:26:39 +02:00
Marc Cornellà 30d441713c feat(updater): check if there are updates before prompting (#8387)
Fixes #8387
2021-10-04 10:47:10 +02:00
Marc CornellàandNoPreserveRoot 0120749a54 feat(updater): add mode to only remind you to update when it's time (#10187)
Fixes #10187

Co-authored-by: NoPreserveRoot <NoPreserveRoot@pm.me>
2021-10-04 10:47:10 +02:00
Marc Cornellà 3c9743313c refactor(updater): change auto-update settings to use zstyle 2021-10-04 10:47:10 +02:00
Marc CornellàandGitHub 7152a94280 feat(init): show error and process tree if OMZ is loaded from non-zsh shells (#10234) 2021-10-04 10:34:13 +02:00
Marc Cornellà 3c209b00d6 feat(cli): show current theme in omz theme list
Fixes #9540
2021-09-30 15:45:12 +02:00
Marc Cornellàandvaldaarhun 72b8f0b73b fix(half-life): fix prompt color bleeding and code clean up (#10085)
Fixes #10085
Closes #10223

Co-authored-by: valdaarhun <icegambit91@gmail.com>
2021-09-30 15:23:11 +02:00
Marc Cornellà 5f99eb5afd fix(cli): get branch and tags from OMZ folder in omz changelog completion 2021-09-30 10:18:53 +02:00
54e3e8ef54 fix(lib): fix automatic title abort inside Emacs (#10124)
Closes #10124

Co-authored-by: Paul Schorfheide <pschorf2@gmail.com>
Co-authored-by: Alastair Rankine <alastair@girtby.net>
2021-09-29 17:19:25 +02:00
Marc Cornellà de76f7cb49 fix(emacs): correctly pass arguments to emacsclient when $2 is stdin 2021-09-29 16:50:12 +02:00
Marc Cornellà 2acae3797b fix(emacs): assess if there are open frames of the expected type
This change looks at the frame type of the open frames ('framep) and
looks if they're of the type requested based on the arguments passed
to emacsclient (-nw/-t/--tty require tty frames, otherwise we need
graphical frames).

NOTE: this code considers anything different than t as graphical
terminals, including MS-DOS types (pc). I don't have such a setup
to test if this is correct.
2021-09-29 16:50:12 +02:00
Marc Cornellà 27dcca5967 refactor(emacs): simplify emacsclient wrapper code 2021-09-29 16:50:12 +02:00
Marc Cornellà b37114b4d5 refactor(emacs): remove dependency on require_tool.sh and clean up code style 2021-09-29 16:50:12 +02:00
Marc Cornellà 33c86fe80b fix(init): detect and abort on non-zsh shell execution of Oh My Zsh 2021-09-28 11:29:42 +02:00
Marc Cornellà 93ad3a8821 docs(vi-mode): document $KEYTIMEOUT issue (#9588)
Closes #9588
2021-09-27 11:46:42 +02:00
Marc CornellàandGitHub 2ea1fa6cbf fix(init): fix division by 0 error (#10213)
Fixes #10213
2021-09-24 16:50:00 +02:00
Marc Cornellà 5b3d2b2f0c Revert "feat(archlinux): add cleanup aliases to yaourt and yay (#10184)"
This reverts commit eba3be243f.
2021-09-22 11:58:23 +02:00
Marc Cornellà 3e4b520190 refactor(django)!: deprecate plugin in favor of Zsh's django completion
BREAKING CHANGE: Zsh already provides completion for the `django-admin` and `manage.py`
commands, which is substantially better than the one provided by this plugin. We're
therefore deprecating this plugin and we will remove it in the near future.
2021-09-22 10:41:06 +02:00
Marc CornellàandNikolas Garofil 098bcda691 feat(update): allow updating from branch set up on install
Closes #8788

Co-authored-by: Nikolas Garofil <nikolas@garofil.be>
2021-09-22 09:27:43 +02:00
Marc Cornellà b590939637 refactor(jsontools): move to functions, align is_json tool to return exit code
Also:

- Fix Python code in accordance with Python 3
- Use CGI module in Ruby to encode/decode strings
2021-09-22 09:19:11 +02:00
Marc Cornellà f9d9d33ba4 refactor(jsontools): restructure and simplify logic 2021-09-22 09:19:11 +02:00
Marc Cornellàandyyny b79726b1c3 fix(update): silence typeset calls in upgrade.sh script (#10048)
Co-authored-by: yyny <6576327+yyny@users.noreply.github.com>
2021-09-16 17:01:58 +02:00
Marc Cornellà 93b557e291 style(core): make alternative cache directory equivalent to Arch Linux package
The oh-my-zsh-git package sets the cache directory to `$HOME/.cache/oh-my-zsh`, so
Oh My Zsh will be compatible with it.
2021-09-15 20:45:26 +02:00
Marc Cornellà 8784e88552 fix(core): use $HOME/.cache if default cache dir is non-writable (#10193)
Fixes #10193
2021-09-15 20:38:54 +02:00
Marc Cornellà eb2eacaf0c refactor(plugins): remove old generated completion files
This removes .gitignore plugin files and adds a force-rm of the old completion file,
which ignores any errors if the file doesn't exist.
2021-09-15 18:47:51 +02:00
Marc Cornellà d2269180b0 fix(core): move plugin-generated completion files to $ZSH_CACHE_DIR/completions
Fixes #10183
2021-09-15 18:41:44 +02:00
Marc Cornellà 4e6e49652b fix(plugins): fix _comps error in completion generation plugins (#10190)
Fixes #10190
2021-09-15 18:18:25 +02:00
Marc Cornellà c21ff38b8f fix(docker): remove unwanted asterisk in completed docker commands
Also update upstream completion to version fe2008d04e80fafd.

NOTE: this fix means the version bundled within Oh My Zsh has diverged
from the upstream version.
2021-09-15 17:47:57 +02:00
Marc Cornellà 735808f48d Revert "feat(ssh-agent): only start ssh-agent once (#5359)"
This reverts commit 7692881d2a.
2021-09-10 18:01:43 +02:00
Marc Cornellà 81edb03c52 fix(copybuffer): define CTRL+O binding for all keymaps (#6442)
Fixes #6442
2021-09-10 17:07:22 +02:00
Marc Cornellà 37a60eebc1 chore(changelog): fix first-letter uppercase in breaking change messages 2021-09-07 17:13:46 +02:00
Marc Cornellà f341c8c206 feat(changelog): print BREAKING CHANGE messages in a prettier way 2021-09-07 17:08:46 +02:00
Marc Cornellà 5a4159cd29 fix(git)!: rename git mergetool aliases to gmtl* (#9154)
BREAKING CHANGE: the `gmt` alias conflicts with the Generic Mapping Tools command.
For that, the `gmt` alias has been renamed to `gmtl`, and `gmtvim` has been renamed to
`gmtlvim` for consistency.

Fixes #9154
2021-09-06 13:31:13 +02:00
Marc Cornellà 7336ebcd8f feat(changelog): change style of BREAKING CHANGES header 2021-09-06 13:31:12 +02:00
Marc CornellàandPandu POLUAN 1b03896a0e feat(pyenv): don't load pyenv-virtualenv with ZSH_PYENV_VIRTUALENV=false
Closes #9443

Co-authored-by: Pandu POLUAN <pepoluan@gmail.com>
2021-09-03 12:57:13 +02:00
Marc Cornellà 823be4ef5f feat(pyenv): silence bad config warning with ZSH_PYENV_QUIET=true 2021-09-03 12:54:45 +02:00
Marc CornellàandChloé “Matcha” c08fb77c2f fix(pyenv): properly load pyenv shims and warn of broken configuration
Closes #10133

Co-authored-by: Chloé “Matcha” <chloe.desoutter@gmail.com>
2021-09-03 12:47:31 +02:00
Marc Cornellà 21b385e7bd fix(frontend-search): fix codepen.io search (#10157)
Fixes #10157
2021-09-02 12:29:04 +02:00
Marc Cornellà 190325049e fix(sudo): allow different $EDITOR settings and fix zsh-syntax-highlighting redraw 2021-08-27 18:08:51 +02:00
Marc Cornellà a1847dc860 style(sudo): apply main style guide indentation 2021-08-27 18:08:51 +02:00
Marc Cornellà 4a69ee575c feat(ssh-agent): allow specifying absolute path to identities
Fixes #9650
2021-08-27 18:08:04 +02:00
Marc Cornellà 3f0672ff94 refactor(ssh-agent): clean up and reorganize code 2021-08-26 14:56:22 +02:00
7692881d2a feat(ssh-agent): only start ssh-agent once (#5359)
Close #5359
Close #7379

Co-authored-by: Will Andrews <will@firepipe.net>
Co-authored-by: zhangyc <zhangyc@fenbi.com>
2021-08-26 14:54:17 +02:00