summaryrefslogtreecommitdiff
path: root/lib/functions.zsh
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2019-09-19 16:20:02 +0200
committerMarc Cornellà <marc.cornella@live.com>2019-09-19 16:20:02 +0200
commit095d56b5ea44988c83d0be501e70f37df3d5066b (patch)
tree7cd1d829905e77d1a9af9624865a4b212bc49710 /lib/functions.zsh
parent32338fd40cae45c775dadc34ae05476811a3834b (diff)
downloadzsh-095d56b5ea44988c83d0be501e70f37df3d5066b.tar.gz
zsh-095d56b5ea44988c83d0be501e70f37df3d5066b.tar.bz2
zsh-095d56b5ea44988c83d0be501e70f37df3d5066b.zip
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.
Diffstat (limited to 'lib/functions.zsh')
-rw-r--r--lib/functions.zsh9
1 files changed, 2 insertions, 7 deletions
diff --git a/lib/functions.zsh b/lib/functions.zsh
index 9f8736bd7..61dfa4780 100644
--- a/lib/functions.zsh
+++ b/lib/functions.zsh
@@ -21,7 +21,7 @@ function open_command() {
case "$OSTYPE" in
darwin*) open_cmd='open' ;;
cygwin*) open_cmd='cygstart' ;;
- linux*) ! [[ $(uname -a) =~ "Microsoft" ]] && open_cmd='xdg-open' || {
+ linux*) [[ "$(uname -r)" != *icrosoft* ]] && open_cmd='nohup xdg-open' || {
open_cmd='cmd.exe /c start ""'
[[ -e "$1" ]] && { 1="$(wslpath -w "${1:a}")" || return 1 }
} ;;
@@ -31,12 +31,7 @@ function open_command() {
;;
esac
- # don't use nohup on OSX
- if [[ "$OSTYPE" == darwin* ]]; then
- ${=open_cmd} "$@" &>/dev/null
- else
- nohup ${=open_cmd} "$@" &>/dev/null
- fi
+ ${=open_cmd} "$@" &>/dev/null
}
#