From f3f82d1d1f3d6a320ae12c13176c49797fc64dc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Reich=C3=B6r?= Date: Thu, 24 Aug 2017 22:14:51 +0200 Subject: [PATCH] gnu: Add fzy. * gnu/packages/shellutils.scm (fzy): New variable. --- gnu/packages/shellutils.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index 3ecc1ee8ba..2d515ec7a5 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Matthew Jordan ;;; Copyright © 2016, 2017 Alex Griffin ;;; Copyright © 2016 Christopher Baines +;;; Copyright © 2017 Stefan Reichör ;;; ;;; This file is part of GNU Guix. ;;; @@ -122,3 +123,37 @@ Before each prompt, direnv checks for the existence of a .envrc file in the current and parent directories. This file is then used to alter the environmental variables of the current shell.") (license expat))) + +(define-public fzy + (package + (name "fzy") + (version "0.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/jhawthorn/fzy/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xfgxqbkcpi2n4381kj3fq4026qs6by7xhl5gn0fgp3dh232c63j")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags (list "CC=gcc" + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/jhawthorn/fzy") + (synopsis "Fast fuzzy text selector for the terminal with an advanced +scoring algorithm") + (description + "Most other fuzzy matchers sort based on the length of a match. fzy tries +to find the result the user intended. It does this by favouring matches on +consecutive letters and starts of words. This allows matching using acronyms +or different parts of the path. + +fzy is designed to be used both as an editor plugin and on the command +line. Rather than clearing the screen, fzy displays its interface directly +below the current cursor position, scrolling the screen if necessary.") + (license expat)))