about summary refs log tree commit diff
path: root/configs/shared/emacs/.emacs.d/elpa/nix-mode-20180908.2240/nix-instantiate.el
diff options
context:
space:
mode:
Diffstat (limited to 'configs/shared/emacs/.emacs.d/elpa/nix-mode-20180908.2240/nix-instantiate.el')
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/nix-mode-20180908.2240/nix-instantiate.el104
1 files changed, 0 insertions, 104 deletions
diff --git a/configs/shared/emacs/.emacs.d/elpa/nix-mode-20180908.2240/nix-instantiate.el b/configs/shared/emacs/.emacs.d/elpa/nix-mode-20180908.2240/nix-instantiate.el
deleted file mode 100644
index 899ec9790b79..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/nix-mode-20180908.2240/nix-instantiate.el
+++ /dev/null
@@ -1,104 +0,0 @@
-;;; nix-instantiate.el -- run nix commands in Emacs -*- lexical-binding: t -*-
-
-;; Author: Matthew Bauer <mjbauer95@gmail.com>
-;; Homepage: https://github.com/NixOS/nix-mode
-;; Keywords: nix
-
-;; This file is NOT part of GNU Emacs.
-
-;;; Commentary:
-
-;;; Code:
-
-(require 'nix)
-(require 'json)
-
-(defun nix-instantiate--parsed (drv)
-  "Get the parsed version of the .drv file.
-DRV file to load from."
-  (let ((stdout (generate-new-buffer "nix show-derivation"))
-	result)
-    (call-process nix-executable nil (list stdout nil) nil
-		  "show-derivation" drv)
-    (setq result
-	  (cdar (with-current-buffer stdout
-		  (when (eq (buffer-size) 0)
-		    (error "Nix’s show-derivation %s failed to produce any output"
-			   drv))
-		  (goto-char (point-min))
-		  (json-read))))
-    (kill-buffer stdout)
-    result))
-
-(defun nix-instantiate (nix-file &optional attribute parse)
-  "Run nix-instantiate on a Nix expression.
-NIX-FILE the file to instantiate.
-ATTRIBUTE an attribute of the Nix file to use.
-PARSE whether to parse nix-instantiate output."
-  (interactive (list (read-file-name "Nix file: ") nil t))
-
-  (let ((stdout (generate-new-buffer "nix-instantiate"))
-	result)
-    (if attribute
-	(call-process nix-instantiate-executable nil (list stdout nil) nil
-		      nix-file "-A" attribute)
-      (call-process nix-instantiate-executable nil (list stdout nil) nil
-		    nix-file))
-    (with-current-buffer stdout
-      (when (eq (buffer-size) 0)
-	(error
-	 "Error: nix-instantiate %s failed to produce any output"
-	 nix-file))
-      (setq result (substring (buffer-string) 0 (- (buffer-size) 1)))
-      (when parse
-	(setq result (nix-instantiate--parsed result))))
-    (kill-buffer stdout)
-    result))
-
-(defvar nix-instantiate--running-processes nil)
-
-(defun nix-instantiate--sentinel (prop err proc event)
-  "Make a nix-instantiate process.
-PROP the prop name of nix-instantiate--running-processes.
-ERR the error buffer.
-PROC the process that has been run.
-EVENT the event that was fired."
-  (when (string= event "finished\n")
-    (with-current-buffer (process-buffer proc)
-      (unless (eq (buffer-size) 0)
-	(let ((drv (nix-instantiate--parsed
-		    (substring (buffer-string) 0 (- (buffer-size) 1)))))
-	  (dolist
-	      (callback (lax-plist-get nix-instantiate--running-processes prop))
-	    (funcall callback drv)))))
-    (setq nix-instantiate--running-processes
-	  (lax-plist-put nix-instantiate--running-processes prop nil)))
-  (unless (process-live-p proc)
-    (kill-buffer (process-buffer proc))
-    (kill-buffer err)))
-
-(defun nix-instantiate-async (callback nix-file &optional attribute)
-  "Run nix-instantiate on a Nix expression, asynchronously.
-CALLBACK the function to call when instantiate completes.
-NIX-FILE the file to instantiate
-ATTRIBUTE an attribute of the Nix file to use."
-  (setq nix-file (expand-file-name nix-file))
-  (let* ((prop (if attribute
-		   (expand-file-name attribute nix-file) nix-file))
-	 (data (lax-plist-get nix-instantiate--running-processes prop))
-	 (stdout (generate-new-buffer "nix-instantiate"))
-	 (stderr (generate-new-buffer "nix-instantiate error")))
-    (setq nix-instantiate--running-processes
-	  (lax-plist-put nix-instantiate--running-processes
-			 prop (cons callback data)))
-    (make-process
-     :name "nix-instantiate"
-     :buffer stdout
-     :command (append (list nix-instantiate-executable nix-file)
-		      (when attribute (list "-A" attribute)))
-     :noquery t
-     :sentinel (apply-partially 'nix-instantiate--sentinel prop stderr)
-     :stderr stderr)))
-
-(provide 'nix-instantiate)
-;;; nix-instantiate.el ends here