From eb41c6655e5e596ef7ad8580306f67cb2f37ced3 Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Thu, 2 Feb 2017 14:52:09 +0700 Subject: [PATCH] Use "=>" as key/value seperator It's less likely to occur in script names and break the script regex --- zsh-better-npm-completion.plugin.zsh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/zsh-better-npm-completion.plugin.zsh b/zsh-better-npm-completion.plugin.zsh index 29c120c..38a8d68 100644 --- a/zsh-better-npm-completion.plugin.zsh +++ b/zsh-better-npm-completion.plugin.zsh @@ -30,21 +30,21 @@ _zbnc_get_package_json_property_object() { cat "$package_json" | sed -nE "/^ \"$property\": \{$/,/^ \},?$/p" | # Grab scripts object sed '1d;$d' | # Remove first/last lines - sed -E 's/ "([^"]+)": "(.+)",?/\1:\2/' # Parse into key:value + sed -E 's/ "([^"]+)": "(.+)",?/\1=>\2/' # Parse into key=>value } _zbnc_get_package_json_property_object_keys() { local package_json="$1" local property="$2" - _zbnc_get_package_json_property_object "$package_json" "$property" | cut -f 1 -d ":" + _zbnc_get_package_json_property_object "$package_json" "$property" | cut -f 1 -d "=" } _zbnc_parse_package_json_for_script_suggestions() { local package_json="$1" _zbnc_get_package_json_property_object "$package_json" scripts | - sed -E 's/([^:]+):(.+)/\1:$ \2/' | # Parse commands into suggestions - sed 's/\(:\)[^$]/\\&/g' | # Escape ":" in commands - sed 's/\(:\)$[^ ]/\\&/g' # Escape ":$" without a space in commands + sed -E 's/(.+)=>(.+)/\1:$ \2/' | # Parse commands into suggestions + sed 's/\(:\)[^$]/\\&/g' | # Escape ":" in commands + sed 's/\(:\)$[^ ]/\\&/g' # Escape ":$" without a space in commands } _zbnc_parse_package_json_for_deps() {