From af120ab348f2e1a5a39dec035ed9dcf84189a64e Mon Sep 17 00:00:00 2001
From: Biswakalyan Bhuyan <biswa@surgot.in>
Date: Mon, 3 Oct 2022 21:42:20 +0530
Subject: dotfiles

---
 zsh/oh-my-zsh/plugins/bower/bower.plugin.zsh | 84 ++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)
 create mode 100644 zsh/oh-my-zsh/plugins/bower/bower.plugin.zsh

(limited to 'zsh/oh-my-zsh/plugins/bower/bower.plugin.zsh')

diff --git a/zsh/oh-my-zsh/plugins/bower/bower.plugin.zsh b/zsh/oh-my-zsh/plugins/bower/bower.plugin.zsh
new file mode 100644
index 0000000..c4f71c2
--- /dev/null
+++ b/zsh/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
-- 
cgit v1.2.3-59-g8ed1b