summaryrefslogtreecommitdiffhomepage
path: root/prog/jao-cabal.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-10-12 23:39:29 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-10-12 23:39:29 +0200
commit1b0abee054235ea4ac7589dd92d3939e1386d24a (patch)
tree91d2aa7d5a810bb0032dfe1585ad8e0023c5f81e /prog/jao-cabal.el
downloadelibs-1b0abee054235ea4ac7589dd92d3939e1386d24a.tar.gz
elibs-1b0abee054235ea4ac7589dd92d3939e1386d24a.tar.bz2
Initial contents
Diffstat (limited to 'prog/jao-cabal.el')
-rw-r--r--prog/jao-cabal.el22
1 files changed, 22 insertions, 0 deletions
diff --git a/prog/jao-cabal.el b/prog/jao-cabal.el
new file mode 100644
index 0000000..699fa1b
--- /dev/null
+++ b/prog/jao-cabal.el
@@ -0,0 +1,22 @@
+(require 'jao-dominating-file)
+
+(defun jao-haskell-locate-cabal-file ()
+ (jao-locate-dominating-file ".+\\.cabal"))
+
+(eval-after-load 'haskell-mode
+ '(add-hook 'haskell-mode-hook
+ (lambda ()
+ (set (make-local-variable 'compile-command) "cabal build"))))
+
+(defun jao-haskell-cabal-build ()
+ (interactive)
+ (let ((cabal-file (jao-haskell-locate-cabal-file)))
+ (unless cabal-file
+ (error "Couldn't find associated cabal file"))
+ (let ((default-directory (file-name-directory cabal-file)))
+ (call-interactively 'compile))))
+
+;;(eval-after-load 'haskell-mode
+;; '(define-key haskell-mode-map [?\C-c ?c] 'jao-haskell-cabal-build))
+
+(provide 'jao-cabal)