#+title: hc.el hc.el is a client to [[https://g.ypei.me/hcel.git/][hcel]] and an Emacs package for Haskell code exploring. Features include: - Jump to definition (using xref) - Find references (based on compilation mode) - Search identifiers in a package or globally (based on compilation mode) - Highlight the identifier at point - Browse packages, modules and identifiers in an outline mode buffer - Eldoc integration, showing type and documentation of the identifier at point, or the selected expression. - Syntax highlight (requires haskell-mode) * Install Clone this repo, and add load path (assuming you clone to ~~/.emacs.d~): #+begin_src sh cd ~/.emacs.d git clone https://g.ypei.me/hc.el.git #+end_src #+begin_src elisp (add-to-list 'load-path "~/.emacs.d/hc.el") #+end_src You'll also need an hcel server. To host one yourself, clone the [[https://g.ypei.me/hcel.git][repo]] and follow the instructions there. Once you have a server set up (say at ~localhost:8080~) and serving indexed packages, do the following and you are all set. #+begin_src elisp (require 'hc) (setq hcel-host "localhost:8080") #+end_src * Use The main entry points are two commands: ~hcel~, which opens up an hcel-outline mode buffer, which you can use to browse all packages, modules and identifiers in outline mode, and open any module source or jump to the definition of any identifier you like; ~hcel-package~ prompts you for a package id, followed by a module path, to open the module source. If you want to search for an identifier, the command ~hcel-global-ids~ is for you. * Contact and Copyright ~hc.el~ is covered by [[https://www.gnu.org/licenses/agpl-3.0.en.html][GNU AGPLv3+]]. You may find the license text in a file named COPYING.agpl3 in the project tree.