about summary refs log tree commit diff
path: root/users/sterni/clhs
diff options
context:
space:
mode:
Diffstat (limited to 'users/sterni/clhs')
-rw-r--r--users/sterni/clhs/README.md13
-rw-r--r--users/sterni/clhs/clhs-lookup.lisp46
-rw-r--r--users/sterni/clhs/default.nix37
-rw-r--r--users/sterni/clhs/packages.lisp10
4 files changed, 0 insertions, 106 deletions
diff --git a/users/sterni/clhs/README.md b/users/sterni/clhs/README.md
deleted file mode 100644
index 1f42ff43a210..000000000000
--- a/users/sterni/clhs/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# clhs-lookup
-
-Simple cli to lookup symbols' documentation in a local copy of the
-Common Lisp HyperSpec.
-
-## usage
-
-```
-clhs-lookup [--print] symbol [symbol [...]]
-
-  --print  Print documentation paths to stdout instead of
-           opening them with $BROWSER (defaults to xdg-open).
-```
diff --git a/users/sterni/clhs/clhs-lookup.lisp b/users/sterni/clhs/clhs-lookup.lisp
deleted file mode 100644
index 0e61dd901f93..000000000000
--- a/users/sterni/clhs/clhs-lookup.lisp
+++ /dev/null
@@ -1,46 +0,0 @@
-(in-package :clhs-lookup)
-(declaim (optimize (safety 3)))
-
-(defun find-symbols-paths (syms clhs)
-  "Find pathnames to HyperSpec files describing the listed
-  symbol names (as strings). Paths are returned in the order
-  of the symbols given with missing entries removed."
-  (check-type syms list)
-  (check-type clhs pathname)
-  (let* ((data-dir (merge-pathnames "HyperSpec/Data/" clhs))
-         (data (merge-pathnames "Map_Sym.txt" data-dir))
-         (found (make-hash-table :test #'equal))
-         (syms (mapcar #'string-upcase syms)))
-  (with-open-file (s data :direction :input)
-    (loop
-      with missing    = syms
-      for symbol-line = (read-line s nil :eof)
-      for path-line   = (read-line s nil :eof)
-      until (or (eq symbol-line :eof)
-                (eq path-line   :eof)
-                (null missing))
-      for pos = (position symbol-line missing :test #'equal)
-      when pos
-      do (progn
-           (delete symbol-line missing)
-           (setf (gethash symbol-line found) path-line)))
-    ; TODO(sterni): get rid of Data/../ in path
-    (mapcar
-      (lambda (x) (merge-pathnames x data-dir))
-      (remove nil
-        (mapcar (lambda (x) (gethash x found)) syms))))))
-
-(defun main ()
-  (let* ((browser (or (uiop:getenvp "BROWSER") "xdg-open"))
-         (args    (uiop:command-line-arguments))
-         (prin    (member "--print" args :test #'equal))
-         (syms    (remove-if (lambda (x) (eq (char x 0) #\-)) args))
-         (paths (find-symbols-paths syms *clhs-path*)))
-      (if (null paths)
-        (uiop:quit 1)
-        (dolist (p paths)
-          (if prin
-            (format t "~A~%" p)
-            (uiop:launch-program
-              (format nil "~A ~A" browser p)
-              :force-shell t))))))
diff --git a/users/sterni/clhs/default.nix b/users/sterni/clhs/default.nix
deleted file mode 100644
index 8c42e5e75c1f..000000000000
--- a/users/sterni/clhs/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ pkgs, depot, ... }:
-
-let
-  inherit (pkgs) fetchzip writeText;
-  inherit (depot.nix) buildLisp;
-  inherit (builtins) replaceStrings;
-
-  clhsVersion = "7-0";
-
-  clhs = fetchzip {
-    name = "HyperSpec-${replaceStrings [ "-" ] [ "." ] clhsVersion}";
-    url = "ftp://ftp.lispworks.com/pub/software_tools/reference/HyperSpec-${clhsVersion}.tar.gz";
-    sha256 = "1zsi35245m5sfb862ibzy0pzlph48wvlggnqanymhgqkpa1v20ak";
-    stripRoot = false;
-  };
-
-  clhs-path = writeText "clhs-path.lisp" ''
-    (in-package :clhs-lookup.clhs-path)
-    (defparameter *clhs-path* (pathname "${clhs}/"))
-  '';
-
-  clhs-lookup = buildLisp.program {
-    name = "clhs-lookup";
-
-    deps = [
-      (buildLisp.bundled "uiop")
-    ];
-
-    srcs = [
-      ./packages.lisp
-      clhs-path
-      ./clhs-lookup.lisp
-    ];
-  };
-in {
-  inherit clhs clhs-lookup;
-}
diff --git a/users/sterni/clhs/packages.lisp b/users/sterni/clhs/packages.lisp
deleted file mode 100644
index d059b96ce9f0..000000000000
--- a/users/sterni/clhs/packages.lisp
+++ /dev/null
@@ -1,10 +0,0 @@
-(defpackage :clhs-lookup.clhs-path
-  (:use :cl)
-  (:export :*clhs-path*))
-
-(defpackage clhs-lookup
-  (:use :cl :uiop)
-  (:import-from :clhs-lookup.clhs-path :*clhs-path*)
-  (:export :main
-           :find-symbols-paths))
-