From fe0608116ab1a602aee2827df63419d477cab1e0 Mon Sep 17 00:00:00 2001
From: Patrick <patrickf3139@gmail.com>
Date: Thu, 23 Dec 2021 17:44:27 -0800
Subject: [PATCH] introduce new plugin for jumping git root

---
 plugins/README.md |  3 ++-
 plugins/gitroot   | 15 +++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100755 plugins/gitroot

diff --git a/plugins/README.md b/plugins/README.md
index 40427b3f..88449c37 100644
--- a/plugins/README.md
+++ b/plugins/README.md
@@ -29,7 +29,8 @@ Plugins extend the capabilities of `nnn`. They are _executable_ scripts (or bina
 | [fzopen](fzopen) | Fuzzy find file(s) in subtree to edit/open/pick | sh | fzf, xdg-open/open |
 | [fzplug](fzplug) | Fuzzy find, preview and run other plugins | sh | fzf |
 | [getplugs](getplugs) | Update plugins to installed `nnn` version | sh | curl |
-| [gpg\*](gpg\*) | Encrypt/decrypt files using GPG [✓] | sh | gpg |
+| [gitroot](gitroot) | Cd to the root of current git repo | sh | git |
+| [gpge](gpge) | Encrypt/decrypt files using GPG [✓] | sh | gpg |
 | [gutenread](gutenread) | Browse, download, read from Project Gutenberg | sh | curl, unzip, w3m<br>[epr](https://github.com/wustho/epr) (optional) |
 | [imgresize](imgresize) | Batch resize images in dir to screen resolution | sh | [imgp](https://github.com/jarun/imgp) |
 | [imgur](imgur) | Upload an image to imgur (from [imgur-screenshot](https://github.com/jomo/imgur-screenshot)) | bash | - |
diff --git a/plugins/gitroot b/plugins/gitroot
new file mode 100755
index 00000000..4428d1e0
--- /dev/null
+++ b/plugins/gitroot
@@ -0,0 +1,15 @@
+#!/usr/bin/env sh
+
+# Description: cd to the top level of the current git repository in the current context
+# Dependencies: git
+# Shell: sh
+# Author: https://github.com/PatrickF1
+
+root="$(git rev-parse --show-toplevel 2>/dev/null)"
+if [ -n "$root" ]; then
+    printf "%s" "0c$root" > "$NNN_PIPE"
+else
+    printf "Not in a git repository"
+    read -r _
+    exit 1
+fi
-- 
2.51.0