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/forklift/README.md           |  23 ++++
 zsh/oh-my-zsh/plugins/forklift/forklift.plugin.zsh | 122 +++++++++++++++++++++
 2 files changed, 145 insertions(+)
 create mode 100644 zsh/oh-my-zsh/plugins/forklift/README.md
 create mode 100644 zsh/oh-my-zsh/plugins/forklift/forklift.plugin.zsh

(limited to 'zsh/oh-my-zsh/plugins/forklift')

diff --git a/zsh/oh-my-zsh/plugins/forklift/README.md b/zsh/oh-my-zsh/plugins/forklift/README.md
new file mode 100644
index 0000000..7dfd8bf
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/forklift/README.md
@@ -0,0 +1,23 @@
+# forklift
+
+Plugin for ForkLift, an FTP application for OS X.
+
+To use it, add `forklift` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... forklift)
+```
+
+## Requirements
+
+* [ForkLift](https://binarynights.com/)
+
+## Usage
+
+`fl [<file_or_folder>]`
+
+* If `fl` is called without arguments then the current folder is opened in ForkLift. This is equivalent to `fl .`.
+
+* If `fl` is called with a directory as the argument, then that directory is opened in ForkLift
+
+* If `fl` is called with a non-directory file as the argument, then the file's parent directory is opened.
diff --git a/zsh/oh-my-zsh/plugins/forklift/forklift.plugin.zsh b/zsh/oh-my-zsh/plugins/forklift/forklift.plugin.zsh
new file mode 100644
index 0000000..8588948
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/forklift/forklift.plugin.zsh
@@ -0,0 +1,122 @@
+# Open folder in ForkLift.app or ForkLift2.app from console
+# Author: Adam Strzelecki nanoant.com, modified by Bodo Tasche bitboxer.de
+#         Updated to support ForkLift 2 and ForkLift 3 by Johan Kaving
+#         Updated to support ForkLift from Setapp by Paul Rudkin
+#
+# Usage:
+#   fl [<folder>]
+#
+# Opens specified directory or current working directory in ForkLift.app
+#
+# Notes:
+# It assumes Shift+Cmd+G launches go to folder panel and Cmd+N opens new
+# app window.
+#
+# https://gist.github.com/3313481
+function fl {
+  if [ ! -z "$1" ]; then
+    DIR=$1
+    if [ ! -d "$DIR" ]; then
+      DIR=$(dirname $DIR)
+    fi
+    if [ "$DIR" != "." ]; then
+      PWD=`cd "$DIR";pwd`
+    fi
+  fi
+  osascript 2>&1 1>/dev/null <<END
+
+  try
+    tell application "Finder"
+        set forkLiftSetapp to name of application file id "com.binarynights.forklift-setapp"
+    end tell
+  on error err_msg number err_num
+    set forkLiftSetapp to null
+  end try
+  try
+    tell application "Finder"
+        set forkLift3 to name of application file id "com.binarynights.ForkLift-3"
+    end tell
+  on error err_msg number err_num
+    set forkLift3 to null
+  end try
+  try
+    tell application "Finder"
+        set forkLift2 to name of application file id "com.binarynights.ForkLift2"
+    end tell
+  on error err_msg number err_num
+    set forkLift2 to null
+  end try
+  try
+    tell application "Finder"
+        set forkLift to name of application file id "com.binarynights.ForkLift"
+    end tell
+  on error err_msg number err_num
+    set forkLift to null
+  end try
+
+  if forkLiftSetapp is not null and application forkLiftSetapp is running then
+    tell application forkLiftSetapp
+        activate
+        set forkLiftVersion to version
+    end tell	
+  else if forkLift3 is not null and application forkLift3 is running then
+    tell application forkLift3
+        activate
+        set forkLiftVersion to version
+    end tell
+  else if forkLift2 is not null and application forkLift2 is running then
+    tell application forkLift2
+        activate
+        set forkLiftVersion to version
+    end tell
+  else if forkLift is not null and application forkLift is running then
+    tell application forkLift
+        activate
+        set forkLiftVersion to version
+    end tell
+  else
+    if forkLiftSetapp is not null then
+        set appName to forkLiftSetapp
+    else if forkLift3 is not null then
+        set appName to forkLift3
+    else if forkLift2 is not null then
+        set appName to forkLift2
+    else if forkLift is not null then
+        set appName to forkLift
+    end if
+    
+    tell application appName
+        activate
+        set forkLiftVersion to version
+    end tell
+    repeat until application appName is running
+        delay 1
+    end repeat
+    tell application appName
+        activate
+    end tell
+  end if
+
+  tell application "System Events"
+    tell application process "ForkLift"
+        try
+            set topWindow to window 1
+        on error
+            keystroke "n" using command down
+            set topWindow to window 1
+        end try
+        keystroke "g" using {command down, shift down}
+        if forkLiftVersion starts with "3" then
+            tell pop over of list of group of splitter group of splitter group of topWindow
+                set value of text field 1 to "$PWD"
+            end tell
+        else
+            tell sheet 1 of topWindow
+                set value of text field 1 to "$PWD"
+            end tell
+        end if
+        keystroke return
+    end tell
+  end tell
+END
+}
-- 
cgit v1.2.3-59-g8ed1b