From bf28ac7e4e8a80daae955fba5b02bbd2b0ea5d67 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Mon, 5 Sep 2022 15:27:00 +1000 Subject: Adding elisp client. --- lisp/hc.el | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lisp/hc.el (limited to 'lisp/hc.el') diff --git a/lisp/hc.el b/lisp/hc.el new file mode 100644 index 0000000..907a3d7 --- /dev/null +++ b/lisp/hc.el @@ -0,0 +1,31 @@ +;; -*- lexical-binding: t; -*- +(require 'hcel-source) +(require 'hcel-outline) +(require 'hcel-results) +(require 'hcel-utils) + +(defun hcel-package (package-id) + "Select a package, followed by selecting a module to display the source." + (interactive + (list + (completing-read "Select package: " + (mapcar 'hcel-format-package-id + (hcel-api-packages))))) + (call-interactively (hcel-module-selector (hcel-parse-package-id package-id)))) + +(defun hcel-module () + "Select a module to display source." + (interactive) + (call-interactively + (hcel-module-selector hcel-package-id))) + +(defun hcel-module-selector (package-id) + (lambda (module-path) + (interactive + (list + (completing-read "Select module: " + (hcel-list-modules package-id)))) + (switch-to-buffer + (hcel-load-module-source package-id module-path)))) + +(provide 'hc) -- cgit v1.2.3