summaryrefslogtreecommitdiff
path: root/ale_linters/php
AgeCommit message (Collapse)Author
2017-09-30Added g:ale_php_phpstan_configuration optionRuslan Osmanov
2017-08-21Fix #864 - Use the user's configured executable for phpstan for executable() ↵w0rp
checks
2017-08-08Ban use of ==# or ==? in the codebase, and prefer is# or is? insteadw0rp
2017-08-07Document the PHP langserver integrationw0rp
2017-08-02Cover the PHP language server functions with Vader testsw0rp
2017-08-02#517 Enable the PHP language serverw0rp
2017-07-30Fix some bugs so the PHP language server will show errors at least oncew0rp
2017-07-26#517 Add more code LSP support which makes the tssserver linter behave more ↵w0rp
like the LSP linters
2017-07-16Added phpstan linter for php. (#772)Ardis
* Added phpstan linter for php.
2017-06-21Support project's local phpcs installation (#666)Eric Stern
* Use locally-installed PHPCS if available * Add author * Add configuration options * Escape executable * Add tests
2017-05-17Add end columns on php linter #538Adriaan Zonnenberg
2017-05-08Read errors from stdout only (and make sure they are displayed)Pawel Bogut
2017-04-18Add a function for getting matches, and use it to simplify a lot of codew0rp
2017-04-16#427 Implement buffer variable overrides for all linter optionsw0rp
2017-04-15Fix #257 in preparation for #427, standardise options with fallbacks, and ↵w0rp
make it so every value can be computed dynamically
2017-04-12PHP: Fix double errors and support fatal errorsAdriaan Zonnenberg
2017-03-30Remove 'col' from linters where it is hardcoded to 1 (#434)Adriaan Zonnenberg
* Remove 'col' from linters where it is hardcoded to 1 When 'col' is 1, the first column will get highlighted for no reason. It should be 0 (which is the default). In the scalac linter there was also a check about the outcome of `stridx`. It would set l:col to 0 if it was -1, and then it uses `'col': l:col + 1` to convert the outcome of `stridx` to the actual column number. This will make 'col' equals 1 when there is no match. We can remove the check because `-1 + 1 = 0`. * Remove outdated comments about vcol vcol was added as a default, and the loclists that follow these comments do not contain 'vcol' anymore
2017-03-01Fix PHP column matching for unexpected single quotes (#370)Adriaan Zonnenberg
* PHP: Fix column matching for unexpected single quotes Unexpected single quotes resulted in an empty match, because PHP surrounds the errors with quotes, and we check for the next quote to be the ending delimiter. For example: an unexpected string 'foo' would be presented as `unexpected ''foo''`, and then the match would be `''`. The inner part of that match is an empty string. This adds a check for the keyword "expecting". Any quote after "expecting" won't be matched, so we can use greedy matching instead of non-greedy. * PHP: Use "very magic" The pattern started to get unreadable Also replaced non-greedy matching (`\{-}`) by greedy matching, because we don't need to match non-greedily anymore and it reads a little nicer. * PHP: Add tests for column matches And with that, also a test for unexpected single quotes.
2017-02-26Copy all loclist items returned from handlers, and set up defaults for ↵w0rp
convenience
2017-02-18PHP: Make parser work with more error messagesAdriaan Zonnenberg
2017-02-15Support columns on php handlerAdriaan Zonnenberg
Also added some tests for different error messages
2017-02-11Replace every stdin-wrapper script with the new %t formatting supportw0rp
2017-02-01Linter addition of PHP Mess Detectormedains
2017-01-22Add a script for custom checks to enforce using the abort flag for functions ↵w0rp
and trailing whitespace, and fix existing issues.
2017-01-04Added hack linter for php (#239)Zefei Xuan
* added hack linter * updated docs for hack (hh_client) * naming
2016-12-28Fix PHP lint generic error without line numberstill-dreaming-1
This makes php output more specific error messages. The format is the normal one ALE expects, but on some systems ALE does not work with PHP unless the display_errors=1 option is used. Without that option php will only output a generic message without a line number like "Errors parsing index.php"
2016-10-21Add support for dot-seperate linters, improve linter testsBjorn Neergaard
This PR first and formost implements support for dot-seperate filetypes, a very trivial change. This closes #132 But more importantly, this PR vastly improves the test quality for `ale#linter#Get`. It enables us to reset the state of ale's internal linter cache, to facilitate better testing, as well as making use of mocked linters instead of depending on linters on disk (which may change). In addition, a dummy linter is defined to test the autoloading behavior. Header guards were removed from all linters as: * A: ale won't try and load linters if they already exist in memory * B: we can't reset state for testing if they can't be loaded again
2016-10-11Remove many redundant handlersBjorn Neergaard
2016-10-11Use explicit scope in all ale_lintersBjorn Neergaard
vint -s is now clean
2016-10-10First pass at optimizing ale to autoload (#80)Bjorn Neergaard
* First pass at optimizing ale to autoload First off, the structure/function names should be revised a bit, but I will wait for @w0rp's input before unifying the naming style. Second off, the docs probably need some more work, I just did some simple find-and-replace work. With that said, this pull brings major performance gains for ale. On my slowest system, fully loading ale and all its code takes around 150ms. I have moved all of ale's autoload-able code to autoload/, and in addition, implemented lazy-loading of linters. This brings load time on that same system down to 5ms. The only downside of lazy loading is that `g:ale_linters` cannot be changed at runtime; however, it also speeds up performance at runtime by simplfying the logic greatly. Please let me know what you think! Closes #59 * Address Travis/Vint errors For some reason, ale isn't running vint for me... * Incorporate feedback, make fixes Lazy-loading logic is much improved. * Add header comments; remove incorrect workaround * Remove unneeded plugin guards * Fix lazy-loading linter logic Set the wrong variable.... * Fix capitialization
2016-10-10Minor fixes:Kabbaj Amine
* Ensure that php linter pattern does not include spaces: PHP can return errors with extra spaces like the following: `PHP Parse error: syntax error, unexpected end of file in t.php on line 4` * Set option locally to buffer * Rename noErrors variable according to the project's naming convention * Make the jsonlint pattern a little better
2016-10-07Support reading from both output streams, and fix PHP error parsing, which ↵w0rp
sometimes logs to stderr, sometimes stdout.
2016-10-07updating config option format and adding to docjwilliams108
2016-10-06adding phpcs linterjwilliams108
2016-10-04Add support for checking PHP code, courtesy of Spencer Wood.w0rp