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/frontend-search/_frontend | 161 ++++++++++++++++++++++++
 1 file changed, 161 insertions(+)
 create mode 100644 zsh/oh-my-zsh/plugins/frontend-search/_frontend

(limited to 'zsh/oh-my-zsh/plugins/frontend-search/_frontend')

diff --git a/zsh/oh-my-zsh/plugins/frontend-search/_frontend b/zsh/oh-my-zsh/plugins/frontend-search/_frontend
new file mode 100644
index 0000000..15f8d23
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/frontend-search/_frontend
@@ -0,0 +1,161 @@
+#compdef frontend
+
+zstyle ':completion:*:descriptions' format '%B%d%b'
+zstyle ':completion::complete:frontend:*:commands' group-name commands
+zstyle ':completion::complete:frontend:*:frontend_points' group-name frontend_points
+zstyle ':completion::complete:frontend::' list-grouped
+
+zmodload zsh/mapfile
+
+function _frontend() {
+  local CONFIG=$HOME/.frontend-search
+  local ret=1
+
+  local -a commands
+  local -a frontend_points
+
+  frontend_points=( "${(f)mapfile[$CONFIG]//$HOME/~}" )
+
+  commands=(
+    'angular: Search in Angular.io website'
+    'angularjs: Search in docs.angularjs.org website'
+    'bem: Search in BEM website'
+    'bootsnipp: Search in bootsnipp website'
+    'bundlephobia: Search in Bundlephobia website'
+    'caniuse: Search in Can I Use website'
+    'codepen: Search in codepen website'
+    'compassdoc: Search in COMPASS website'
+    'cssflow: Search in cssflow website'
+    'dartlang: Search in Dart website'
+    'emberjs: Search in Ember website'
+    'flowtype: Search in Flowtype website'
+    'fontello: Search in fontello website'
+    'github: Search in GitHub website'
+    'html5please: Search in HTML5 Please website'
+    'jestjs: Search in Jest website'
+    'jquery: Search in jQuery website'
+    'lodash: Search in Lo-Dash website'
+    'mdn: Search in MDN website'
+    'nodejs: Search in NodeJS website'
+    'npmjs: Search in NPMJS website'
+    'packagephobia: Search in Packagephobia website'
+    'qunit: Search in Qunit website'
+    'reactjs: Search in React website'
+    'smacss: Search in SMACSS website'
+    'stackoverflow: Search in StackOverflow website'
+    'typescript: Search in TypeScript website'
+    'unheap: Search in unheap website'
+    'vuejs: Search in VueJS website'
+  )
+
+  _arguments -C \
+    '1: :->first_arg' \
+    '2: :->second_arg' && ret=0
+
+  case $state in
+    first_arg)
+      _describe -t frontend_points "Warp points" frontend_points && ret=0
+      _describe -t commands "Commands" commands && ret=0
+      ;;
+    second_arg)
+      case $words[2] in
+        jquery)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        mdn)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        compassdoc)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        html5please)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        caniuse)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        dartlang)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        lodash)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        qunit)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        fontello)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        github)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        bootsnipp)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        cssflow)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        codepen)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        unheap)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        bem)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        smacss)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        angularjs)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        reactjs)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        emberjs)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        stackoverflow)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        npmjs)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        bundlephobia)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        packagephobia)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        flowtype)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        typescript)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        vuejs)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        nodejs)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        jestjs)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+      esac
+      ;;
+  esac
+
+  return $ret
+}
+
+_frontend "$@"
+
+# Local Variables:
+# mode: Shell-Script
+# sh-indentation: 2
+# indent-tabs-mode: nil
+# sh-basic-offset: 2
+# End:
+# vim: ft=zsh sw=2 ts=2 et
-- 
cgit v1.2.3-59-g8ed1b