[Haskell-cafe] UPDATE: haskellmode for Vim now at
projects.haskell.org (+screencast; -)
Magnus Therning
magnus at therning.org
Tue Apr 21 08:32:20 EDT 2009
I've finally found the time to take another look at your haskell mode
for vim. Two questions so far:
1. I think earlier my indentation mode would match indentation of the
previous line by default, after installing your scripts I always end
up in column 1 after pressing return. Is there some variable I can
set to get back the old behaviour?
2. My browser doesn't urldecode its command line arguments, so
locations like "file:///usr/share/doc/ghc6-doc/libraries/base/Prelude.html%23v%253AfromIntegral"
don't work. I have to manually fix it up in the location bar. Do you
have any tip for dealing with that?
/M
On Tue, Apr 7, 2009 at 10:23 AM, Claus Reinke <claus.reinke at talk21.com> wrote:
> I have become aware that many Haskellers are not aware of the
> Haskell mode plugins for Vim, in spite of the >100 downloads
> per month I saw when I last checked. Since the plugins have just
> completed their move to their new home at
>
> http://projects.haskell.org/haskellmode-vim/
>
> this seems to be a good opportunity to mention them again (now
> with 100% more screencasts!-). They do much (though certainly
> not all) of the stuff people often wish for here, such as showing or adding
> types, looking up source where available locally or looking up documentation
> where source isn't available. Mostly, they collect
> my attempts to automate tasks when I have to do them often enough.
>
> Here is a section of the quick reference (:help haskellmode-quickref):
>
> |:make| load into GHCi, show errors (|quickfix| |:copen|)
> |_ct| create |tags| file |_si| show info
> for id under cursor
> |_t| show type for id under cursor
> |_T| insert type declaration for id under cursor
> |balloon| show type for id under mouse pointer
> |_?| browse Haddock entry for id under cursor
> |:IDoc| {identifier} browse Haddock entry for unqualified {identifier}
> |:MDoc| {module} browse Haddock entry for {module}
> |:FlagReference| {s} browse Users Guide Flag Reference for section {s}
> |_.| qualify unqualified id under cursor
> |_i| add 'import <module>(<identifier>)' for id under
> cursor
> |_im| add 'import <module>' for id under cursor
> |_iq| add 'import qualified <module>(<identifier>)' for id
> under cursor
> |_iqm| add 'import qualified <module>' for id under cursor
> |_ie| make imports explit for import statement under
> cursor
> |_opt| add OPTIONS_GHC pragma
> |_lang| add LANGUAGE pragma
> |i_CTRL-X_CTRL-O| insert-mode completion based on imported ids
> (|haskellmode-XO|)
> |i_CTRL-X_CTRL-U| insert-mode completion based on documented ids
> (|haskellmode-XU|)
> |i_CTRL-N| insert-mode completion based on imported sources
> |:GHCi|{command/expr} run GHCi command/expr in current module
>
> For those who have never used these plugins, or haven't used Vim
> at all, it has often been difficult to imagine what editing in Vim can
> be like. The old quick tour of features available has now been updated
> from screenshots to screencasts (my first venture into this area - please
> let me know whether that is useful or a waste of time!-), so you can watch
> them on Youtube before deciding to invest time into learning Vim.
>
> For those who are using Vim, the only reason not to use my haskellmode
> plugins would be if you had your own (not uncommon
> among Vim users;-), in which case I hope you make yours available as well
> (feel free to adopt features from my plugins, and let me know
> if you have some useful features to contribute), here:
>
> http://www.haskell.org/haskellwiki/Libraries_and_tools/Program_development#Vim
>
> For those who have happily been using these plugins: in the process
> of moving the site, I noticed that I hadn't updated the published
> version for a quite some time - apparently, noone had missed the fixes, but
> in case you want to check, the relevant section of my update
> log is appended below.
>
> Happy Vimming!-)
> Claus
>
> ------------- updates since last published version on old site
> 04/04/2009
> haskell_doc.vim: when narrowing choices by qualifier for _?, take
> lookup index from un-narrowed list (else we could
> end up in the docs for the wrong module)
>
> 02/04/2009
> ghc.vim: actually, we can try to make a reasonable guess at the parent
> type for constructors in _ie, from their type signature
>
> 01/04/2009
> ghc.vim: try a bit harder to escape " and ' in :GHCi
> eliminate duplicates in _ie and mark data constructor imports
> as ???(Cons) - we can't reliably figure out the parent type
> for the constructor:-(
> handle Prelude as special case in _ie (can't just comment out
> import, need to import [qualified] Prelude [as X]() )
>
> haskell_doc.vim: fix keys (no namespace tags) and urls (modules) for :MDoc
>
> 31/03/2009
> all files: new home page at projects.haskell.org
>
> 28/03/2009
> haskell_doc.vim: in ProcessHaddockIndexes2, fix a case where making new
> entries
> could lose old ones (eg, zipWith's base package locations
> got
> lost when adding its vector package locations)
> 07/12/2008
> haskell_doc.vim: since we're now reading from multiple haddock indices in
> DocIndex, we need to extend, not overwrite entries..
>
> 03/12/2008
> ghc.vim: do not reset b:ghc_static_options on every reload
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
--
Magnus Therning (OpenPGP: 0xAB4DFBA4)
magnus@therning.org Jabber: magnus@therning.org
http://therning.org/magnus identi.ca|twitter: magthe
More information about the Haskell-Cafe
mailing list