Add support for checking PHP code, courtesy of Spencer Wood.
This commit is contained in:
		
							parent
							
								
									2d1f1fd698
								
							
						
					
					
						commit
						6269ffa0b2
					
				| @ -34,6 +34,7 @@ name. That seems to be the fairest way to arrange this table. | |||||||
| | Haskell | [ghc](https://www.haskell.org/ghc/)^ | | | Haskell | [ghc](https://www.haskell.org/ghc/)^ | | ||||||
| | JavaScript | [eslint](http://eslint.org/), [jscs](http://jscs.info/), [jshint](http://jshint.com/) | | | JavaScript | [eslint](http://eslint.org/), [jscs](http://jscs.info/), [jshint](http://jshint.com/) | | ||||||
| | JSON | [jsonlint](http://zaa.ch/jsonlint/) | | | JSON | [jsonlint](http://zaa.ch/jsonlint/) | | ||||||
|  | | PHP | [php -l](https://secure.php.net/) | | ||||||
| | Python | [flake8](http://flake8.pycqa.org/en/latest/) | | | Python | [flake8](http://flake8.pycqa.org/en/latest/) | | ||||||
| | Ruby   | [rubocop](https://github.com/bbatsov/rubocop) | | | Ruby   | [rubocop](https://github.com/bbatsov/rubocop) | | ||||||
| | SASS/SCSS | [sass-lint](https://www.npmjs.com/package/sass-lint) | | | SASS/SCSS | [sass-lint](https://www.npmjs.com/package/sass-lint) | | ||||||
|  | |||||||
							
								
								
									
										45
									
								
								ale_linters/php/php.vim
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								ale_linters/php/php.vim
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | |||||||
|  | " Author: Spencer Wood <https://github.com/scwood> | ||||||
|  | " Description: This file adds support for checking PHP with php-cli | ||||||
|  | 
 | ||||||
|  | if exists('g:loaded_ale_linters_php_php') | ||||||
|  |     finish | ||||||
|  | endif | ||||||
|  | 
 | ||||||
|  | let g:loaded_ale_linters_php_php = 1 | ||||||
|  | 
 | ||||||
|  | function! ale_linters#php#php#Handle(buffer, lines) | ||||||
|  |     " Matches patterns like the following: | ||||||
|  |     " | ||||||
|  |     " Parse error: parse error in - on line 7 | ||||||
|  |     let pattern = 'Parse error: \(.\+\) on line \(\d\+\)' | ||||||
|  |     let output = [] | ||||||
|  | 
 | ||||||
|  |     for line in a:lines | ||||||
|  |         let l:match = matchlist(line, pattern) | ||||||
|  | 
 | ||||||
|  |         if len(l:match) == 0 | ||||||
|  |             continue | ||||||
|  |         endif | ||||||
|  | 
 | ||||||
|  |         " vcol is needed to indicate that the column is a character. | ||||||
|  |         call add(output, { | ||||||
|  |         \   'bufnr': a:buffer, | ||||||
|  |         \   'lnum': l:match[2] + 0, | ||||||
|  |         \   'vcol': 0, | ||||||
|  |         \   'col': 1, | ||||||
|  |         \   'text': l:match[1], | ||||||
|  |         \   'type': 'E', | ||||||
|  |         \   'nr': -1, | ||||||
|  |         \}) | ||||||
|  |     endfor | ||||||
|  | 
 | ||||||
|  |     return output | ||||||
|  | endfunction | ||||||
|  | 
 | ||||||
|  | call ALEAddLinter('php', { | ||||||
|  | \   'name': 'php', | ||||||
|  | \   'executable': 'php', | ||||||
|  | \   'output_stream': 'stderr', | ||||||
|  | \   'command': 'php -l --', | ||||||
|  | \   'callback': 'ale_linters#php#php#Handle', | ||||||
|  | \}) | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 w0rp
						w0rp