Commit Graph
100 Commits
Author SHA1 Message Date
Marc Cornellà ebfd7cb219 ci: cancel current runs on new trigger 2022-02-21 19:27:21 +01:00
Marc Cornellà 07b829c894 fix(vcs_info): quote % in relevant fields on all current Zsh releases 2022-02-21 18:34:28 +01:00
Marc Cornellà 3427da4057 fix(dotenv): actually exit when .env syntax is broken 2022-02-18 19:41:21 +01:00
Marc Cornellà 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] https://github.com/zsh-users/zsh/commit/c3ea1e5d52eff8b7b172fa8c1ccc3462b43b2790
2022-02-13 19:07:12 +01:00
Marc Cornellà 69e2937891 fix(updater): fix input check on non-interactive runs
Reference: https://www.zsh.org/mla/users/2022/msg00067.html
2022-02-11 19:51:52 +01:00
Marc CornellàandPhilippe Troin dbd92a62ce fix(updater): do not swallow 1 character in check for user input
Co-authored-by: Philippe Troin <phil@fifi.org>
2022-02-11 10:04:51 +01:00
Marc Cornellà 7b708519b9 fix(emotty): show error on missing plugin dependencies (#9811) 2022-02-10 18:25:09 +01:00
Marc Cornellà f0f42828fa feat(updater): do not update when user already typed some characters (#9699)
Fixes #9699
2022-02-07 18:58:47 +01:00
Marc Cornellà 1e26ad1187 fix(bureau): fix top line space computation
Takes into account $ZLE_RPROMPT_INDENT and doesn't add the extra
space at the end so it doesn't bleed into the next line.
2022-02-07 17:57:59 +01:00
Marc Cornellà 74a3db75e4 perf(bureau): remove multiple grep calls in git status check 2022-02-07 17:55:16 +01:00
Marc CornellàandGitHub 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
Marc Cornellà 0be7c897f8 refactor(zsh_reload)!: remove deprecated plugin
BREAKING CHANGE: the `zsh_reload` was deprecated long ago and showed
a deprecation message. The `src` function was replaced by the CLI
command `omz reload`, so use that instead from now on.
2022-02-01 13:11:49 +01:00
Marc Cornellà 3fdad09d09 chore: update copyright year 2022-02-01 13:11:24 +01:00
Marc Cornellà 73001e9382 refactor(django): remove deprecated django plugin
BREAKING CHANGE: the `django` plugin was deprecated in 2021-09-22. With
this change it has now been removed altogether. Zsh already provides
built-in completion for Django commands.
2022-02-01 12:56:22 +01:00
Marc Cornellà 46f5d38b1d refactor(installer): use POSIX-standard's id -u -n to define $USER 2022-01-28 20:53:30 +01:00
Marc Cornellà 3c5367d272 fix(changelog): don't show changelog with only ignored type commits 2022-01-28 13:36:54 +01:00
Marc CornellàandGitHub 59c40eee8e fix(installer): avoid git clone -c to support git v1.7.1 (#10621) 2022-01-27 18:01:27 +01:00
Marc Cornellà 3741d1aa02 fix(npx)!: detect new npx versions and fail gracefully (#10452)
BREAKING CHANGE: the `npx` plugin used a feature of `npx` to check for
npm packages and run them if a command was not found. This feature was
removed in v7.0.0 and was deemed insecure. The `npx` plugin is now
officially deprecated and will be removed soon.

Fixes #10452
2022-01-26 17:13:10 +01:00
Marc Cornellà fc40b53e64 style(updater): silence git pull output and show errors in English 2022-01-24 18:32:36 +01:00
Marc Cornellà f64cabc780 fix(cli): make sure to run zsh command if an alias exists (#9737)
Fixes #9737
2022-01-24 17:38:32 +01:00
Marc Cornellà 788802af68 fix(installer): correct check for sudo in shell change logic 2022-01-24 15:56:10 +01:00
Marc Cornellà 861805b64d fix(installer): define $USER if not defined
Fixes missing $USER value in ArchLinux sh (bash)
2022-01-24 15:42:10 +01:00
Marc Cornellà c7221c5f25 style(installer): prefix formatting variables with FMT_ 2022-01-24 15:41:40 +01:00
Marc Cornellà 84931adcd4 fix: do not call chpwd hooks in subshells 2022-01-22 22:07:09 +01:00
Marc Cornellà a7efd96a60 fix(dotenv): match for exact directory path in allowed/disallowed files 2022-01-19 19:27:53 +01:00
Marc Cornellà 0b08b70b0c chore(poetry): fix copy-paste error 2022-01-19 17:15:16 +01:00
Marc Cornellà 22c11da108 fix(fig): fix typo in completion command 2022-01-18 21:26:45 +01:00
Marc Cornellà 957dca698c style(sudo): clean code style and reorganise logic 2022-01-18 19:03:27 +01:00
Marc Cornellà 4f2d8b4d4c fix(kubectl): source completion instead of autoloading it 2022-01-17 16:18:41 +01:00
Marc Cornellà dfaad779a9 fix(helm): fix completion loading mechanism 2022-01-17 16:18:41 +01:00
Marc Cornellà 567bd59395 refactor(cli): use self-referencing in subcommand functions 2022-01-17 13:18:10 +01:00
Marc Cornellà 035c856c2c fix: get branch name first in omz version and changelog 2022-01-13 17:46:09 +01:00
Marc Cornellà 805427e06b fix(updater): give priority to zstyle settings if set (#10587)
Fixes #10587
2022-01-13 17:28:15 +01:00
Marc CornellàandGitHub aaebe4c890 fix(mvn): fix listing modules in completion (#10586) 2022-01-13 14:29:12 +01:00
Marc Cornellà bddecfed58 style(updater): remove statl from git pull 2022-01-13 12:34:10 +01:00
Marc Cornellà b481955761 ci(project): fix .list files not found error 2022-01-11 23:40:33 +01:00
Marc Cornellà c63ba17525 refactor(installer): simplify user_can_sudo check 2022-01-11 19:53:50 +01:00
Marc Cornellà a0a949de56 fix(installer): fix sudo check for users with password or without privileges
The previous check only worked if the user could run `sudo` without typing the
password, which is almost none (I checked in Google Cloud Shell so I failed to
notice this).

This new check works whether the user has no sudo privileges, or if it has,
whether they have to type in the password or not.

It should really be easier to check if the user doesn't have privilege without
having to make them type the password.
2022-01-11 19:13:23 +01:00
Marc Cornellà b7a59e6d5c fix(installer): run chsh with sudo if user has privileges
This fixes the error in Google Cloud Shell, where a password prompt
appears when running `chsh` but the user (hello) does not have a
password.

If ran with `sudo`, the `chsh` command happens without a password
prompt.
2022-01-11 16:45:36 +01:00
Marc Cornellà 9c84c344d7 fix: disable log.showSignature in git log calls 2022-01-10 19:39:05 +01:00
Marc Cornellà 0ca2e48ee8 ci(project): fix gh pr view call to use ohmyzsh repository 2022-01-10 17:22:31 +01:00
Marc Cornellà fbdc078fa6 style: use 24bit colors in Oh My Zsh logo if supported 2022-01-09 23:11:35 +01:00
Marc Cornellà a92ee838f3 fix(cli): follow symlinks in plugin or theme completions 2022-01-09 20:27:22 +01:00
Marc Cornellà 67cc59b425 style: some code style fixes 2022-01-05 09:23:55 +01:00
Marc Cornellà 7ae4f76f6d refactor(kubectl): optimize completion generation 2022-01-05 09:23:55 +01:00
Marc Cornellà d3bb52d7d8 style: declare globals properly
By default, `typeset` defines variables locally unless in the main scope.
This is specially bad when using `omz plugin load`, which happens inside
a function, so the declared variables don't continue being defined when
the function finishes and the main scope reappears.
2022-01-05 09:23:54 +01:00
Marc Cornellà 31d63ea884 fix(kubectx): allow prompt sequences in kubectx_mapping (#10562)
Fixes #10562
2022-01-04 11:53:41 +01:00
Marc Cornellà a7c46d0ebd fix(ubuntu): fix defining function based on alias error (#10560)
Fixes #10560
2022-01-03 17:09:59 +01:00
Marc Cornellà 8e973d42bd fix(bureau): fix status variable name causing error (#10561)
Also cleaned up the code a bit

Fixes #10561
2022-01-03 17:05:48 +01:00
Marc Cornellà d87ab251c7 fix(kubectx): quote % in kubectx_prompt_info 2022-01-03 14:03:36 +01:00
Marc Cornellà a280726d93 fix(fossil): refactor fossil_prompt_info and quote % in branch 2022-01-03 14:00:54 +01:00
Marc Cornellà 1c53ef0583 fix(aws): quote % in aws_prompt_info 2022-01-03 13:58:14 +01:00
Marc Cornellà a9d57eb2ee fix: quote % in box_name prompt functions 2022-01-03 13:50:52 +01:00
Marc Cornellà 43be5ea321 fix(bureau): quote % in git prompt function and remove global variables 2022-01-03 13:50:52 +01:00
Marc Cornellà 4e777ef9d6 fix(trapd00r): fix potential command injection in zsh_path 2022-01-03 13:50:52 +01:00
Marc Cornellà 9836aebe67 fix(agnoster): quote % in prompt functions 2022-01-03 13:50:52 +01:00
Marc Cornellà 3e9fe6e772 fix(virtualenv): quote % in virtualenv_prompt_info 2022-01-03 13:50:51 +01:00
Marc Cornellà e7390a8603 fix(jenv): quote % in jenv_prompt_info 2022-01-03 13:50:51 +01:00
Marc Cornellà 42afa6e2ea fix(pyenv): quote % in pyenv_prompt_info 2022-01-03 13:50:51 +01:00
Marc Cornellà 5b076eab9b fix(lib): quote % in nvm_prompt_info 2022-01-03 13:50:50 +01:00
Marc Cornellà 304af0a577 fix(lib): quote % in git_remote_status 2022-01-03 13:50:50 +01:00
Marc Cornellà 93ec48fb0a fix(svn): refactor and quote % characters in svn_prompt_info 2022-01-03 13:50:50 +01:00
Marc Cornellà c76dc91e02 fix(svn): return true repo name in svn_get_repo_name 2022-01-03 13:50:50 +01:00
Marc Cornellà 75ed59b7c0 fix(svn-fast-info): quote % characters in svn branch name 2022-01-03 13:50:49 +01:00
Marc Cornellà ef3a85cd42 fix(svn-fast-info): URL-decode svn branch name 2022-01-03 13:50:49 +01:00
Marc Cornellà 596cef84c7 style(svn-fast-info): fix code style and svn info locale 2022-01-03 13:50:49 +01:00
Marc Cornellà 63345c4e5d ci: disable GitHub Actions on forks 2022-01-03 13:10:53 +01:00
Marc Cornellà 512839ef78 chore: simplify project GitHub Action 2022-01-03 13:08:29 +01:00
Marc Cornellà 9dd1dc49d9 chore: simplify GITHUB_TOKEN env in project GitHub Action 2022-01-03 12:32:37 +01:00
Marc Cornellà 121ee818a5 chore: I'm dumb af 2022-01-02 03:37:16 +01:00
Marc Cornellà dd7f0f2211 chore: let's try again 2022-01-02 03:32:48 +01:00
Marc Cornellà 17c52ccfc9 chore: look ma no auth! 2022-01-02 03:27:25 +01:00
Marc Cornellà 861e7e24a3 chore: please work 2022-01-02 03:19:46 +01:00
Marc Cornellà 1d35b30461 chore: fix auth in Project tracking Action 2022-01-02 03:17:40 +01:00
Marc Cornellà 95a66532d1 chore: use GITHUB_TOKEN auth for Project Beta GitHub Action 2022-01-02 03:09:52 +01:00
Marc Cornellà d1c07f9569 chore: add Projects Beta GitHub Action 2022-01-02 02:30:00 +01:00
Marc Cornellà 78c91ccbf9 style(python): fix code style and some hidden bugs 2021-12-31 20:45:12 +01:00
Marc Cornellà 376beafd17 docs(zsh-navigation-tools): remove installation steps from README (#10549)
Fixes #10549
2021-12-31 20:01:03 +01:00
Marc Cornellà a01cf85627 fix(rust): use default toolchain when completing cargo 2021-12-29 17:18:21 +01:00
Marc Cornellà 8b53d04942 docs(sudo): document key binding change 2021-12-29 16:26:35 +01:00
Marc Cornellà 4ef188cebf perf(yarn): skip yarn call if default global bin directory exists (#10290)
Fixes #10290
2021-12-29 15:19:59 +01:00
Marc Cornellà c155531402 chore(bazel): update completion to f146202c 2021-12-29 15:07:52 +01:00
Marc Cornellà bc7bc74469 fix(git-prompt): fix clean prompt when stash is not empty (#9978)
Fixes #9978
2021-12-29 11:54:13 +01:00
Marc Cornellà 37b278cd03 chore(debian): document previous alias 2021-12-29 11:08:02 +01:00
Marc Cornellà fe04acd97c chore: add maintainer for shell-proxy plugin 2021-12-28 22:16:43 +01:00
Marc Cornellà 8861d5c3a7 refactor(rvm): clean up rb* utilities definition and add more versions 2021-12-28 22:13:59 +01:00
7568bbd9f5 feat(ng): get ng completion from parsed help output (#10294)
Co-authored-by: Yannick Galatol <yannick.galatol@gmail.com>
2021-12-28 20:12:33 +01:00
Marc Cornellà 6515850a14 feat(git-flow): add aliases for current hotfix branch 2021-12-28 19:42:12 +01:00
Marc Cornellà 7a38fa35c4 refactor(git-flow): extract git-flow completion logic 2021-12-28 19:42:12 +01:00
Marc Cornellà 01230fa6e2 style(drush): fix code and README style 2021-12-28 17:49:41 +01:00
Marc Cornellà c4be9294f2 style(acs): fix style and gitignore __pycache__ folder 2021-12-28 17:46:35 +01:00
Marc Cornellà 364e62155d refactor(ant): extract completion function 2021-12-28 17:17:05 +01:00
Marc Cornellà 49bae43f62 refactor(plugins): generate completion functions in the background 2021-12-28 14:34:23 +01:00
Marc Cornellà c06197ad95 chore: fix comment bulk replace 2021-12-28 14:34:09 +01:00
Marc Cornellà 5fbd4c83f6 refactor(cargo): generate completion file in the background 2021-12-28 11:42:58 +01:00
Marc Cornellà 634296be3c fix(random): fix negated logic in ZSH_THEME_RANDOM_QUIET 2021-12-28 11:04:13 +01:00
Marc Cornellà 8cb53ba692 fix(gnu-utils): reassign GNU utils on preexec (#10535)
The previous version rebound the `hash` and `rehash` builtins to
reassing GNU utils when they were called. This didn't take into
account that when `$PATH` changes, the commands are rehashed as
well.

This version adds a preexec hook to reassign the GNU utilities
before running any command, if and only if they aren't already
reassigned. This is checked by looking at the `whoami` command.

Fixes #10535
2021-12-27 17:34:06 +01:00
Marc Cornellà 0f1de08713 fix(gnu-utils): always reapply GNU coreutils on rehash 2021-12-26 23:29:58 +01:00
Marc Cornellà f85087005a fix(installer): fix POSIX shell syntax of previous commit 2021-12-26 23:27:49 +01:00
Marc Cornellà ba069e7731 fix(installer): don't hard-code user $HOME directory on install 2021-12-26 22:40:38 +01:00