Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HHVM - How to use hh_client properly

Tags:

hhvm

hacklang

So I was excited to jump into some Hacklang and HHVM, and after finally managing to get it running on a CentOS 6 VM (tip: servergrove.com have a RPM from a repo of theirs, but it still needed MySQL 5.0 shared libraries to work - still the closest I could find to an easy CentOS 6 install though...), I thought I would tackle a reasonably small PHP project of mine as a good test case for converting to strict Hack code.

I'm getting through the code alright, but I don't think I fully understand how hh_client is supposed to work. I created a .hhconfig file in the root of my project, and then ran hh_client start from the directory, and it seems to start ok - I see three hh_server -d /var/www/html/groundwork processes running after doing this. However every time I want to type check my code, I have to run a hh_client check, where as the language being used in the docs and other sources keeps suggesting this is supposed to be a real time checker that automatically feeds back - I could run a watch hh_client check I guess, but it seems like I'm missing something.

I made sure to get a copy of the hhi files as suggested by Common php functions in hack

Also, sometimes when I start hh_client it reports stuff that a check straight afterwards won't, despite not changing anything in code. The check is often fewer in errors. Stopping and starting hh_client reports more again.

Thanks.

like image 772
ndavison Avatar asked May 09 '14 11:05

ndavison


1 Answers

The editor bindings are probably what you want.

  • Vim https://github.com/hhvm/vim-hack
  • emacs https://github.com/facebook/hhvm/blob/master/hphp/hack/editor-plugins/emacs/hack-for-hiphop.el
like image 52
Paul Tarjan Avatar answered Sep 27 '22 20:09

Paul Tarjan