summaryrefslogtreecommitdiff
path: root/gnu/packages/shellutils.scm
diff options
context:
space:
mode:
authorAlexandr Vityazev <avityazev@posteo.org>2021-10-02 18:52:00 +0000
committerLudovic Courtès <ludo@gnu.org>2021-10-13 11:48:03 +0200
commitb0e8ccbe1f4e671c31724dacbdc165c7f868e78d (patch)
tree6463ae2827a5d69b2ef2b9193d1bb3995c026cc8 /gnu/packages/shellutils.scm
parentabd38dcee16f0ac71191527c38dcd3659111e2ba (diff)
downloadguix-patches-b0e8ccbe1f4e671c31724dacbdc165c7f868e78d.tar
guix-patches-b0e8ccbe1f4e671c31724dacbdc165c7f868e78d.tar.gz
gnu: Add zsh-syntax-highlighting.
* gnu/packages/shellutils.scm (zsh-syntax-highlighting): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/shellutils.scm')
-rw-r--r--gnu/packages/shellutils.scm53
1 files changed, 53 insertions, 0 deletions
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index 94b5536df7..9a364d0ade 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -10,6 +10,8 @@
;;; Copyright © 2020 aecepoglu <aecepoglu@fastmail.fm>
;;; Copyright © 2020 Dion Mendel <guix@dm9.info>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org>
+;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -138,6 +140,57 @@ text.")
as you type.")
(license license:expat)))
+(define-public zsh-syntax-highlighting
+ (package
+ (name "zsh-syntax-highlighting")
+ (version "0.7.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zsh-users/zsh-syntax-highlighting")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "039g3n59drk818ylcyvkciv8k9mf739cv6v4vis1h9fv9whbcmwl"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("zsh" ,zsh)))
+ (arguments
+ ;; FIXME: Tests fail when running test regexp
+ ;; there is no pcre module in the Guix zsh package
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "Makefile"
+ (("/usr/local") out)
+ (("share/\\$\\(NAME\\)") "share/zsh/plugins/$(NAME)")))))
+ (add-after 'patch-paths 'make-writable
+ (lambda _
+ (for-each make-file-writable
+ '("docs/highlighters.md"
+ "README.md"))))
+ (add-before 'build 'add-all-md
+ (lambda _
+ (invoke "make" "all")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "make" "test")
+ (invoke "make" "perf")))))))
+ (home-page "https://github.com/zsh-users/zsh-syntax-highlighting")
+ (synopsis "Fish shell-like syntax highlighting for Zsh")
+ (description
+ "This package provides syntax highlighting for Zsh. It enables
+highlighting of commands whilst they are typed at a Zsh prompt into an
+interactive terminal. This helps in reviewing commands before running them,
+particularly in catching syntax errors.")
+ (license license:bsd-3)))
+
(define-public sh-z
(package
(name "sh-z")