Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

vim: call function on save

I am using ghc-mod in vim and would like GhcModCheck (:GhcModCheck) to be called every time I save a file (:w). Could you please tell me how I can achieve that? I guess there's a more general question: how can I invoke a function on save?

Thank you!

like image 418
denys.fridman Avatar asked Jul 27 '17 09:07

denys.fridman


2 Answers

You can hook into the BufWritePost event. Globally (i.e. for every file):

:autocmd BufWritePost * GhcModCheck

To do this only for Haskell files, you could modify the file pattern:

:autocmd BufWritePost *.hs GhcModCheck

But it's better to leverage Vim's built-in filetype detection and instead put this into ~/.vim/ftplugin/haskell_OnSave.vim:

:autocmd! BufWritePost <buffer> GhcModCheck
like image 199
Ingo Karkat Avatar answered Nov 14 '22 10:11

Ingo Karkat


There are Customization tips for ghcmod-vim

One of them is

autocmd BufWritePost *.hs GhcModCheckAndLintAsync

Which is also the answer for the generic question about executing a specific command on save.

like image 34
Igor Drozdov Avatar answered Nov 14 '22 10:11

Igor Drozdov