spaceship-prompt 4.22.0 → 4.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cli.zsh CHANGED
@@ -50,6 +50,11 @@ _spaceship::cli::edit() {
50
50
  echo "No spaceship config found."
51
51
  fi
52
52
 
53
+ if [[ -z $EDITOR ]]; then
54
+ echo "EDITOR is not set."
55
+ return 1
56
+ fi
57
+
53
58
  "$EDITOR" "$SPACESHIP_CONFIG" && source "$SPACESHIP_CONFIG"
54
59
  }
55
60
 
package/lib/extract.zsh CHANGED
@@ -6,19 +6,19 @@
6
6
  # ------------------------------------------------------------------------------
7
7
 
8
8
  spaceship::extract::python() {
9
- local imports=$1 load=$2; shift 2
9
+ local imports=$1 load=$2 file=$3; shift 3
10
10
  local keys=("$@")
11
- python -c "import $imports, functools; data=$load; print(next(filter(None, map(lambda key: functools.reduce(lambda obj, key: obj[key] if key in obj else {}, key.split('.'), data), ['${(j|','|)keys}'])), None))" 2>/dev/null
11
+ python -c "import sys, $imports, functools; data=$load; print(next(filter(None, map(lambda key: functools.reduce(lambda obj, key: obj[key] if key in obj else {}, key.split('.'), data), ['${(j|','|)keys}'])), None))" "$file" 2>/dev/null
12
12
  }
13
13
 
14
14
  spaceship::extract::python::yaml() {
15
15
  local file=$1; shift
16
- spaceship::extract::python yaml "yaml.safe_load(open('$file'))" "$@"
16
+ spaceship::extract::python yaml "yaml.safe_load(open(sys.argv[1]))" "$file" "$@"
17
17
  }
18
18
 
19
19
  spaceship::extract::python::json() {
20
20
  local file=$1; shift
21
- spaceship::extract::python json "json.load(open('$file'))" "$@"
21
+ spaceship::extract::python json "json.load(open(sys.argv[1]))" "$file" "$@"
22
22
  }
23
23
 
24
24
  spaceship::extract::python::toml() {
@@ -32,7 +32,7 @@ spaceship::extract::python::toml() {
32
32
  else
33
33
  import=tomli
34
34
  fi
35
- spaceship::extract::python "$import" "$import.load(open('$file', 'rb'))" "$@"
35
+ spaceship::extract::python "$import" "$import.load(open(sys.argv[1], 'rb'))" "$file" "$@"
36
36
  }
37
37
 
38
38
  spaceship::extract::jq() {
@@ -42,25 +42,25 @@ spaceship::extract::jq() {
42
42
  }
43
43
 
44
44
  spaceship::extract::ruby() {
45
- local import=$1 load=$2; shift 2
45
+ local import=$1 load=$2 file=$3; shift 3
46
46
  local keys=("$@")
47
- ruby -r "$import" -e "puts ['${(j|','|)keys}'].map { |key| key.split('.').reduce($load) { |obj, key| obj[key] } }.find(&:itself)" 2>/dev/null
47
+ ruby -r "$import" -e "puts ['${(j|','|)keys}'].map { |key| key.split('.').reduce($load) { |obj, key| obj[key] } }.find(&:itself)" -- "$file" 2>/dev/null
48
48
  }
49
49
 
50
50
  spaceship::extract::ruby::yaml() {
51
51
  local file=$1; shift
52
- spaceship::extract::ruby 'yaml' "YAML::load_file('$file')" "$@"
52
+ spaceship::extract::ruby 'yaml' "YAML.safe_load(File.read(ARGV[0]))" "$file" "$@"
53
53
  }
54
54
 
55
55
  spaceship::extract::ruby::json() {
56
56
  local file=$1; shift
57
- spaceship::extract::ruby 'json' "JSON::load(File.read('$file'))" "$@"
57
+ spaceship::extract::ruby 'json' "JSON::load(File.read(ARGV[0]))" "$file" "$@"
58
58
  }
59
59
 
60
60
  spaceship::extract::node::json() {
61
61
  local file=$1; shift
62
62
  local keys=("$@")
63
- node -p "['${(j|','|)keys}'].map(s => s.split('.').reduce((obj, key) => obj[key], require('./$file'))).find(Boolean)" 2>/dev/null
63
+ node -p "['${(j|','|)keys}'].map(s => s.split('.').reduce((obj, key) => obj[key], require(require('path').resolve(process.argv[1])))).find(Boolean)" -- "$file" 2>/dev/null
64
64
  }
65
65
 
66
66
  # Read data file with dot notation (JSON, YAML, TOML, XML). Additional keys
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spaceship-prompt",
3
- "version": "4.22.0",
3
+ "version": "4.22.1",
4
4
  "description": "A Zsh prompt for Astronauts.",
5
5
  "files": [
6
6
  "lib",
@@ -38,8 +38,8 @@ spaceship_package::npm() {
38
38
 
39
39
  local package_json=$(spaceship::upsearch package.json) || return
40
40
 
41
- local package_version="$(spaceship::extract --json $package_json version)"
42
- local is_private_package="$(spaceship::extract --json $package_json private)"
41
+ local package_version="$(spaceship::extract --json "$package_json" version)"
42
+ local is_private_package="$(spaceship::extract --json "$package_json" private)"
43
43
 
44
44
  if [[ "$SPACESHIP_PACKAGE_SHOW_PRIVATE" == false && "$is_private_package" == true ]]; then
45
45
  return 0
@@ -60,7 +60,7 @@ spaceship_package::lerna() {
60
60
 
61
61
  local lerna_json=$(spaceship::upsearch lerna.json) || return
62
62
 
63
- local package_version="$(spaceship::extract --json $lerna_json version)"
63
+ local package_version="$(spaceship::extract --json "$lerna_json" version)"
64
64
 
65
65
  if [[ "$package_version" == "independent" ]]; then
66
66
  package_version="($package_version)"
@@ -86,7 +86,7 @@ spaceship_package::composer() {
86
86
 
87
87
  local composer_json=$(spaceship::upsearch composer.json) || return
88
88
 
89
- spaceship::extract --json $composer_json "version"
89
+ spaceship::extract --json "$composer_json" "version"
90
90
  }
91
91
 
92
92
  spaceship_package::julia() {
@@ -94,7 +94,7 @@ spaceship_package::julia() {
94
94
 
95
95
  local project_toml=$(spaceship::upsearch Project.toml) || return
96
96
 
97
- spaceship::extract --toml $project_toml "version"
97
+ spaceship::extract --toml "$project_toml" "version"
98
98
  }
99
99
 
100
100
  spaceship_package::maven() {
@@ -131,7 +131,7 @@ spaceship_package::dart() {
131
131
 
132
132
  local pubspec_file=$(spaceship::upsearch pubspec.yaml pubspec.yml) || return
133
133
 
134
- spaceship::extract --yaml $pubspec_file "version"
134
+ spaceship::extract --yaml "$pubspec_file" "version"
135
135
  }
136
136
 
137
137
  # ------------------------------------------------------------------------------
package/spaceship.zsh CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  # Current version of Spaceship
10
10
  # Useful for issue reporting
11
- export SPACESHIP_VERSION='4.22.0'
11
+ export SPACESHIP_VERSION='4.22.1'
12
12
 
13
13
  # Set SPACESHIP_ROOT if it isn't defined yet or if the directory does
14
14
  # not exist anymore (e.g. after an update to a newer version)