				━━━━━━━
				 HC.EL
				━━━━━━━


Table of Contents
─────────────────

1. Install
2. Use
3. Contact and Copyright


hc.el is a client to [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)


[hcel] <https://g.ypei.me/hcel.git/>


1 Install
═════════

  Clone this repo, and add load path (assuming you clone to
  `~/.emacs.d'):

  ┌────
  │ cd ~/.emacs.d
  │ git clone https://g.ypei.me/hc.el.git
  └────

  ┌────
  │ (add-to-list 'load-path "~/.emacs.d/hc.el")
  └────

  You'll also need an hcel server.  To host one yourself, clone the
  [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.

  ┌────
  │ (require 'hc)
  │ (setq hcel-host "localhost:8080")
  └────


[repo] <https://g.ypei.me/hcel.git>


2 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.


3 Contact and Copyright
═══════════════════════

  `hc.el' is covered by [GNU AGPLv3+].  You may find the license text in
  a file named COPYING.agpl3 in the project tree.


[GNU AGPLv3+] <https://www.gnu.org/licenses/agpl-3.0.en.html>
