Что умеет Emacs?
Emacs (с установленным haskell-mode) умеет:
- Emacs подсвечивает синтаксис;
- Emacs умеет запускать интерпретатор в отдельном буфере (С-с С-l);
- Emacs умеет работать с тегами (etags). Таблицу тегов (TAGS) можно построить при помощи hasktags. Теги позволяют релизовать кое-какой автокомплит.
Автодополнение по таблице тегов |
- Emacs умеет выдавать справку по символам (C-c C-i).
Просмотр сигнатуры символа fst |
- таблица тегов перестраивается при помощи правила в Makefile'
- для удобного использования hlint написана функция:
tags::
hasktags -e `find . -type f -name "*.hs"`
(defun hlint-recursive ()
"Run hlint."
(interactive)
(let* ((file (buffer-file-name (current-buffer)))
(command (concat "~/Library/Haskell/bin/hlint $(find . -name \"*.hs\")")))
(save-some-buffers (not compilation-ask-about-save) nil) ; save files.
(compile-internal command "No more errors or warnings" "hlint-recursive"
nil hlint-regexp-alist)))
hlint-recursive бегает по файлам проекта и ищет известные ей баги. Результат выдается в отдельном буфере с возможностью прыгнуть прямо к строчке с багом.
hlint-recursive бегает по файлам проекта и ищет известные ей баги. Результат выдается в отдельном буфере с возможностью прыгнуть прямо к строчке с багом.
А если не Emacs?
EclipseFP - поддержка Haskell в Eclipse. Проект довольно большой, у меня установился, но работать отказался.
Есть также IDE, написанная на Haskell. Называется Leksah. По-моему, для разработки применять Leksah нельзя. В Leksah есть навигация по символам, так что программу можно использовать, если нужно разбораться в чужом проекте. Общий вердикт - очень сырая и весьма неудобная.
Комментариев нет:
Отправить комментарий