== Abstract

Langhelp creates an index of documents of various programming languages
and shell commands.
Langhelp enables you to search documents instantly in Emacs.
If you are a programmer, then you may sometimes wonder, what is the
usage of this function?
If you use Unices, then you may wonder, what is the usage of this
Langhelp answers the question INSTANTLY.

Currently langhelp supports languages and commands below.
planner, xnee, html, svn, bison,
cvs, libtool, latex, ratpoisonrc, id-utils,
gengetopt, wget, lua, guile, php,
texinfo, c++, c, standards, grep,
gdb, diff, octave, gauche, python,
global, flex, tcl, m4, sed,
screenrc, xmms-shell, gzip, perl, emacs-lisp,
ruby, autoconf, hurd, el4r, binutils,
awk, graphviz-dot, makefile, sh,

Langhelp may be the first tool written in EmacsRuby in the world.
In other words, langhelp is an practical example of EmacsRuby script.

It is available at

== What’s new

=== [2006/08/03] 0.9.7 released

  • `langhelp-at-point’ enables you to search for current word.
  • Langhelp uses its own frame by default.
  • Added a script to fetch ((<SRFI|URL:>))
  • Adjusted to Emacs 22.

=== [2006/02/09] 0.9.6 released

  • Fixed display problem of `lh-ri’ function with ri-emacs.
  • Many ways to follow link.
    • Follow link in this line and put point on screen top. (normal:l,
    • Follow link in this line and center point in window. (;, L, C)
    • Follow link in this line and select the help window to edit. (o)
    • Follow link in this line and kill the help window buffer. (K, D)

=== [2006/02/01] 0.9.5 released

  • Colorized title
  • New function: lh-file, lh-center
  • Narrowing to section
  • langhelp index was sorted
  • Many bug fix

=== [2005/12/23] 0.9.4 released

  • New function: lh-to
  • Reimplemented function: lh-goto-link
  • Speeduped function: lh-w3m
  • config: cvsbook, cvsbook-ja, WWWC documents
  • class HTML
    • new attributes: :recursive, :basedir
  • Indented by tab.

=== [2005/12/11] 0.9.3 released

  • class HTML
    • Now you can specify multiple HTMLs.
    • Extract the HTML title.
    • Disable charset conversion with `:noconv’ attribute.
    • Support subversion book using these features.

=== [2005/12/10] 0.9.2 released

  • langhelp full index (((%d%)) in langhelp buffer or ((%C-u C-c s%))).
  • New class: HTML; create HTML index.
  • More config settings. Not only programming languages but also shell

=== [2005/12/03] 0.9.1 released

  • Adjust to Ruby1.9.
  • Langhelp default key binding (((%C-c s%))).

=== [2005/12/02] 0.9.0 released
Initial release

== Environment

Langhelp depends on some tools.

I use Debian GNU/Linux and Emacs21((-I currently use Emacs22.-)).
Langhelp probably works on other GNU/Linux or Unices.
Langhelp also works on Windows(Meadow + Cygwin).

Langhelp does not compete against other document-lookup tools, but
langhelp INTEGRATES document-lookup tools.
The more you have tools, the more usefule langhelp is.

=== Langhelp support tools
The following tools are not mandatory but strengthens langhelp.

: various Info documents
Langhelp treats Info documents VERY EASY.
: ((<w3m|URL:>)),
W3m processes HTML documents.
Emacs-w3m is a WWW browser in Emacs, uses w3m internally.
: Ri
Ri looks up Ruby methods. It is bundled in Ruby distribution.
: ((<Ri for (X)Emacs|URL:>))
This tool speeds up `ri’ calls.
Luahelp searches ((<Lua|URL:>)) documents.
: ((<Emacs Lisp
There are MANY EmacsLisp programs.
Major mode for editing screenrc.
: ratpoison.el
Major mode for editing ratpoisonrc. It is bundled in ratpoison
Visible bookmarks in buffer.

== Install
First install el4r to run EmacsRuby scripts.
ruby -ropen-uri -e

tar xzf el4r-1.0.3.tar.gz
cd el4r-1.0.3
ruby setup.rb

ruby -S el4r-rctool -p
ruby -S el4r-rctool -i

Then install langhelp.
Please execute the following commands.

ruby -ropen-uri -e

tar xzvf langhelp-0.9.7.tar.gz

When you failed, please download it from the next link.


Then, install it.

cd langhelp-0.9.7
ruby setup.rb

Victor B. created ((<Gentoo
ebuild| is for sale | HugeDomains>)).

Boris Daix created ((<Debian
package|URL:>)). Thanks.
Put the following to your /etc/apt/sources.list:
deb unstable/
deb-src unstable/