From 2240c4885c0663883ee013ffcc1419518b65d3cf Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Mon, 19 Sep 2022 10:39:54 +1000 Subject: moving the emacs client out. updated readme --- README.org | 53 +++++++++++++---------------------------------------- 1 file changed, 13 insertions(+), 40 deletions(-) (limited to 'README.org') diff --git a/README.org b/README.org index 5d6b3f7..f5447dc 100644 --- a/README.org +++ b/README.org @@ -1,9 +1,12 @@ #+title: hcel -hcel is a fork of [[https://github.com/alexwl/haskell-code-explorer][Haskell Code Explorer]], it works with GHC-9.2.2 with +hcel is an indexer and a server of Haskell packages. It serves +indexed packages through JSON API. + +It is a fork of [[https://github.com/alexwl/haskell-code-explorer][Haskell Code Explorer]], and works with GHC-9.2.2 with Cabal-3.6.2.0, and possibly other adjacent versions. -It also comes with an emacs binding. +It also has an emacs client. * Install @@ -33,7 +36,7 @@ can be removed to save space. To launch the app, run haskell-code-server -p /path/to/package1 -p /path/to/package2 ... #+end_src -and the app will be available at localhost:3000. +and the server will be available at localhost:3000. You can also hook up a local hoogle for documentation lookup: @@ -43,48 +46,18 @@ hoogle server haskell-code-server -p /path/to/package1 -p /path/to/package2 --use-hoogle-api --hoogle-api https://hoogle.localhost/ --disable-hoogle-api-cert-check #+end_src -For the readme of the original version, see README.md.original in the -project tree, also available at -https://g.ypei.me/hcel.git/tree/README.md.original. - -* Difference from the original version - -The indexer of this version looks for all build targets, including -testsuites and benchmarks, in the .cabal file, therefore you'll need -to build them all before indexing, otherwise the indexer will complain -about missing files. - * Emacs binding -You may find an emacs client under the ~lisp~ directory. It covers - almost all features in the js client, and more: - -- 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) - -To start, start a server, and set the endpoint: - -#+begin_src elisp -(require 'hc) -(setq hcel-endpoint "localhost:8080") -#+end_src +The may find an emacs client called hc.el at + . -Then run command ~hcel~ to browse in a hcel-outline mode buffer, or -~hcel-package~ to select a package and module in the minibuffer. +The original haskell-code-explorer has a web client, but this will be +removed in favour of serving the Emacs client. * Contact and Copyright -The original haskell-code-explorer is written by Alexey Kiryushin -(alexey.a.kiryushin@gmail.com), hosted at [[https://github.com/alexwl/haskell-code-explorer][github]]. - -This fork is maintained by Yuchen Pei (id@ypei.org). +hcel is maintained by Yuchen Pei (id@ypei.org). -The original work is under the [[https://www.gnu.org/licenses/license-list.html#Expat][expat license]], while the changes by -Yuchen Pei are covered by [[https://www.gnu.org/licenses/agpl-3.0.en.html][GNU AGPLv3+]]. You may find the license text +The original [[https://github.com/alexwl/haskell-code-explorer][haskell-code-explorer]] is under the [[https://www.gnu.org/licenses/license-list.html#Expat][expat license]], whereas +the changes are 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. As a combination, this work as a whole is covered by the terms of [[https://www.gnu.org/licenses/agpl-3.0.en.html][GNU AGPLv3+]] ([[https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean][why?]]). -- cgit v1.2.3