summaryrefslogtreecommitdiff
path: root/ale_linters/ruby
AgeCommit message (Collapse)Author
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.
2017-01-12Fix #175 - Fix the error types for rubocopw0rp
2016-12-01Add options variable for ruby-rubocopPo Shan Cheah
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-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-04Add comment headers to ale_lintersPrashanth Chandra
2016-09-16I accidentally credited the wrong guy. Let's fix that.w0rp
2016-09-15Credit fijshion for his work in the files, and make the new linters work ↵w0rp
again by adding the now required name arguments.
2016-09-15FIXED commentsynonp
2016-09-15ADD rubocop linterynonp