Commit graph

62 commits

Author SHA1 Message Date
Joan Marcè i Igual
bf57b4ff3d
feat(functions/take): make .tgz behave as .tar.gz (#11446) 2023-01-20 19:45:14 +01:00
Marc Cornellà
39b600e9e5
fix(lib): encode all arguments besides the first in omz_urlencode
Fixes 140c977a3d (commitcomment-73688165)
2022-05-15 13:20:33 +02: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
Kevin Burke
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
Marc Cornellà
7eeb1e193d
refactor(lib): refactor take functions 2021-08-10 21:09:21 +02:00
Marc Cornellà
c249288151
feat(lib): add mkcd as equivalent to takedir (#9749)
Fixes #9749
2021-08-10 21:06:46 +02:00
Mitchel Humpherys
f68d65d32a
feat(take): add support to `take' for taking remote urls (#2029)
Download, extract, and cd into the resulting directory.

Co-authored-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2021-06-11 21:09:08 -07: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
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à
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à
caff704f41 lib: clean up zsh_stats function 2020-09-26 12:17:12 +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
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à
0caae9082a lib: speed up slow parts of the lib files; other small fixes 2020-04-05 21:37:45 +02:00
Marek Dědič
bbe54e4e60
lib: use command to run rm in upgrade function (#8696) 2020-03-03 13:46:06 +01:00
Marc Cornellà
40b013f5f1 lib: delete upgrade lock in upgrade_oh_my_zsh
Provides a different solution to #8332 and #8333
2020-02-24 20:27:21 +01:00
Marc Cornellà
095d56b5ea Fix WSL check for WSL 2 and simplify nohup in open_command
WSL 2 changes the output of `uname -r`. For instance,

  WSL 1: 4.4.0-18980-Microsoft
  WSL 2: 4.19.67-microsoft-standard

Since WSL 2 lowercases the M, we can match for the rest of the string
which remains lowercase throughout both versions. Another option would
be to match for both upper- and lower-case Ms, like that:

  $(uname -r) = *[Mm]icrosoft*

Fixed use of nohup in open_command where it was only necessary for
xdg-open (and actually harmful for cmd.exe in WSL 2). The current logic
is simpler and more future-proof.
2019-09-19 16:20:02 +02:00
Marc Cornellà
55575b88f9 lib: optimize default and env_default 2019-02-25 23:20:47 +01:00
Marc Cornellà
2c1ff85bb2
core: fix alias_value function
Fixes #5835
2018-08-09 19:49:02 +02:00
sam-lunt
7cba6bb038 Enable passing multiple directories to take (#6900)
* enable passing multiple directories to take

* Update take function

Do not call cd if mkdir fails
2018-07-02 17:05:24 +02:00
Marc Cornellà
f898ada8e3 open_command: fix and improve command for WSL
- Add double quotes to command so that the next argument isn't
  interpreted as the title for the start command.

- If the first argument is a valid path, convert it to Windows path
  notation. If `wslpath` fails—because it's a path from inside WSL,
  which cannot be converted to Windows path notation— fail with an
  error code.

  This last circumstance will show an error like so:

    wslpath: path: Result not representable
2018-06-30 21:13:08 +02:00
Marc Cornellà
12086593a4 open_command: simplify code 2018-06-30 21:13:08 +02:00
Marc Cornellà
93d9431890
Check for Microsoft's WSL in open_command (#6751)
This will work only on files and directories in a DrvFs mount, i.e.
that can be translated to a Windows drive path.
For example: /mnt/c/Users/user.

Files and folders inside the LXSS directory can't be handled in
Windows, they must be ONLY used by the WSL subsystem. That's why
you won't be able to open your $HOME directory, for instance.

See https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/
2018-04-24 23:47:26 +02:00
Patrick José Pereira
2a6c40f66f 'lib/functions.zsh: Solve typos'
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2016-12-30 10:34:16 -02:00
Fredrik Fornwall
9772f8e10d Replace /bin/sh with sh for portability (#5291)
This makes things work even on system lacking /bin/sh, such as on
non-rooted Android systems.
2016-08-09 02:39:11 +02:00
Marc Cornellà
584e0a6ef9 Use shwordsplit in open_command() 2015-11-30 21:27:58 +01:00
Marc Cornellà
afdfe2391e Add empty string parameter to start command
Otherwise `start` will confuse the first parameter as the title of
a new command prompt if the parameter contains whitespace. That is
because the command to be run will be:

    start "abc def"

which opens a new command prompt window with the title "abc def".
With the added empty string we force the start command to interpret
the passed parameter as the file / command:

    start "" "abc def"

which will be interpreted like `""` is the title and the rest is
the file or command to start.

-------

**NOTE:** this wouldn't be necessary if the start script in msys
was defined differently; that is, if it had the empty string
already incorporated in the script (/usr/bin/start), like so:

```diff
-cmd //c start "${@//&/^&}"
+cmd //c start "" "${@//&/^&}"
```

Notice however that this would make it impossible to use start
setting a different title, so it's probably best to leave it as is.

More info: http://sourceforge.net/p/msys2/tickets/14/

-------

The change `${(z)open_cmd}` is necessary to force zsh to split the
variable by the spaces and interpret it as separate words.

More info: http://zsh.sourceforge.net/FAQ/zshfaq03.html#l17
2015-11-30 21:21:28 +01:00
Mark Ingalls
0a79f1e836 make this work in the git-for-windows SDK
Added an option for the msys value of $OSTYPE
2015-11-30 21:01:15 +01:00
Marc Cornellà
fea74b4b34 Fix open_command nohup call
There a syntax error if $cmd_var contains more than one word,
so we drop the current way to prepend nohup and use a simpler
if-else form.
2015-11-29 19:34:10 +01:00
Andrew Janke
f0981d564a termsupport: protect subshell with quotes 2015-11-27 15:58:06 +01:00
Marc Cornellà
ebfba0e539 Drop the use of nohup on OSX for tmux compatibility
Apparently `nohup` is not needed in OSX, and using it has the side
that it may break under tmux with the error

  nohup: can't detach from console: No such file or directory

For now, this commit only drops the use of `nohup` in OSX. But it
*may* not be necessary under other similar platforms.
2015-11-27 15:40:31 +01:00
Andrew Janke
00eb465830 Merge branch 'master' into fold-terminalapp-plugin-into-termsupport 2015-08-17 20:59:39 -04:00
Andrew Janke
96c34cebae Add a deprecation comment. 2015-08-17 20:51:41 -04:00
Andrew Janke
14b4ba83c3 Move urlencode/urldecode functions to core lib 2015-08-09 16:28:47 -04:00
Marc Cornellà
2d0bfcf818 Implement cross-platform open function open_command()
For now this supports:
- Mac OS X
- Linux (presumably works on all versions)
- Cygwin (Windows)
2015-08-05 00:27:51 +02:00
Fredrik Fornwall
dac2a6e27a Replace /usr/bin/env with env
Some environments (such as Android) does not have /usr/bin.
2014-08-20 23:52:05 +02:00
Huang, Tao
217d8f0540 fc -l 1 instead of history in zsh_stats #2501
$HIST_STAMP breaks zsh_stats. see #2501
2014-02-06 17:29:33 +08:00
Robby Russell
1dd9c43e12 Merge pull request #1134 from koraa/pull_req_helpers
Helpers for default variables and alias value access
2013-12-02 23:47:21 -08:00
CHH
5b2ca3875a Improved statistics functions, effect:
1  1124  24.6006%    c
 2  985   21.5583%    git
 3  343   7.50711%    rails
 4  328   7.17881%    cd
 5  314   6.8724%     rspec
 6  257   5.62486%    la
 7  197   4.31167%    rake
 8  154   3.37054%    s
 9  109   2.38564%    ..
10  95    2.07923%    rvm
11  68    1.48829%    guard
12  36    0.787919%   bundle
13  29    0.634712%   ssh
14  28    0.612826%   pry
15  27    0.590939%   open
16  26    0.569052%   middleman
17  26    0.569052%   gem
18  24    0.525279%   rm
19  24    0.525279%   heroku
20  23    0.503392%   nvm
2012-11-14 19:09:13 +08:00
mapc
8f71efc09b Add helper to easily define default values for variables and env variables. 2012-05-29 01:51:50 +02:00
mapc
dbef8b1a92 Add helper to get the value of an alias only 2012-05-29 01:49:52 +02:00
Indrajit Raychaudhuri
0b583638ae Fix upgrade and uninstall functions to pick up $ZSH value 2011-12-25 19:53:55 +05:30
Sorin Ionescu
1db6575f14 Added extract plugin. 2011-06-01 20:33:16 -04:00
Robby Russell
a81b0171cc Merge pull request #196 from asymmetric/master
Add missing flag to unrar
2011-05-26 01:13:18 -07:00
Renaud (Nel) Morvan
faac3ba8fc Refactor window and tab title in tty
Term window title and tab title are now skinable
Tab title can be different from window title (when supported by term)
Default theme is optimized of usuability (no %u@%m: $~ in a 10 char tab)
Cleanup code duplication and add comment for supported terms
On osX it works great on iterm, and is decent once you tweak Terminal pref
Tested under GNU screen, iTerm and Apple Terminal, need to be tested on linux
TODO implement Konsole support (via dbus)
2011-01-30 09:19:47 +01:00
Lorenzo Manacorda
fcc7801435 add missing unrar flag 2011-01-24 15:49:49 +01:00