Edgar, for tags I use ctags (exuberant) with the following tag file:

--langdef=haskell
--langmap=haskell:.hs
--regex-haskell=/^module[ \s]([a-zA-Z0-9]*)[ \s]where/\1/m,module/
--regex-haskell=/^import[ \s](.*)/\1/i,import/
--regex-haskell=/^class[ \s](.*)where/\1/t,typeclasses/
--regex-haskell=/^instance[ \s](.*)where/\1/c,classes/
--regex-haskell=/^data[ \s]([a-zA-Z0-9]*)[ \s]/\1/d,data/
--regex-haskell=/^([ \sa-zA-Z0-9]*)[ \s]::[ \s](.*)$/\1/f,functions/

And then using tagbar I customize my .vimrc with:

" TagBar
nmap <Leader>tb :TagbarOpenAutoClose<CR>

let g:tagbar_type_haskell = {
    \ 'ctagstype' : 'Haskell',
    \ 'kinds' : [
        \ 'm:module',
        \ 'i:import',
        \ 'd:data',
        \ 't:typeclasses',
        \ 'c:instances',
        \ 'f:functions',
    \ ]
\ }
  
It could probably be improved but it works well enough to jump around to symbols.


On Sat, Nov 23, 2013 at 3:09 AM, Edgar Klerks <edgar.klerks@gmail.com> wrote:
If you use conque, you can run a GHCI session in vim: http://code.google.com/p/conque/ That works pretty well.

Neocomplcache +ghcmod + neco-ghc delivers good support for auto-completion.

Syntastic will annotate errors in your source file.

Gundo for reverting and viewing local changes, vim stores internally a tree with changes. With some configuration it can remember changes for days. The only drawback is that you can always hit u, because your last weeks changes are still remembered. 

For searching in files, I use ack.vim.

And for moving to files, I use ctrl-p, which let you open files with little typing.

You should also look into sessions (a vim feature). With this you can save your current development environment and start from there.

Bundle 'neocomplcache'
Bundle 'surround.vim'
Bundle 'eagletmt/neco-ghc'
Bundle "eagletmt/ghcmod-vim"
Bundle 'ctrlp.vim'
Bundle 'ack.vim'
Bundle 'Gundo'
Bundle 'scrooloose/syntastic'
Bundle "Shougo/vimproc"

There are a lot of different plugins  I use, but these have proven themselves useful, also for general development.


I miss a program for creating tagfiles for haskell. This would be handy, because you can jump quickly to definition file with this.

Greets,

Edgar


On Fri, Nov 8, 2013 at 8:44 PM, Corentin Dupont <corentin.dupont@gmail.com> wrote:
Hi cafe,
I would like to know which IDE are you using?
I use Leksah, I like the GUI design and constant compilation process.
However, the development seems to be slowing down: last version date from early 2012. The installation process is very painful.

There is FPComplete IDE coming up, but it's commercial.
I'm experimenting with it, anyway: how to compile using cabal files? It doesn't seem to recognize them. Will there be an off-line version?

I'm interested to know if you are using vim to develop: which extension are you using? I'm interested in continuous compilation, project files browsing, code completion, search-in-files.

Best,
Corentin



_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe




--
Schell Scivally
http://blog.efnx.com
http://github.com/schell
http://twitter.com/schellsan