Commit Graph

640 Commits

Author SHA1 Message Date
w0rp 5731616cd2 Get the mcsc handler tests to pass on Windows 2017-10-01 17:36:47 +01:00
Ruslan Osmanov a640d3b022 Added g:ale_php_phpstan_configuration option 2017-09-30 23:36:10 +07:00
w0rp c989ef0fc6 Fix an issue with the check-supported-tools-tables script 2017-09-28 13:32:02 +01:00
w0rp 9fc01bd246 Merge pull request #952 from hernot/master
Add mcsc for checking C# code.
2017-09-28 13:29:55 +01:00
Xristoph Hintermüller 8f6044b8b6 Implemented review recommendations
Implements suggestions and recommendations suggested by the first review
of the "Advance C# linter based on mcs -t:module (#952)" pull request.

- Clarifies and simplifies description of linters and options
- Added links to help file and marked the mcsc linter as to be run only
  when file in buffer is saved or loaded.
- Added comments to the mcsc.vim file to clarify code
- removed type checks considered not necessary be reviewer.
- addresses findings by vader
- removed call to getcwd and cd in vim script
- handler expands file names relative to route of source tree into
  absolute pathes. Fixes errors not being marked when vim is started
  from subdirectory of source tree.
- implements tests for mcs.vim and mcsc.vim linter
2017-09-27 13:21:05 +02:00
Ray Zane cb56cbb714 There seems to be a bug in eslint that causes the `--config` option to
not detect node_modules correctly. The `-c` option, however, works fine.
2017-09-24 13:57:18 -04:00
Tim Byrne 3910b025b2
Move dialect setting before user options (shellcheck) 2017-09-22 17:04:00 -05:00
Markus Doits 5a1ebdb633
fix typo `RUBUCOP` --> `RUBOCOP` for slim lint
this actually makes 6ebd8f355c work
2017-09-18 12:29:20 +02:00
Markus Doits 6ebd8f355c
slimlint: Search for .rubocop.yml and use it
This fixes slim-lint not honoring a `.rubocop.yml` in the file's or
parent directory. Due to the way slim-lint calls rubocop, it requires
the special `SLIM_LINT_RUBUCOP_CONF` env var to pick up the
`.rubocop.yml` if it is not run on the real file (which is the case
here).

See https://github.com/sds/slim-lint/blob/master/lib/slim_lint/linter/README.md#rubocop
2017-09-15 18:56:59 +02:00
w0rp a59d1ddbf3 Make temporary file detection work on just about all platforms 2017-09-14 00:11:17 +01:00
w0rp 71c2e65d64 Fix a mistake in the flow tests 2017-09-14 00:10:47 +01:00
w0rp 52c933cd72 Report problems in other files for brakeman, and get the tests to pass on Windows 2017-09-13 23:33:13 +01:00
w0rp 3d2bddf4af Get some more random tests to pass on Windows 2017-09-13 23:30:39 +01:00
w0rp 91df9ba2c0 Fix #924 - Make changing the sign column color work again 2017-09-12 21:17:54 +01:00
w0rp e2271b769c Ban getcwd() from the codebase, as it causes problems 2017-09-12 09:36:16 +01:00
w0rp 661ed6e40b Fix #923 Use package.json as a last resort for eslint --fix 2017-09-12 09:10:37 +01:00
w0rp a7614d9502 Get more tests to pass on Windows 2017-09-11 22:25:15 +01:00
w0rp 8eb99c3cec Fix #922 - Prefer nearer ESLint configuration files with lower precedence filenames for eslint --fix 2017-09-11 21:53:45 +01:00
w0rp b6a487ccf9 Fix some random test issues for Windows 2017-09-11 00:47:27 +01:00
w0rp cb8a140141 Require function! to be used instead of function 2017-09-11 00:47:10 +01:00
w0rp 65e6e50bf8 Explain the table of contents script better, and simplify it a bit 2017-09-10 19:52:01 +01:00
w0rp 9d24cc4047 Fix numerous issues with integration documentation tags and the table of contents, and add a script to check for theses issues 2017-09-10 19:42:45 +01:00
w0rp c4ad92e458 Move scripts for tests into the test directory, and do not export the Batch script for running tests 2017-09-10 13:19:08 +01:00
Clément DOUIN 18a7d32c4c Elm local install support (#915)
* Add Elm support for npm local installation
2017-09-10 12:58:42 +01:00
w0rp c11d2ae375 Fix an SML variable init bug, and get the SML cm file tests to pass on Windows 2017-09-10 00:20:05 +01:00
w0rp 1a52a2b880 Get the TSLint handler tests to pass on Windows 2017-09-10 00:06:31 +01:00
w0rp 18f4d5a6da Simplify some Rust handler code, and get the Rust handler tests passing on Windows 2017-09-10 00:06:31 +01:00
Clément DOUIN f3da8f45c1 Add elm-format as a new fixer (#916)
* Add elm-format as a new fixer
2017-09-09 21:30:20 +01:00
w0rp b3a9a0e3e8 Fix some path issues, and get lsp dir tests passing on Windows 2017-09-09 18:39:56 +01:00
w0rp 8055a03067 execute the `set encoding` test setting to get Vint to shut up 2017-09-09 18:22:59 +01:00
w0rp f238e15f10 Fix more random Windows test issues 2017-09-09 18:03:34 +01:00
w0rp 574cb11594 #917 Cover the old _args option for flake8 with a test, just in case 2017-09-09 13:28:46 +01:00
w0rp a33b3f189d Switch the AppVeyor clone directory to C:\testplugin 2017-09-08 21:54:43 +01:00
w0rp 26195efa0b Get some more random tests to work on Windows 2017-09-08 21:51:49 +01:00
w0rp 1c5253b928 Fix the smoke_test.vader file on Windows 2017-09-08 21:38:51 +01:00
w0rp 89cc8ca314 Fix #912 - Close lists automatically when g:ale_open_list is set to 'on_save' again 2017-09-08 20:10:11 +01:00
Sven-Hendrik Haase ff28836616 Add GLSL linter using glslang (#914)
* Add a glslang linter for GLSL
2017-09-08 11:06:47 +01:00
BlahGeek 73d031d7ea Add cuda nvcc linter (#874)
* add cuda nvcc linter
2017-09-07 19:23:58 +01:00
w0rp fbc846b4ba Try and get AppVeyor to run a single test 2017-09-06 23:28:39 +01:00
Peter Renström 03f1c1e81b Add 'prettier' fixer support to TypeScript, CSS, SCSS and JSON (#910)
* Add prettier fixer support for typescript

* Add prettier fixer support for css and scss

* Add prettier fixer support for json

* Use getbufvar() to get &filetype
2017-09-06 15:21:26 +01:00
w0rp c277cdef8c Add an option for ignoring the output of TSLint if a file contains a single blank line 2017-09-06 11:17:21 +01:00
w0rp e53debe000 Fix #907 - Stop LSP integration breaking with empty string keys in NeoVim 2017-09-04 00:15:13 +01:00
w0rp 1ea5400e8d Test lintr options configuration 2017-09-03 23:29:12 +01:00
w0rp 6833e01f23 #894 - Replace ugly temporary filenames for Haskell problems with the buffer's basename 2017-09-03 21:53:48 +01:00
Jake Zimmerman 63e8946fc8 Detect and use CM files for smlnj (#884)
* Detect and use CM files for smlnj

* Split into two checkers

- one for CM projects
- one for single SML files

* Fix some typos

* Fix error caught by writing tests

We want to actually use `glob` to search in paths upwards from us.
(Previously we were just searching in the current directory every time!)

* Fix errors from former test run

* Write tests for GetCmFile and GetExecutableSmlnj

* Typo in 'smlnj/' fixture filenames
2017-09-03 19:56:14 +01:00
w0rp c7fbcb3c02 Fix #899 - Make the quickfix and loclist windows close again 2017-09-03 19:44:00 +01:00
w0rp d482b8e3b7 Fix #891 - Do not check ctrlp-funky windows 2017-09-03 18:24:43 +01:00
w0rp f9b43a566c #505 - Do not lint files on enter if the option for linting when the filetype changed is on 2017-09-02 16:57:01 +01:00
w0rp 52eff3bd83 Log commands that are run for ALEFix for ALEInfo 2017-08-31 16:46:40 +01:00
w0rp 7c2a5052a8 Fix #895 - Run Node.js scripts with node.exe instead of node on Windows 2017-08-31 13:12:24 +01:00
w0rp f36f38c960 Cover the prettier-eslint changes with tests, and fix some problems 2017-08-30 22:49:46 +01:00
w0rp 9958a8d32e Add tests for the c version of clang-tidy 2017-08-30 22:11:04 +01:00
w0rp 0cdb653c9c Cover the tslint rules option with a test 2017-08-30 21:27:28 +01:00
Jon Parise f4c5d29c64 Add a linter for Apache Thrift IDL files
This linter works by invoking the `thrift` compiler with the buffer
contents and reporting any parser and code generation issues.

The handler rolls its own output-matching loop because we have the
(unfortunate) requirement of handling error output that spans multiple
lines.

Unit tests cover both the command callback and handler, and there is
initial documentation for all of the option variables.
2017-08-30 11:08:06 -07:00
aliou b36882e72e Add support for prettier configuration file. (#886)
* Add support for prettier configuration file.

As of version 1.6.0, prettier allows passing a `--config` argument with
a path to a configuration file.

* Add test prettier configuration file.

* Add option to use local prettier configuration.

* Add description for new prettier option.

* Also check if the config is present before using it.
2017-08-29 16:05:19 +01:00
w0rp b031531e79 #869 - Detect the shell dialect from the hashbang for shellcheck 2017-08-28 19:16:23 +01:00
w0rp 908e94622e #868 - Prefer cmd.js files for executing standard 2017-08-26 18:11:27 +01:00
w0rp b9cf450684 Set the end column for some Vint problems 2017-08-26 17:23:20 +01:00
w0rp e13651c16d Fix #825 - Downgrade signs when problems change 2017-08-26 16:38:27 +01:00
w0rp cdd1ddffdb Fix #876 - Save history in a separate buffer variable so history works when linting is disabled 2017-08-25 22:22:26 +01:00
Michael 8f8d015dae Add pycodestyle Python linter support (#872)
Add a pycodestyle linter
2017-08-25 12:46:56 +01:00
Peter Renström 4bea50b82f Add clang-format fixer for C/C++ (#873)
* Add clang-format fixer for C/C++

* Document clang-format options

* Refer ale-cpp-clangformat to ale-c-clangformat
2017-08-24 22:49:43 +01:00
w0rp 623fdf212c Include executable checks in ALEInfo 2017-08-23 21:41:29 +01:00
w0rp 0507503aa7 #653 Set loclists better when taking data from previous buffers 2017-08-22 22:45:55 +01:00
w0rp 80c7fbcefe Remove some redundant eslint test code 2017-08-22 21:40:00 +01:00
Eric Stern 2f19cf874b Suppress warning about .eslintignore'd file (#836)
* Suppress warning about .eslintignore'd file

* Fix slightly ironic lint error

* Lock error suppression behind a variable; add docs and tests
2017-08-22 21:35:09 +01:00
w0rp 1a524ca63e #653 - Always set loclist or quickfix in a timer callback, which prevents errors E924, E925, and E926 2017-08-22 21:19:36 +01:00
w0rp a3299bf03a Fix #864 - Use the user's configured executable for phpstan for executable() checks 2017-08-21 18:42:18 +01:00
w0rp cc02eb8a5a #653 Show errors from other files for mypy 2017-08-20 17:43:42 +01:00
w0rp 456378cb53 #653 - Jump to the position which Vim does not jump to for moving from quickfix/loclist items to other buffers 2017-08-20 15:59:27 +01:00
w0rp 47e681529b Merge pull request #862 from notomo/add-phpcbf-fixer
add phpcbf fixer
2017-08-20 13:42:03 +01:00
w0rp 753cf5da95 #653 - Automatically accept annoying loclist and quickfix errors from Vim 2017-08-20 13:27:18 +01:00
tmn-o3 5a9a365aed add phpcbf fixer 2017-08-20 05:47:21 +00:00
w0rp 7112776d1b #653 Update tslint to set the filename key for problems in other files 2017-08-20 00:05:15 +01:00
w0rp fb0adc602e #653 Treat temporary filenames as being for the current buffer 2017-08-19 21:18:27 +01:00
w0rp 9d6883561c #653 Set problems from other buffers when buffers are first checked 2017-08-19 20:15:46 +01:00
Dmitri Vereshchagin b2d3764a18 Syntaxerl linter feature check (#861)
* Add feature check for SyntaxErl linter

* Escape SyntaxErl executable path in commands
2017-08-19 18:54:23 +01:00
w0rp 20e64fbae0 #860 Only enable the new option for setting the original filename for SyntaxErl if an option is on in ALE 2017-08-19 15:48:29 +01:00
Dmitri Vereshchagin 18cb9a725d Add original filename to SyntaxErl command 2017-08-19 17:18:48 +03:00
Dmitri Vereshchagin e9e1bec772 Update SyntaxErl linter tests 2017-08-19 17:18:48 +03:00
w0rp 5c839c4825 #653 Collect items for quickfix from all buffers, and de-duplicate them. Set filename items in quickfix and loclist. 2017-08-19 14:28:51 +01:00
w0rp be4347084e Increase the default maximum completion suggestions to a more useful but safe level, and filter before requesting details, which is faster 2017-08-18 22:34:18 +01:00
w0rp 8cc7cd3aa1 Change the completeopt setting just before showing suggestions too, which works better 2017-08-18 21:06:21 +01:00
w0rp 0a282eb76a Automatically adjust the completion options when using completion while you type 2017-08-17 23:06:02 +01:00
w0rp 342e83db60 Include the ruleName for errors in tslint problems 2017-08-16 10:37:36 +01:00
w0rp 17a76a7403 Cover completion with more tests 2017-08-16 00:45:46 +01:00
w0rp 5af82312fb Set up one BufEnter event used for everything, and add tests for linting when the filetype changes 2017-08-14 23:31:54 +01:00
w0rp 1680f7af63 Fix a bug where the sign column was not closed some of the time, etc. 2017-08-14 10:00:46 +01:00
w0rp 79701f6f20 #653 Skip filetype keys in g:ale_buffer_info during cleanup 2017-08-13 22:27:01 +01:00
w0rp 2d02de33d4 #653 - Filter items based on the buffer number for signs 2017-08-13 16:30:46 +01:00
w0rp ea124c49d0 Cover filtering out items from other buffers for highlights 2017-08-13 16:04:17 +01:00
w0rp ae6cecabb6 #653 Filter items based on the buffer number for problem counts 2017-08-13 13:24:10 +01:00
w0rp c6d11f4281 #653 - Filter out other buffers for loclist jumping 2017-08-13 13:02:59 +01:00
ilex bc548b2ef9 Fix bug with ALEPrevious for blank lines.
ALEPrevious (as well as ALEPreviousWrap) does not work if there is an
error in empty line like 'W391: blank line at end of file' in python.
2017-08-13 11:56:41 +03:00
w0rp e6b6146731 #653 - Fix loclist jumping so it works with buffer numbers 2017-08-12 14:49:02 +01:00
w0rp b300b0646d Fix a failing test 2017-08-12 14:45:22 +01:00
w0rp c14886e479 #653 - Include the buffer number in sorting of items 2017-08-12 14:37:56 +01:00
w0rp c52a4910bf #653 - Update the loclist binary search to work with buffer numbers, to filter out items for other buffers 2017-08-12 14:27:47 +01:00
w0rp 7614560a6e #468 - Do not try to echo things for a while if something goes wrong 2017-08-12 10:47:06 +01:00
w0rp 78b9ae0f1c Add a fix function for breaking up long Python lines, which is hidden for now 2017-08-11 10:31:25 +01:00
w0rp d5ae3201a4 Ban !=# and !=? from the codebase 2017-08-11 00:31:42 +01:00
w0rp b1462ac66c #653 - Pass on filenames for loclist items 2017-08-10 23:08:40 +01:00
Scott Bonds 322910dc0b Add linter for Idris (#838)
* Add linter for Idris

* Fix parsing warnings and column ranges in Idris linter

* Make Idris linter configurable. Fix help tag.
2017-08-10 21:09:58 +01:00
w0rp dcf7cbe366 Merge pull request #842 from gfontenot/gf-swiftformat
Add support for SwiftFormat as a fixer
2017-08-10 21:06:55 +01:00
w0rp 34aa3437e0 Pass extra rubocop options in the middle instead, and fix the Vader test so it can be run multiple times in Vim 2017-08-10 14:57:30 +01:00
Miguel Palhas 0c26e8945c Rubocop fixer now uses g:ale_ruby_rubocop_options (#841)
* Rubocop fixer now uses g:ale_ruby_rubocop_options

* Adds spec
2017-08-10 14:52:54 +01:00
w0rp b9f31621e4 Move --format=default in the flake8 command to the return value, and remove extra spaces in the tests 2017-08-10 09:58:32 +01:00
Gordon Fontenot 4709e67627
Add support for SwiftFormat as a fixer
SwiftFormat is a tool that can be used to format Swift files. This commit adds
support for using SwiftFormat as a fixer from ALE. It looks for executables in
the Pods directory, then the Pods directory for a React Native project, then
finally falls back to the globally installed instance if neither of those were
found.

https://github.com/nicklockwood/SwiftFormat
2017-08-09 12:41:21 -05:00
Matthew Grossman fe95fcd357 Default flake8 to --format=default 2017-08-09 10:05:56 -07:00
w0rp 670858f774 Fix #468 - Add a cool down period for when things go wrong 2017-08-09 00:05:55 +01:00
w0rp 5010ddc28f Fix #833 - Do not open windows on save when the option is off 2017-08-08 07:29:10 +01:00
w0rp 16cfedf04a Fix #271 - Add the ability to open the quickfix or loclist windows only after saving a file 2017-08-08 00:46:42 +01:00
w0rp 593cafa18b Fix #823 - Write Windows files with CRLF 2017-08-05 20:17:25 +01:00
w0rp 747d4fe80b Stop writing a test file in real world usage in some cases 2017-08-05 19:51:38 +01:00
w0rp 9ac74c44fe Tell Vim omnicompletion that tsserver matches are case-insensitive 2017-08-04 13:35:02 +01:00
w0rp d1023e9c2c Merge pull request #821 from verbitan/nagelfar
Add Tcl nagelfar linter
2017-08-03 23:40:09 +01:00
w0rp 09d50ebe31 Cover the Rust LSP with tests, allow LSP linters to be named anything, and rename the Rust LSP linter to `rls` 2017-08-02 23:21:30 +01:00
Nick James a3d2fb5688 Add Tcl nagelfar linter 2017-08-02 23:05:19 +01:00
w0rp 617582c5d3 Use g: for the PHP Vader tests 2017-08-02 22:36:53 +01:00
w0rp 6e07cf5b12 Cover the PHP language server functions with Vader tests 2017-08-02 22:34:09 +01:00
Junegunn Choi bc1cf285c2
Rubocop: Show cop name 2017-08-02 13:55:54 +09:00
w0rp 35913d9ce7 Cover the SaveEvent function with a test 2017-08-01 00:42:22 +01:00
w0rp a4ffd2f37c #734 - Use the buffer number from the events for entering buffers and saving buffers for checking buffers 2017-08-01 00:03:24 +01:00
w0rp ec82530247 #734 - Do not clear file linter results when no buffers are run 2017-07-31 22:36:30 +01:00
Mahmoud Mostafa eaeb71993f Add stylelint fixer 2017-07-31 02:54:59 +02:00
w0rp 79d4935ccf Cover special LSP initialize response handling with Vader tests 2017-07-30 23:53:46 +01:00
w0rp 63b9d9e9df Fix #798 - Handle syntax errors for tsserver 2017-07-27 13:24:32 +01:00
w0rp fa33faad9e #810 - Handle output which is not JSON in many linters 2017-07-27 00:45:25 +01:00
w0rp db4d68eae7 Add a fuzzy JSON decoding function for ignoring json_decode errors for linters 2017-07-27 00:06:15 +01:00
w0rp ded1bc14df #810 Ignore output which isn't JSON for brakeman 2017-07-26 23:17:46 +01:00
w0rp cd860e3e8d #517 Add more code LSP support which makes the tssserver linter behave more like the LSP linters 2017-07-26 10:37:37 +01:00
w0rp 86297a7c65 Fix #804 - Do not run scalac for sbt files 2017-07-26 10:29:46 +01:00
w0rp e0c014ab8c Disable completion in the Vader test if we temporarily enable it 2017-07-24 09:23:53 +01:00
Takano Akio 8ab632e6f2 Make executable and options configurable for hdevtools 2017-07-24 05:50:09 +00:00
w0rp a0059cfe03 Fix #795 - Handle GCC errors without column numbers 2017-07-23 00:39:59 +01:00
w0rp 12217480f9 Merge pull request #781 from sumnerevans/standard-fixer
Added fixer for Standard linter
2017-07-22 19:33:42 +01:00
w0rp 78e37dabb7 Fix #794 - Filter out any preceding lines of Flow output which aren't JSON 2017-07-22 19:21:30 +01:00
Sumner Evans f3fec6685e
added tests for Standard.js 2017-07-21 11:47:41 -06:00
w0rp 87616c5e91 #782 - Do not set the build directory for clang-tidy for header files, which does not work 2017-07-20 14:52:24 +01:00
w0rp a5f754a5e0 Fix #786 - Only set --no-local-style for yapf if a configuration file is detected 2017-07-20 11:07:07 +01:00
w0rp 0b50ebb0f0 Fix #779 - Handle empty output for tslint 2017-07-19 10:26:03 +01:00
w0rp 235fc90e22 Fix #308 - Check Dart files with dartanalyzer 2017-07-18 23:57:33 +01:00
w0rp aa94d0902a Fix #710 - Show hlint suggestions as info items, and include end line and column numbers 2017-07-18 13:14:02 +01:00
w0rp 5a6ffc2804 Add a missing test file 2017-07-18 12:34:22 +01:00
w0rp 0931e99ea4 Fix #775 - Run eslint.js via node on Windows for eslint --fix 2017-07-18 12:28:20 +01:00
Matthew Turland da410caff8 Add yaml swaglint linter (#771)
* Add yaml swaglint linter
2017-07-17 20:28:21 +01:00
w0rp eab77b7072 #703 Add arguments to avoid generating plist files if no build directory is detected for clang-check 2017-07-17 10:19:08 +01:00
w0rp 23ea62d40a #711 - Make the cpplint executable configurable 2017-07-17 00:17:59 +01:00
w0rp 3352a6c9df #711 - Make the clangtidy executable configurable 2017-07-17 00:07:18 +01:00
w0rp fe70742bb9 #711 - Make the clangcheck executable configurable 2017-07-16 23:35:10 +01:00