[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/nix-mode 75d2111891 433/500: Merge pull request #129 from
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/nix-mode 75d2111891 433/500: Merge pull request #129 from nagy/nix-search-separate |
Date: |
Sat, 29 Jan 2022 08:27:52 -0500 (EST) |
branch: elpa/nix-mode
commit 75d21118917330128492f1ab5832cd36acd66cf3
Merge: 0023fc5b10 0de9c70c89
Author: Matthew Bauer <mjbauer95@gmail.com>
Commit: GitHub <noreply@github.com>
Merge pull request #129 from nagy/nix-search-separate
Split up `nix-search` into two separate functions
---
nix-search.el | 55 +++++++++++++++++++++++++++----------------------------
1 file changed, 27 insertions(+), 28 deletions(-)
diff --git a/nix-search.el b/nix-search.el
index 106fe55189..ccd0f03645 100644
--- a/nix-search.el
+++ b/nix-search.el
@@ -17,38 +17,37 @@
(require 'json)
;;;###autoload
-(defun nix-search (&optional search file)
+(defun nix-search--search (search file &optional no-cache)
+ (with-temp-buffer
+ (call-process nix-executable nil (list t nil) nil
+ "search" "--json" (if no-cache "--no-cache" "") "--file" file search)
+ (goto-char (point-min))
+ (json-read)))
+
+;;;###autoload
+(defun nix-search--display (results &optional display-buffer)
+ (unless display-buffer (setq display-buffer (generate-new-buffer "*nix
search*")))
+ (with-current-buffer display-buffer
+ (dolist (entry results)
+ (widget-insert
+ (format "attr: %s\nname: %s\nversion: %s\ndescription: %s\n\n"
+ (car entry)
+ (alist-get 'pkgName (cdr entry))
+ (alist-get 'version (cdr entry))
+ (alist-get 'description (cdr entry))))))
+ (display-buffer display-buffer))
+
+;;;###autoload
+(defun nix-search (search &optional file)
"Run nix search.
SEARCH a search term to use.
FILE a Nix expression to search in."
- (interactive)
- (unless search (setq search ""))
- (unless file (nix-read-file))
-
- (let ((stdout (generate-new-buffer "nix search"))
- result)
- (call-process nix-executable nil (list stdout nil) nil
- "search" "--json" "-f" file search)
- (with-current-buffer stdout
- (when (eq (buffer-size) 0)
- (error "Error: nix search %s failed to produce any output" search))
- (goto-char (point-min))
- (setq result (json-read)))
- (kill-buffer stdout)
+ (interactive "snix-search> \n")
+ (setq file (or file (nix-read-file)))
+ (let ((results (nix-search--search search file)))
(when (called-interactively-p 'any)
- (let ((display (generate-new-buffer "*nix search*")))
- (with-current-buffer display
- (dolist (entry result)
- (widget-insert
- (format "attr: %s\nname: %s\nversion: %s\ndescription: %s\n\n"
- (car entry)
- (alist-get 'pkgName (cdr entry))
- (alist-get 'version (cdr entry))
- (alist-get 'description (cdr entry)))))
- )
- (display-buffer display 'display-buffer-pop-up-window)))
- (kill-buffer stdout)
- result))
+ (nix-search--display results))
+ results))
(defun nix-search-read-attr (file)
"Read from a list of attributes.
- [nongnu] elpa/nix-mode aa1fa07344 342/500: Fix handling of keywords in identifiers, (continued)
- [nongnu] elpa/nix-mode aa1fa07344 342/500: Fix handling of keywords in identifiers, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 7d681ff81b 357/500: Merge pull request #91 from purcell/relative-executable-paths, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 47ec698474 422/500: Add version to invocation of define-obsolete-function-alias, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode e32c6bf7ad 415/500: Merge pull request #115 from taku0/ffap-in-string, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 30587b2205 411/500: Merge pull request #114 from TristanCacqueray/master, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 471a90ac96 394/500: Release 1.4.5, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode fe00d5930b 423/500: Merge pull request #119 from NixOS/derived-nix-drv-mode, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 7e081a560b 427/500: nix-drv-mode.el: make regexp more selective, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 91e1a05ea6 399/500: Merge pull request #107 from rossabaker/check-for-proc, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode b4b7518231 441/500: Refactor process calling, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 75d2111891 433/500: Merge pull request #129 from nagy/nix-search-separate,
ELPA Syncer <=
- [nongnu] elpa/nix-mode 949cb98ba5 432/500: Set meta.description, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode a8a513770a 436/500: Simplify some functions, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 7f689c4161 450/500: In flake.nix, split name into pname and version, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode b12fa70dd7 446/500: Indicate constants, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 53d1fb9687 469/500: nix-flake: Add nix-flake-init, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 1604a9cec8 484/500: nix-flake: Allow updating the lockfile, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode e167b82e64 493/500: nix-flake: Fix inconsistent state after switching the flake, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 3d04d92d9c 496/500: Merge pull request #144 from akirak/update-cask-on-flake, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode cf957244e7 499/500: Merge pull request #149 from akirak/transient-dep, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 9ee2a867e6 481/500: nix-flake: Follow the terminology and syntax of the guideline, ELPA Syncer, 2022/01/29