summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/bower/bower.plugin.zsh
diff options
context:
space:
mode:
authorAditya <bluenerd@protonmail.com>2023-02-27 20:04:56 +0530
committerAditya <bluenerd@protonmail.com>2023-02-27 20:04:56 +0530
commitedc449275b6c04445f58b108ca0937a87c1e8430 (patch)
tree9fd484d58145b616f29a78857cc0b1c8b1c18f05 /oh-my-zsh/plugins/bower/bower.plugin.zsh
parent6f5424ca96c4221ef433f545642669e9c104d0ed (diff)
add zsh
Diffstat (limited to 'oh-my-zsh/plugins/bower/bower.plugin.zsh')
-rw-r--r--oh-my-zsh/plugins/bower/bower.plugin.zsh84
1 files changed, 84 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/bower/bower.plugin.zsh b/oh-my-zsh/plugins/bower/bower.plugin.zsh
new file mode 100644
index 0000000..c4f71c2
--- /dev/null
+++ b/oh-my-zsh/plugins/bower/bower.plugin.zsh
@@ -0,0 +1,84 @@
+alias bi="bower install"
+alias bisd="bower install --save-dev"
+alias bis="bower install --save"
+alias bl="bower list"
+alias bs="bower search"
+
+_bower_installed_packages () {
+ bower_package_list=$(bower ls --no-color 2>/dev/null| awk 'NR>3{print p}{p=$0}'| cut -d ' ' -f 2|sed 's/#.*//')
+}
+_bower ()
+{
+ local -a _1st_arguments _no_color _dopts _save_dev _force_latest _production
+ local expl
+ typeset -A opt_args
+
+ _no_color=('--no-color[Do not print colors (available in all commands)]')
+
+ _dopts=(
+ '(--save)--save[Save installed packages into the project"s bower.json dependencies]'
+ '(--force)--force[Force fetching remote resources even if a local copy exists on disk]'
+ )
+
+ _save_dev=('(--save-dev)--save-dev[Save installed packages into the project"s bower.json devDependencies]')
+
+ _force_latest=('(--force-latest)--force-latest[Force latest version on conflict]')
+
+ _production=('(--production)--production[Do not install project devDependencies]')
+
+ _1st_arguments=(
+ 'cache-clean:Clean the Bower cache, or the specified package caches' \
+ 'help:Display help information about Bower' \
+ 'info:Version info and description of a particular package' \
+ 'init:Interactively create a bower.json file' \
+ 'install:Install a package locally' \
+ 'link:Symlink a package folder' \
+ 'lookup:Look up a package URL by name' \
+ 'register:Register a package' \
+ 'search:Search for a package by name' \
+ 'uninstall:Remove a package' \
+ 'update:Update a package' \
+ {ls,list}:'[List all installed packages]'
+ )
+ _arguments \
+ $_no_color \
+ '*:: :->subcmds' && return 0
+
+ if (( CURRENT == 1 )); then
+ _describe -t commands "bower subcommand" _1st_arguments
+ return
+ fi
+
+ case "$words[1]" in
+ install)
+ _arguments \
+ $_dopts \
+ $_save_dev \
+ $_force_latest \
+ $_no_color \
+ $_production
+ ;;
+ update)
+ _arguments \
+ $_dopts \
+ $_no_color \
+ $_force_latest
+ _bower_installed_packages
+ compadd "$@" $(echo $bower_package_list)
+ ;;
+ uninstall)
+ _arguments \
+ $_no_color \
+ $_dopts
+ _bower_installed_packages
+ compadd "$@" $(echo $bower_package_list)
+ ;;
+ *)
+ _arguments \
+ $_no_color \
+ ;;
+ esac
+
+}
+
+compdef _bower bower