[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
New GNU ELPA package: hcel - Haskell codebase explorer / cross reference
From: |
Sacha Chua |
Subject: |
New GNU ELPA package: hcel - Haskell codebase explorer / cross referencer |
Date: |
Mon, 10 Oct 2022 20:10:13 -0400 |
Summary: Haskell codebase explorer / cross referencer
Requires: emacs-28
Website: https://g.ypei.me/hc.el.git
Keywords: haskell
Maintainer: Yuchen Pei <id@ypei.org>
Author: Yuchen Pei <id@ypei.org>
━━━━━━━
HC.EL
━━━━━━━
Table of Contents
─────────────────
1. Install
2. Use
3. TODOs
4. Contact and Copyright
hc.el (or hcel in ELPA) is a client to [hcel] and an Emacs package for
Haskell code browsing and exploring. Features include:
• Jump to definition across packages
• Find references across packages
• Search identifiers in a package or globally
• 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, either with builtin font-locks or haskell-mode
• Show info about an identifier in a help buffer
• Integration with [haddorg], allowing jumps between identifier
definition site and its org entry in documentation generated by
haddorg.
[hcel] <https://g.ypei.me/hcel.git/>
[haddorg] <https://g.ypei.me/haddock.git/about>
1 Install
═════════
Clone this repo, and add to 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
source info about indexed packages, do the following and you are all
set.
┌────
│ (require 'hcel)
│ (setq hcel-host "localhost:8080")
└────
[repo] <https://g.ypei.me/hcel.git>
2 Use
═════
There are several entry points:
• `hcel' opens up an hcel-outline mode buffer, where you can 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.
• `hcel-global-ids' lets you search for identifiers globally, and
either jump to the source (in case of a hit) or display search
results.
• `hcel-help' lets you search for identifiers globally and displays
the result in a help buffer.
3 TODOs
═══════
Most of these TODOs likely require changes to the server program.
• Awareness of all modules exporting an identifier (like hoogle)
• Requesting server to index a new package, or re-index an updated
one.
4 Contact and Copyright
═══════════════════════
`hc.el' is maintained by Yuchen Pei <id@ypei.org> and 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>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- New GNU ELPA package: hcel - Haskell codebase explorer / cross referencer,
Sacha Chua <=