Split Hack out from PHP, modernize

fixes #1738

- Replace previous `hh_client` usage with LSP client
- Add `HHAST` linter
- Split Hack from PHP: Hack is increasingly diverging from PHP:
  - Hack tools do not understand PHP
  - Most PHP tools do not handle Hack code well (including vim's syntax
    highightling files)
  - http://github.com/hhvm/vim-hack now sets filetype to `hack`
This commit is contained in:
Fred Emmott
2018-07-27 13:50:59 -07:00
parent 5f024eda09
commit 238201805d
10 changed files with 126 additions and 61 deletions

View File

@@ -1,10 +1,10 @@
Before:
Save g:ale_php_hackfmt_executable
Save g:ale_php_hackfmt_options
Save g:ale_hack_hackfmt_executable
Save g:ale_hack_hackfmt_options
" Use an invalid global executable, so we don't match it.
let g:ale_php_hackfmt_executable = 'xxxinvalid'
let g:ale_php_hackfmt_options = ''
let g:ale_hack_hackfmt_executable = 'xxxinvalid'
let g:ale_hack_hackfmt_options = ''
call ale#test#SetDirectory('/testplugin/test/fixers')
@@ -14,7 +14,7 @@ After:
call ale#test#RestoreDirectory()
Execute(The hackfmt callback should return the correct default values):
call ale#test#SetFilename('../hack_files/testfile.php')
call ale#test#SetFilename('../hack_files/testfile.hack')
AssertEqual
\ {
@@ -25,8 +25,8 @@ Execute(The hackfmt callback should return the correct default values):
\ ale#fixers#hackfmt#Fix(bufnr(''))
Execute(The hackfmt callback should include custom hackfmt options):
let g:ale_php_hackfmt_options = "--some-option"
call ale#test#SetFilename('../hack_files/testfile.php')
let g:ale_hack_hackfmt_options = "--some-option"
call ale#test#SetFilename('../hack_files/testfile.hack')
AssertEqual
\ {

View File

@@ -0,0 +1,4 @@
<?hh // strict
async function foo(): Awaitable<void> {
}