;; -*- 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)