summaryrefslogtreecommitdiff
path: root/ale_linters/ruby
AgeCommit message (Collapse)Author
2018-12-10Adds standardrb linter (#2133)Justin Searls
See: https://github.com/testdouble/standard StandardRB is to RuboCop what StandardJS is to ESLint. This commit naively copies the RuboCop linter and fixer to point at the standardrb executable. Any other adjustments are very minor (the only I can think of is that standardrb takes a `--fix` option instead of `--auto-correct`). This raises a confusing point to me as both developer and a user: since ale enables all linters by default, won't this run both RuboCop and StandardRB (the results of which will almost always be in conflict with one another)? How does ale already solve for this for the similar case of StandardJS and ESLint?
2018-10-25Respect configured excluded_pathsSteven Harman
2018-10-12Rename solargraph initialization option variableKim Joseph S. Sadomia
2018-10-12Expose ruby-solargraph initialization optionsKim Joseph S. Sadomia
2018-09-18Solargraph stdioDevon Meunier
2018-09-14Fix bug with RuboCop linter when options are not setRyan Rosenblum
2018-09-14Return only the unescaped executables from executable callbacksw0rp
2018-09-12Update all Ruby linters to work consistently with bundlerRyan Rosenblum
2018-09-04Improve ALE project style checkingw0rp
* The project style linter now runs while you type. * Now the scripts for checking the project require blank lines. * Many style issues have been found and fixed.
2018-08-27Add solargraph LSP linter.Horacio Sanson
2018-08-02Simplify the code for most linters and tests with closuresw0rp
2018-07-15Massively reduce the amount of code needed for linter testsw0rp
2018-07-01Fix #1412 - Use --stdin-filename for newer reek versionsw0rp
2017-11-28Fix #1168 - Make the ruby linter executable configurablew0rp
2017-11-19#852 - Capture error codes for reekw0rp
2017-11-14#852 - Capture error codes for RubocopAliou Diallo
2017-09-13Report problems in other files for brakeman, and get the tests to pass on ↵w0rp
Windows
2017-08-08Ban use of ==# or ==? in the codebase, and prefer is# or is? insteadw0rp
2017-08-02Rubocop: Show cop nameJunegunn Choi
2017-07-27#810 - Handle output which is not JSON in many lintersw0rp
2017-07-26#810 Ignore output which isn't JSON for brakemanw0rp
2017-07-13#769 Ignore stderr output and output without JSON we can read for rubocopw0rp
2017-07-12Rubocop: handle empty 'files' array in outputEddie Lebow
The handler previously assumed there would be at least one entry in the 'files' array in the output JSON. It looks like this in the normal case: "files":[{"path":"app/models/image.rb","offenses":[]}] But if RuboCop's config excludes the specified input files, causing no files to be linted, the output is emptier: "files":[] This change causes the handler to treat that case correctly, and also exit early if the reported offense_count is zero.
2017-07-12Fix #760 - Report problems with configuration files for rubocopw0rp
2017-07-12Add rails_best_practices handler (resolves #655) (#751)Eddie Lebow
* Move FindRailsRoot() to more general location * Add rails_best_practices handler (resolves #655) * Update documentation for rails_best_practices Also add brakeman to *ale* documentation. * rails_best_practices: allow overriding the executable * rails_best_practices: format help correctly * rails_best_practices: capture tool output on Windows
2017-07-09Make every test set filenames and switch directories in the same way, and ↵w0rp
fix some missing escaping for the rubocop linter
2017-07-09Fix some indentationw0rp
2017-07-09Simplify ale_linters#ruby#rubocop#GetTypew0rp
2017-07-09Use rubocop's JSON output format (resolves #339) (#738)Eddie Lebow
* Use rubocop's JSON output format (resolves #339) Rubocop's emacs formatter seems to have changed format in some not-so-ancient version. The JSON formatter should provide a more stable interface than parsing lines with a regex. The JSON formatter was introduced in mid-2013, so it should be safe to assume available in any reasonably-modern environment. The oldest currently-supported version of ruby (according to ruby-lang.org) was not supported by rubocop until 2014. * Rubocop: Use global function for GetType * Rubocop: Use scope prefix in GetType * Rubocop: Update command_callback test * Rubocop: add end_col to Handle
2017-07-06Initialize rubocop variables in one placew0rp
2017-07-01Fix brakeman handler when there is no outputGabriel Sobrinho
2017-06-21Fix some escaping and make some tests set filenames consistentlyw0rp
2017-05-18Clean up the rubocop file a littlew0rp
2017-05-17Escape executableDevon Meunier
2017-05-16Allow overriding rubocop executable.Devon Meunier
2017-05-05[RFC] Add Brakeman for Ruby on Rails (references #385) (#509)Eddie Lebow
* Add brakeman for Ruby on Rails
2017-04-25Add erb linter (#497)Matthias Günther
* Add eruby linter * Update README with erb linter * Fix example and contributions * Remove trailing newline * Fix for Vimscript style guide * Eruby-linter: codereview with @w0rp - read from stderro output_stream * Eruby-linter: codereview => add handler for ruby * Eruby-linter: codereview - eruby and ruby lint use the same ruby-handler (removes duplicated handling logic) * Eruby-linter: try to fix tests
2017-04-20Add the Reek checker for Ruby. (#490)Eddie Lebow
Add the Reek checker for Ruby.
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-15Make code more consistentw0rp
2017-04-08Add Ruby MRI linter (#453)Brandon Roehl
* Added ruby mri linter * Added to the list of supported linters * Async and now with 4 spaces * Vader tests for ruby * Match style choices * Vader test for the Ruby handler now works and passes
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-27Adjust rubocop error levelsGabriel Holodak
Consider rubocop fatal errors as ALE errors, and rubocop style warnings as ALE warnings.
2017-02-26Copy all loclist items returned from handlers, and set up defaults for ↵w0rp
convenience
2017-02-06Update comments for RuboCop patternChayoung You
2017-02-05Take the rubocop filename from the buffer number given to the functionw0rp
2017-02-03Fix Rubocop filename handlingDerek Prior
In my previous change, I updated the Rubocop linter to pass the filename to Rubocop. This change was tested on a file I expected Rubocop to ignore and the experience in vim was as I expected. However, I soon found that ALE wasn't finding errors in files that should not be ignored. After investigation, I found a few issues that this commit fixes: 1. We were not properly passing the current filename. We now use `expand` to get the filename. 2. The regular expression used in the callback was expecting the static value of `_` for the filename in output. We now use a looser regular expression that begins matching on the first `:`. 3. The linter was defined statically. By using the current filename when defining the command the linter would always use the filename of the first Ruby file the user opened. We now use a `command_callback` to inject the proper filename. I tested these changes on a configuration with included and excluded files and found it to work as I expected. Apologies for the earlier incorrect change.
2017-01-27Enable Rubocop to exclude files based on configDerek Prior
When using `--stdin`, Rubocop requires that you also pass the associated file name. ALE was previously passing `_` as the filename. By passing the actual relative path to the file and enabling the `--force-exclusion` option, we can get Rubocop to respect excluded files in the configuration. Closes #197
2017-01-22Add a script for custom checks to enforce using the abort flag for functions ↵w0rp
and trailing whitespace, and fix existing issues.