[ANN] sarsi 0.0.2.0 - A universal quickfix toolkit and his protocol (nvim/vim)

Hello Café, Here is a new tool which should basically improve the "quick fixing" experience in Haskell with vim/neovim. The aim is not to replace any of the great features provided by integrating the type checker in the editor, but to complement them with a different approach. I explain the motivation there: http://aloiscochard.blogspot.ch/2016/04/quickfix-all-things-with-sarsi.html If you feel like this might be a tool for you, you can jump straight to the README to find the install and usage instructions: https://github.com/aloiscochard/sarsi I did test it extensively with stack, let me know if you have issues using an other tool (I do only pipe stderr which is fine for stack, I suspect this might not be the case for others). Thanks -- *Λ\ois* http://twitter.com/aloiscochard http://github.com/aloiscochard

On Sat, Apr 16, 2016 at 02:23:57PM +0200, Alois Cochard wrote:
Here is a new tool which should basically improve the "quick fixing" experience in Haskell with vim/neovim.
Excuse my ignorance, but what is "quick fixing", exactly?

It's a concept you'll find in vi/vim which it seems was borrowed from the Manx's Aztec C compiler on the Amiga. A "quickfix" is basically an item (error or warning) returned by the compiler/build tool and correspond to a special mode, in editor supporting it, which allows to jump quickly from one error to the other. You can find more information about this in the vim documentation: http://vimdoc.sourceforge.net/htmldoc/quickfix.html Hope that clarify On 16 April 2016 at 14:28, Tom Ellis < tom-lists-haskell-cafe-2013@jaguarpaw.co.uk> wrote:
On Sat, Apr 16, 2016 at 02:23:57PM +0200, Alois Cochard wrote:
Here is a new tool which should basically improve the "quick fixing" experience in Haskell with vim/neovim.
Excuse my ignorance, but what is "quick fixing", exactly? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
-- *Λ\ois* http://twitter.com/aloiscochard http://github.com/aloiscochard

Hi Alois, I think that I know vim and the Haskell development environment quite well, but have a hard time to get what sarsi really is. It seems to be something about running a compiler (continuously?) and saving the error messages per file? In the documentation a motivation might be missing like e.g. what it does beyond - or better than - the vim integrations of ghc-mod oder hdevtools? Greetings, Daniel

Hi Daniel,
I thought that the motivation part in the blog post would answer that,
seems like it's not enough.
http://aloiscochard.blogspot.ch/2016/04/quickfix-all-things-with-sarsi.html
You see, when you use ghc-mod or other similar integration of the like, it
usually type check the code in your active project, but such tools doesn't
have a complete vision of your project (like source dependencies as
mentioned in the blog post). Due to that, the error reported in ghc-mod/...
might be different (and sometime not so useful) than the one returned by
the build tool. I mean I always want to fix the first error reported by my
build tool, not an other one in the file I'm viewing, etc ...
The motivation was to be able to populate the quickfix list using the
output of the build tool (which is usually run continuously on file change,
there is an example using `entr` in the README), as an alternative to using
mainly the type checker. I see both as useful, but in different context.
If you never felt frustrated with your current setup, you probably won't
see much benefit in this approach, but personally, I am much more
productive using the one *sarsi* offer.
Cheers
On 16 April 2016 at 15:49, Daniel Trstenjak
Hi Alois,
I think that I know vim and the Haskell development environment quite well, but have a hard time to get what sarsi really is.
It seems to be something about running a compiler (continuously?) and saving the error messages per file?
In the documentation a motivation might be missing like e.g. what it does beyond - or better than - the vim integrations of ghc-mod oder hdevtools?
Greetings, Daniel _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
-- *Λ\ois* http://twitter.com/aloiscochard http://github.com/aloiscochard

For those for who are yet not clear on what the hell this tool is doing,
here is a screencast showing a one minute fixing session using stack:
https://media.giphy.com/media/3o6ozkwoL7wHOjer9C/giphy.gif
On 16 April 2016 at 17:57, Alois Cochard
Hi Daniel,
I thought that the motivation part in the blog post would answer that, seems like it's not enough. http://aloiscochard.blogspot.ch/2016/04/quickfix-all-things-with-sarsi.html
You see, when you use ghc-mod or other similar integration of the like, it usually type check the code in your active project, but such tools doesn't have a complete vision of your project (like source dependencies as mentioned in the blog post). Due to that, the error reported in ghc-mod/... might be different (and sometime not so useful) than the one returned by the build tool. I mean I always want to fix the first error reported by my build tool, not an other one in the file I'm viewing, etc ...
The motivation was to be able to populate the quickfix list using the output of the build tool (which is usually run continuously on file change, there is an example using `entr` in the README), as an alternative to using mainly the type checker. I see both as useful, but in different context.
If you never felt frustrated with your current setup, you probably won't see much benefit in this approach, but personally, I am much more productive using the one *sarsi* offer.
Cheers
On 16 April 2016 at 15:49, Daniel Trstenjak
wrote: Hi Alois,
I think that I know vim and the Haskell development environment quite well, but have a hard time to get what sarsi really is.
It seems to be something about running a compiler (continuously?) and saving the error messages per file?
In the documentation a motivation might be missing like e.g. what it does beyond - or better than - the vim integrations of ghc-mod oder hdevtools?
Greetings, Daniel _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
-- *Λ\ois* http://twitter.com/aloiscochard http://github.com/aloiscochard
-- *Λ\ois* http://twitter.com/aloiscochard http://github.com/aloiscochard
participants (3)
-
Alois Cochard
-
Daniel Trstenjak
-
Tom Ellis