diff --git a/lang/Makefile b/lang/Makefile index 6e638d39d39a..92cf2a9b7254 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -88,6 +88,7 @@ SUBDIR += gprolog SUBDIR += guile SUBDIR += harbour + SUBDIR += haskell-mode.el SUBDIR += helium SUBDIR += hope SUBDIR += huc diff --git a/lang/haskell-mode.el/Makefile b/lang/haskell-mode.el/Makefile new file mode 100644 index 000000000000..64c701627089 --- /dev/null +++ b/lang/haskell-mode.el/Makefile @@ -0,0 +1,35 @@ +# New ports collection makefile for: haskell-mode.el +# Date created: 5 March 2004 +# Whom: Josh Elsasser +# +# $FreeBSD$ +# + +PORTNAME= haskell-mode +PORTVERSION= 1.44 +CATEGORIES= lang elisp +MASTER_SITES= http://www.haskell.org/haskell-mode/ + +MAINTAINER= jre@vineyard.net +COMMENT= An Emacs lisp mode for editing haskell programs + +NO_BUILD= yes + +ELISPDIR= ${PREFIX}/${PLIST_DIRS} +ELISPFILES= haskell-decl-scan.el haskell-doc.el haskell-font-lock.el \ + haskell-ghci.el haskell-hugs.el haskell-indent.el \ + haskell-mode.el haskell-simple-indent.el + +PLIST_DIRS= share/emacs/site-lisp/${PORTNAME}/ +PLIST_FILES= ${ELISPFILES:C/^| [^ ]/${PLIST_DIRS}/g} + +do-install: + ${MKDIR} ${ELISPDIR} +.for i in ${ELISPFILES} + ${INSTALL_DATA} ${WRKSRC}/${i} ${ELISPDIR} +.endfor + +post-install: + @${CAT} ${PKGMESSAGE} + +.include diff --git a/lang/haskell-mode.el/distinfo b/lang/haskell-mode.el/distinfo new file mode 100644 index 000000000000..814e34ac89b6 --- /dev/null +++ b/lang/haskell-mode.el/distinfo @@ -0,0 +1,2 @@ +MD5 (haskell-mode-1.44.tar.gz) = 8317d8bf8588e254e753977e48ad3bf6 +SIZE (haskell-mode-1.44.tar.gz) = 58601 diff --git a/lang/haskell-mode.el/pkg-descr b/lang/haskell-mode.el/pkg-descr new file mode 100644 index 000000000000..b8907056952d --- /dev/null +++ b/lang/haskell-mode.el/pkg-descr @@ -0,0 +1,18 @@ +An Emacs lisp mode for editing haskell programs which is very basic, +but provides a base on which to build modules. The currently +supported modules are: + + * Font Locking: Colours keywords, comments, strings, etc. + * Declaration Scanning: Scans declarations and places them in a + menu. + * Documentation: Echoes types of functions or syntax of keywords + when the cursor is idle. + * Indentation: Provides semi-automatic intelligent indentation. + * Simple Indentation: Provides simple indentation. + * Hugs Interaction: Allows interaction with the Hugs interpreter. + * GHCi Interaction: Allows interaction with the GHCi interpreter. + +Note that if you want to use haskell-mode under XEmacs, you should +install editors/xemacs-packages instead. + +WWW: http://www.haskell.org/haskell-mode/ diff --git a/lang/haskell-mode.el/pkg-message b/lang/haskell-mode.el/pkg-message new file mode 100644 index 000000000000..9d51fd3cb213 --- /dev/null +++ b/lang/haskell-mode.el/pkg-message @@ -0,0 +1,23 @@ +To use haskell-mode in Emacs, add the following lines to your ~/.emacs: + +(setq auto-mode-alist + (append auto-mode-alist + '(("\\.[hg]s$" . haskell-mode) + ("\\.hi$" . haskell-mode) + ("\\.l[hg]s$" . literate-haskell-mode)))) +(autoload 'haskell-mode "haskell-mode" + "Major mode for editing Haskell scripts." t) +(autoload 'literate-haskell-mode "haskell-mode" + "Major mode for editing literate Haskell scripts." t) + +Add the following lines according to which modules you want to use: + +(add-hook 'haskell-mode-hook 'turn-on-haskell-font-lock) +(add-hook 'haskell-mode-hook 'turn-on-haskell-decl-scan) +(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode) +(add-hook 'haskell-mode-hook 'turn-on-haskell-indent) +;(add-hook 'haskell-mode-hook 'turn-on-haskell-simple-indent) +(add-hook 'haskell-mode-hook 'turn-on-haskell-hugs) + +Note that the two indentation modules are mutually exclusive - add at +most one.