Commit Graph

1211 Commits

Author SHA1 Message Date
w0rp 2f3bce5a1d
Merge pull request #2448 from reedriley/master
Add support for Vim's tagstack to ALEGoToDefinition
2019-04-29 20:55:45 +01:00
w0rp 737ed31de5
Disable fsync for writefile() calls for performance 2019-04-26 20:17:33 +01:00
Reed Riley 46c743a247 Updated Vim version in Dockerfile and made UpdateTagStack clearer
The `settagstack` and `gettagstack` functions don't exist prior to Vim
8.1.0519.  And the function definition was unclear whether it intended
  to grab the *old* or the *new* file/line/col.
2019-04-24 09:58:13 -04:00
w0rp 01331266a8
Close #1753 - Implement minimum viable integration with Deoplete 2019-04-23 21:26:25 +01:00
Thibault Vatter ce0b14979e Add a fixer for r based on the styler package (#2401)
* Add styler as a new fixer for R files
* Add to the list of supported tools
* Add documentation
2019-04-23 19:44:26 +01:00
w0rp 893ac34cca
Fix #2452 - Strip trailing spaces off sign text automatically 2019-04-23 15:58:10 +01:00
Reed Riley c36f3e78e4 Add support for Vim's tagstack to ALEGoToDefinition
fixes 1236
2019-04-19 23:10:55 -04:00
w0rp fcc2c3ba71
Fix #2415 - Mark tsserver and LSP linters inactive again 2019-04-17 18:12:50 +01:00
Jethro Shuwen Sun 9e95032b30 fix 2434: use text field instead of the detail field for virtualtext (#2441)
* use text field instead of the detail field for virtualtext

*  make the change simpler
2019-04-16 14:40:39 +01:00
w0rp 59f8c35a2f
Fix #1930 - Finish ale_fix_on_save_ignore
* Implementation had a bug
* Documentation added
* Tests added
2019-04-16 13:44:43 +01:00
w0rp 24d277384c
#1930 - Add ale_fix_on_save_ignore for disabling some fixers on save 2019-04-15 23:15:18 +01:00
w0rp 23a8208498
#782 - Use compile commands for matching source files for headers 2019-04-15 21:38:11 +01:00
Jethro Shuwen Sun 7f31065fce improve the lsp diagnostic message format (#2425) 2019-04-15 14:36:18 +01:00
Rob Looby 99361b2ca9
Add floskell for Haskell formatting 2019-04-14 11:27:48 -05:00
Riley Martine 495bce32e9 Add support for latexindent (#2387) 2019-04-13 13:21:59 +01:00
w0rp 784d1a9a62
Merge pull request #2394 from harttle/master
feat: fecs support for js/html/css lint and format
2019-04-13 12:35:52 +01:00
w0rp 6428162f79
Merge pull request #2433 from belka-ew/bugfix/remove-otherproject-util-double
Remove otherproject#util#Double from d.vim
2019-04-13 12:29:31 +01:00
Jesse Harris 2ed53108c4 Linter for powershell syntax errors (#2413)
* Linter for powershell syntax errors
2019-04-13 12:24:56 +01:00
Eugen Wissner 751838621a Remove otherproject#util#Double from d.vim 2019-04-13 07:59:01 +02:00
Jun Yang d4841cedf2 style: fecs related doc and vim scripts 2019-04-11 16:24:59 +08:00
harttle c820089c44 feat: fecs support for js/html/css lint and format
`fecs` is a lint tool for HTML/CSS/JavaScript,
see http://fecs.baidu.com for more options.
2019-04-11 16:24:58 +08:00
w0rp 16b43a5708
Do not complain about generated _callback settings 2019-04-10 19:53:11 +01:00
w0rp 042b351b7a
Merge pull request #2366 from aweis/fixtypo
ruby: fix a typo in a comment
2019-04-10 18:54:43 +01:00
Dan Loman 864d0861e4 [lsp] Add Swift / SourceKit-LSP support (#2420)
* [linter] Add LSP support for Swift via sourcekit-lsp
2019-04-08 16:25:30 +01:00
w0rp 9a0ece1ecb
Fix #2399 - Do not check buffers used for displaying diffs 2019-04-08 13:42:09 +01:00
w0rp 6d14dc0ac0
#2417 - Silence errors for shortmess+=T 2019-04-08 11:41:23 +01:00
w0rp ce64e349cd
Close #2132 - Add deprecation warnings for old features 2019-04-07 16:24:08 +01:00
w0rp e85eb82401
#2132 - Implement feature tests with ale#Has 2019-04-07 15:34:39 +01:00
w0rp 3bebcb5d48
#2132 - Replace command_chain and chain_with with ale#command#Run 2019-04-07 14:58:06 +01:00
w0rp 435a072181
#2397 - didChangeConfiguration should be a notification 2019-04-02 22:00:03 +01:00
rhysd 6a29641872 Add g:ale_disable_lsp and b:ale_disable_lsp to disable linters powered by LSP 2019-03-30 15:29:17 +09:00
w0rp 89273b65b8
Merge pull request #2369 from ajcrites/ajcrites/2368/vertical-focus-fix
Fix #2368 - Open vertical list to the right
2019-03-29 19:23:52 +00:00
w0rp 3eb6d7b3db
#2395 - Handle empty output for redpen 2019-03-29 16:09:27 +00:00
w0rp 442d672d8a
#2397 - disable elixir-ls by default, which can be CPU hungry 2019-03-29 14:19:13 +00:00
w0rp a92627e1e1
Fix #2402 - Handle null LSP references responses 2019-03-29 13:42:24 +00:00
Andrew Crites a3a052b55a
Fix #2368 - Open vertical list to the right
This was normal behavior before, and it also stops ale from stealing focus.
2019-03-16 21:39:11 -04:00
Adam Weis 1427a090df ruby: fix a typo in a comment 2019-03-15 16:18:57 -07:00
w0rp 80ef7ea2d0
#2357 Handle Windows paths where the drive letter colon is encoded 2019-03-13 16:44:29 +00:00
w0rp 67ea571659
Handle pipes in Windows drive letters for URIs 2019-03-13 15:54:09 +00:00
Tomasz N 5f03bae41c Fix parsing the third part of version string (#2355)
* Fix parsing the third part of version string
* Add test
* Test: fix checking cached version
2019-03-12 17:49:48 +00:00
w0rp 365ffae6c4
Fix #2351 - Escape spaces and backslashes for signs 2019-03-11 19:44:51 +00:00
w0rp f0da35b958
Merge pull request #2349 from oblitum/fix-missing-languagetool-file-argument
Fix passing file to languagetool
2019-03-11 09:15:29 +00:00
w0rp a6012d853c
Merge pull request #2347 from codenut/master
Fix for #2346
2019-03-11 09:07:31 +00:00
Francisco Lopes d9a12348d0 Fix passing file to languagetool 2019-03-11 04:42:25 -03:00
w0rp 03384a5d6f
#2341 - Handle completion messages with textEdit objects 2019-03-10 15:21:36 +00:00
Michael Valladolid a5cf7e854b set maximum number of autocomplete suggestions for results coming from LSP 2019-03-10 00:50:25 +08:00
w0rp 8a0213f1fd
Remove more uses of command_callback and executable_callback 2019-03-09 14:30:28 +00:00
Vincent Dahmen 7eae06d3f3 linter/markdown: adds support for languatool (#2155) 2019-03-09 13:55:54 +00:00
w0rp fd31987f23
Merge pull request #2327 from akshit-sharma/master
clang-format supported with nvcc (cuda files)
2019-03-08 21:36:43 +00:00
w0rp 413529f603
Fix #2326 - ALEComplete no longer replaces completeopt 2019-03-08 21:32:05 +00:00
w0rp be2c0c3af5
Merge pull request #2325 from rustic-games/rust-spans
set correct Rust span end column
2019-03-08 20:23:42 +00:00
w0rp 5505f2323d
Fix #2330 - Do not use getcurpos() to avoid changing curswant 2019-03-07 12:28:42 +00:00
akshit-sharma 163f0ab06e clang-format supported with nvcc (cuda files) 2019-03-02 21:39:44 -07:00
Jean Mertz 26460a77a7
set correct Rust span end column
The Rust compiler returns the first column that is _not_ part of the
current span as `column_end`, while Ale expects `end_col` to signify
the last column of the span.
2019-03-02 16:17:17 +01:00
w0rp c4328f2a31
#2132 - Support deferred execution for LSP executables, commands, and addresses 2019-02-27 23:26:32 +00:00
w0rp 70a9176de0
#2132 - Set up fixers for deferred support 2019-02-26 08:35:58 +00:00
w0rp 89e5491862
Revert "#2132 Change (buffer, lines) fixer functions to (buffer, done, lines)"
This reverts commit f1ed654ca5.
2019-02-22 20:48:06 +00:00
w0rp 883978ece9
#2132 - Replace all uses of foo_callback with foo 2019-02-22 18:05:04 +00:00
w0rp f53b25d256
#2132 - Implement project_root as a replacement for project_root_callback 2019-02-22 15:24:34 +00:00
w0rp f8aeb5c5a4
#2132 - Make most foo_callback options work as foo 2019-02-22 00:35:53 +00:00
w0rp ffa45fa3fb
#2132 - Implement deferred command handling for linters 2019-02-21 21:24:41 +00:00
w0rp a8b987a1c3
Fix #2300 - Handle more URIs per RFC 3986 2019-02-21 19:47:22 +00:00
w0rp 707a42167f
Merge pull request #2302 from kevinoid/pylint-cd-proj-root
python/pylint: Change directory to project root
2019-02-20 09:54:13 +00:00
Lukas Reineke b8cecca8c8 Clear the virtualtext on disable 2019-02-20 11:08:27 +09:00
Kevin Locke 3300b1aca7 python/pylint: Change directory to project root
Pylint only [checks for pylintrc] (and .pylintrc) files in the packages
aboves its current directory before falling back to user and global
pylintrc.  For projects with a src dir, running pylint from the
directory containing the file will not use the project pylintrc.

Adopt the convention used by many other Python linters of running from
the project root, which solves this issue.  Add pylintrc and .pylintrc
to FindProjectRoot.  Update docs.

[checks for pylintrc]: https://github.com/PyCQA/pylint/blob/pylint-2.2.2/pylint/config.py#L106

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2019-02-17 10:40:50 -07:00
w0rp 5b6df0a85f
Fix #2299 - Make tsserver run again 2019-02-15 15:34:31 +00:00
w0rp 1a69c9c88c
#2295 Send an empty object for the initialized notification, per the spec 2019-02-15 10:44:45 +00:00
w0rp 0d10653a7c
Fix #2295 - Respond to initialize with an initialized message 2019-02-15 08:54:53 +00:00
w0rp 89039187da
Fix #2294 - Fix some syntax that broke LSP 2019-02-15 08:32:01 +00:00
w0rp 7487ecb957
Simplify code for marking linters as active 2019-02-14 10:10:46 +00:00
w0rp 3050a132b5
Remove ProcessChain code we do not need now 2019-02-13 17:56:10 +00:00
w0rp 21a8b9f1e3
Make it easier to remove command_chain support later 2019-02-13 17:53:01 +00:00
w0rp 1ee56713b8
#2132 Use an on-init callback for all LSP logic 2019-02-13 17:26:37 +00:00
w0rp 926ad47a49
#2132 - Implement deferred executable string handling for linters 2019-02-12 18:05:33 +00:00
Derek Sifford aca1edb476 add project_root_callback for tsserver (#2290)
* add project_root_callback for tsserver
* add tests for tsserver project root
* Update test/command_callback/test_javascript_tsserver_command_callback.vader
2019-02-11 21:24:22 +00:00
w0rp 6ebe24b5ff
Merge pull request #2268 from m-pilia/alex
Add settings for the Alex linter
2019-02-10 23:43:43 +00:00
w0rp 752e6f0ab9
Merge pull request #2277 from chaucerbao/feature/redraw-after-open
Center the result after `ale#util#Open` jumps
2019-02-10 23:34:21 +00:00
w0rp 7a48750610
Complain about binary operators on the ends of lines 2019-02-10 11:43:48 +00:00
Théo Cavignac d072d2654c Supporting filtered jump (#2279)
* Support filtered jump based on loclist item type (E or W for now)
* Use flags to customize the behavior of ALENext and ALEPrevious
* Update <plug> bindings with flags
* Update documentation about ALENext and ALEPrevious
* Use ale#args#Parse in JumpWrap
2019-02-10 11:11:29 +00:00
Kevin Locke a24f0b4d5f Support pylama for python (#2266)
* Add pylama for python
* Consolidate python traceback handling
2019-02-08 21:44:34 +00:00
w0rp 422908a572
#2009 - Force Windows jobs to run in a CMD shell 2019-02-08 21:33:16 +00:00
w0rp ba6f08f3d4
Merge pull request #2262 from sectioneight/cd-for-black
Respect python black fixer configuration file
2019-02-08 20:11:11 +00:00
w0rp 3ba7d02708
Merge pull request #2272 from Rahlir/fix-c-compilecommand
Fix error when parsing compile_commands for c languages
2019-02-08 20:06:12 +00:00
Alvin Chan 1fb0de2a8e Add `-relative` option to ALESymbolSearch (#2255)
* Add `-relative` option to ALESymbolSearch
* Document the `-relative` option for ALEFindReferences and ALESymbolSearch
2019-02-08 19:43:04 +00:00
w0rp d21581016e
Fix #2257 - Fix an off by 1 which broke completion for some servers 2019-02-08 19:31:47 +00:00
w0rp b32fdfe816
#2132 Implement deferred objects for ale#command#Run 2019-02-08 08:41:38 +00:00
w0rp 19cc724807
Add a function for parsing command args 2019-02-07 18:10:34 +00:00
w0rp 81c73da3b9
#2132 - lint and fix with ale#command#Run
A new function is added here which will later be modified for public use
in linter and fixer callbacks. All linting and fixing now goes through
this new function, to prove that it works in all cases.
2019-02-06 22:00:11 +00:00
w0rp 3e11cbd18d
Update syntax checking
* Line continuation characters should be on the same lines.
* .vim file line indentation should be a multiple of 4.
2019-02-06 18:05:13 +00:00
Alvin Chan 70b95f16c3 Replace `normal` with `normal!` 2019-02-05 16:37:26 -08:00
Alvin Chan 9f63bec12c Remove the `redraw` since it's implicit with the `zz` 2019-02-05 16:31:02 -08:00
Alvin Chan 7ce481c8f6 Center the line within the viewport after a jump 2019-02-05 16:27:13 -08:00
Alvin Chan a4ed9a1c35 Force Vim to `redraw` after `ale#util#Open` 2019-02-05 16:13:58 -08:00
Tadeas Uhlir 37daedafed Fix error when parsing compile_commands for c langs
This little error caused that when parsing compile_commands json, the
filename was used to fetch entries in directory dictionary, hence, when
adding new json commands, it never found anything in dir_lookup and
instead rewrote the previous entry. Hence, the dir_lookup always
contained list of only one compile_command per directory instead of all
compile_commands for given directory.
2019-02-04 16:50:46 -05:00
Martino Pilia 771581a945
Add settings for the Alex linter
The executable for the Alex linter is currently hard-coded as 'alex',
which is an issue given the fact that it conflicts with the Haskell
lexer generator, whose executable is also called 'alex', has been around
a dozen years before the linter, and is packaged in the official
repositories of the major Linux distributions.

This commit adds options to use a local executable for the alex linter
(which is a node package), and an option to set a custom executable.

As side changes:
* The pattern in the alex handler is made more readable by turnig it
  into a very-magic regex.
* Alex handles plain text, markdown, and HTML. Specific flags for HTML
  and markdown are provided when instantiating the linters for the
  respective filetypes, while before those formats were treated as plain
  text.
2019-02-02 16:20:14 +01:00
Aiden Scandella de29ff26ff
Respect python black fixer configuration file
Similar to other linters/fixers, by default change to the directory of
the file being fixed before invoking `black`, which allows the tool to
read project-specific configuration (pyproject.toml)

Fixes #2218
2019-01-30 14:44:38 -08:00
w0rp 08d3523962
Merge pull request #2228 from Nomad145/ktlint
Add ktlint Fixer Support
2019-01-27 15:55:13 +00:00
petpetpetpet 3c38fdb1bb Extend statusline interface (#2240)
* Extended statusline.vim to provide an efficient way to access the first errors,warnings,stylerrors,stylewarnings,etc from the loclist.
* Added documentation and help for the new API function.
2019-01-27 12:44:49 +00:00
TANIGUCHI Masaya 03b25dd39b Add textlint for tex (#2234) 2019-01-27 12:14:34 +00:00
w0rp 79135dfe13
Fix #2192 - Handle more ignore-pattern messages for ESLint 2019-01-27 12:08:39 +00:00
Attila Maczak d7ced31fe2 add cmake-format fixer support (#2244) 2019-01-27 11:45:57 +00:00
Niclas Åhdén e46c17e8ef SugarSS support from PR 1967 (#2219)
* sugarss support + bonus naming Sass correctly
* cleanup + alphabetic ordering
2019-01-27 11:42:11 +00:00
w0rp 3ac12b6939
Fix #2216 - Tolerate versions without path numbers 2019-01-27 10:56:08 +00:00
Alvin Chan 6288c8b08e Use relative paths when previewing file locations (#2238)
* Use relative paths when previewing file locations

Example: ALEFindReferences -relative
2019-01-27 10:18:20 +00:00
w0rp 20b9dfdb4a
Fix #2195 - Handle the command key being missing 2019-01-27 09:12:59 +00:00
w0rp 6e9040da75
Merge pull request #2131 from 0mco/master
Parse more C/C++ compiler options
2019-01-26 22:10:48 +00:00
w0rp 0a9dc7b4ba
Merge pull request #2245 from andrewimeson/adi/add-ksh-support
Add better ksh support
2019-01-26 22:04:29 +00:00
w0rp 452460b8cd
Merge pull request #2241 from bk2204/lsp-detect-hook
Add a hook to detect LSP project root
2019-01-26 19:40:45 +00:00
w0rp cf14d0aa53
#2132 Unify temporary file management in command.vim 2019-01-26 19:33:52 +00:00
brian m. carlson 6fc016ad05
Add additional ways to detect LSP project root
Currently, we detect the linter root based on a variety of techniques.
However, these techniques are not foolproof. For example, clangd works
fine for many things without a compile_commands.json file, and Go
projects may be built outside of the GOPATH to take advantage of Go
1.11's automatic module support.

Add global and buffer-specific variables to allow the user to specify
the root, either as a string or a funcref. Make the funcrefs accept the
buffer number as an argument to make sure that they can function easily
in an asynchronous environment.

We define the global variable in the main plugin, since the LSP linter
code is not loaded unless required, and we want the variable to be able
to be read correctly by :ALEInfo regardless.
2019-01-26 04:46:41 +00:00
Andrew Imeson a6de3f3727
Add better detection for KornShell/ksh 2019-01-24 14:14:49 -05:00
Louis Xu 8037f472ef Parse more C/C++ compiler options 2019-01-24 09:44:52 +08:00
Alvin Chan f12d312aa4 Add `babylon` as default Prettier parser (#2220)
* Mimic Prettier's default parser by setting it to `babylon`
* Add tests to check default Prettier `parser`
* Set Prettier default parser based on version
* Update the comment to explain the reason for an explicit default
2019-01-22 10:24:15 +00:00
Andrey Popp d0284f22ea Add textDocument/typeDefinition for LSP (#2226)
* Add textDocument/typeDefinition for LSP

Doc to spec https://microsoft.github.io/language-server-protocol/specification#textDocument_typeDefinition

This works like textDocument/definition but resolves a location of a
type of an expression under the cursor.

I'm not sure what to do with tsserver though.

* Fix passing column to LSP
* test_go_to_definition: wording
* Add tests for textDocument/typeDefinition
* Add docs for textDocument/typeDefinition
2019-01-21 23:06:28 +00:00
w0rp a4932679b5
Merge pull request #2224 from andreypopp/andreypopp/lsp-hover-fix-column
Adjust column to be 0-based for LSP messages
2019-01-21 21:11:02 +00:00
Andrey Popp bcf63eea96 Request LSP completion for the next col after the cursor 2019-01-21 23:19:47 +03:00
Andrey Popp 2e85eed756 Fix ale#lsp#message#* to convert column to 0-based
This is what LSP specifies.
2019-01-21 17:40:33 +03:00
Michael Phillips bd1e639681 Add ktlint fixer support. 2019-01-20 19:39:47 -06:00
Andrey Popp d6d6fcf928 End position in LSP range is exclusive
From LSP spec:

> A range in a text document expressed as (zero-based) start and end
> positions. A range is comparable to a selection in an editor. Therefore
> the end position is exclusive.
2019-01-19 18:50:21 +03:00
Jason Kim 8b0879212f Improve location list behavior on split windows of same buffer. 2019-01-16 17:15:47 -08:00
w0rp c0b2090fbb
#2132 Move CreateTemporaryFileForJob calls into FormatCommand 2019-01-12 18:34:26 +00:00
w0rp 6644563949
#2132 Remove the need for the hidden add_newline option by tweaking the flow command 2019-01-12 13:14:29 +00:00
w0rp d8a53cc7a5
Merge pull request #2191 from davidvandebunte/fixCompDbDir
bugfix: c.vim: Pull build directory from compilation database
2019-01-10 18:59:13 +00:00
TANIGUCHI Masaya fabebb3a47 Add textlint for Asciidoc and add it to Fixers (#2193)
* Add textlint for asciidoc
* Add textlint --fix
2019-01-10 18:53:45 +00:00
François-Xavier Carton 4bbb10b46a Cflags parser: fix special chars matching algorithm 2019-01-09 16:53:36 +01:00
David VandeBunte 4f72023e16 bugfix: c.vim: Pull build directory from compilation database
The LLVM compiler database JSON already includes a directory where the
build was performed:
https://clang.llvm.org/docs/JSONCompilationDatabase.html

Prefer this directory for fixing relative paths in compiler include
arguments in ale#c#ParseCFlags.

Without this change, users cannot create a symlink to their compilation
database as suggested in the LLVM tooling setup instructions:
https://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
2019-01-08 19:09:02 -06:00
w0rp 84475ff6f1
Merge pull request #2189 from jeremija/jeremija/manual-autocomplete-wo-prefix
Manually trigger autocomplete even when prefix is ""
2019-01-08 14:27:04 +00:00
Jerko Steiner b1b05e6e66 Optimize ale#completion#Filter when prefix is "" 2019-01-08 15:10:03 +01:00
Jerko Steiner 9bcf8a2336 Manually trigger autocomplete even when prefix is "" 2019-01-08 12:57:17 +01:00
w0rp 1d7acad891
Merge pull request #2161 from guill/compile_database_perf
Improve perf for compile dbs in large projects
2019-01-08 09:29:07 +00:00
Jerko Steiner 0fcd5e79a9 Add ability to manually trigger completion menu (#2177)
* Add ability to manually trigger completion menu
* Mention :ALEComplete in completion docs
* Add test for ALEComplete
2019-01-07 17:55:55 +00:00
Jacob Segal cb0a5c7a36 Improve perf for compile dbs in large projects
When using a compilation database (compile_commands.json) in very large
projects, significant delays would occur when changing files --
particularly those that happened to be far down the db. Rather than
iterating over the whole list every time, we now build up a lookup table
based on the tail of the filename (and tail of the directory for
widening searches) and iterate over the much smaller list of compile
commands for files with the given name.

Test metrics (from compile_database_perf/test.sh) show a 90% performance
improvement -- from 25 seconds to 2.5 seconds per run.
2019-01-06 00:41:57 -08:00
w0rp 08606b88d0
Clean up the new g:ale_shell code. Use it for Windows 2019-01-03 21:23:09 +00:00
w0rp 7919db0db5
Merge pull request #2167 from stegmanh/master
Add support for ale option to override default shell used by ale
2019-01-03 21:01:13 +00:00
w0rp 1b264b8662
Merge pull request #2168 from fx-carton/master
Fix CFLAGS & Makefile issues
2019-01-03 20:37:16 +00:00
w0rp a1654cfb58
Merge pull request #1988 from mdtusz/pipenv-black
Add support for black usage with pipenv
2019-01-03 20:32:36 +00:00
Holden 5f613a5fd6 change ale to use value of g:ale_shell regardless of what it is 2019-01-02 19:05:51 -05:00
Alvin Chan f534db1ef9 Replace `trim` with `substitute` for compatibility (Vim <8.0.1630) 2018-12-31 14:54:36 -07:00
Alvin Chan 24fda01a0e Add associated line text on ALEFindReferences results for TypeScript 2018-12-31 14:29:42 -07:00
François-Xavier Carton f7c4c403eb Fix CFLAGS parsing
Split by space instead of dash.
This prevents incorrect parsing where space-separated arguments are
merged (in particular, .c or .o files were appended to -I or -D
arguments).

Handle shell escape: quotes and escaped quotes \" and shell
substitutions are recognised. This is done by verifying that no special
character (" ' ` ()) has not a matching character.

Fixes #2049
2018-12-29 12:16:22 +01:00
Holden 3ec20a730d address PR feedback by fixing docs and hardcoding bash to use -c on fish and pwsh environments 2018-12-28 12:35:57 -05:00
Miklós Tusz 48057407ec Fixup tests for auto-pipenv 2018-12-21 20:28:17 -08:00
Miklós Tusz 4bf260e953 Remove unnecessary exe check for black 2018-12-21 20:07:14 -08:00
Miklós Tusz 6619e1ac53 Add auto_pipenv config for black
Added ability to set `python_black_auto_pipenv` to allow for usage
of a local pipenv black executable.
2018-12-21 20:07:14 -08:00
w0rp 5345a5dd81
Merge pull request #2141 from benjaminjkraft/master
Add versions of ALEGoToDefinition that open in splits
2018-12-20 16:15:57 +00:00
Ben Kraft 73a204dd00 Add versions of ALEGoToDefinition that open in splits
This is just like `:ALEGoToDefinitionInTab`, only a (v)split instead of
a tab.  Fixes #2140.
2018-12-19 18:35:56 -05:00
w0rp f1ed654ca5
#2132 Change (buffer, lines) fixer functions to (buffer, done, lines) 2018-12-18 11:13:28 +00:00
w0rp 9a3be907ea
Close #2152 - Use ale_javascript_standard_options for fixing files too 2018-12-18 09:28:55 +00:00
Justin Searls 2cfa09e02d Adds standardrb linter (#2133)
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-12-10 14:02:32 -07:00
w0rp 39c892eff4
#1520 - Add an :ALEDocumentation for tsserver 2018-12-10 20:08:28 +00:00
Holden 57a04701c3 Merge branch 'master' of github.com:stegmanh/ale 2018-12-07 18:05:20 -05:00
Holden cbc029b2b8 Add initial support for settings to overwrite ale shell 2018-12-07 18:04:28 -05:00
w0rp 3db564f774
Merge pull request #2061 from hsanson/1910-add-support-for-bibclean-fixer
Add bibclean fixer support
2018-12-06 20:26:04 +00:00
Oskar Grunning 2760cf7018 refactor sasslint linter (#2077)
Previous implementation required one to have sass-lint globally. This
allows you to have it locally, override the executable and add options.
2018-12-06 11:23:31 -07:00
Horacio Sanson 9e97a6914e Add bibclen fixer support
Closes #1910
2018-12-01 15:05:18 +09:00
Ryan 1d4f985538
Merge pull request #2110 from w0rp/lazy-clipboard
Optimize :ALEIntoToClipboard to only copy to clipboard once
2018-11-30 09:39:57 -06:00
Bjorn Neergaard d2b0ae8108 Merge branch 'master' into sridhars 2018-11-29 14:57:35 -07:00
Bjorn Neergaard fcd5e18a99 Use single quotes to satisfy vint 2018-11-29 14:35:54 -07:00
Bjorn Neergaard 121ecf9262 Only set the unnamed register at the end of :ALEInfoToClipboard
This fixes performance problems in Neovim, where every character results
in spawning a new clipboard-tool process.

Behaviour is not similarly pathological in Vim, but it still results in
an unnecessary amount of register churn.
2018-11-29 13:48:17 -07:00
w0rp 6746cb3333
Fixing linter problems 2018-11-25 13:57:13 +00:00
Björn Linse d18511f322 Don't hardcode the namespace id for virtual text
This makes collisions with other plugins less likely.
2018-11-25 11:06:55 +01:00
w0rp a05a16b109
Merge pull request #2070 from meain/fixer-prettier-yaml
add yaml to registry for prettier
2018-11-19 20:22:35 +00:00
w0rp e74d43fb25
Fix #2084 - Disable mix by default, as it causes too many problems 2018-11-19 20:14:30 +00:00
Jacob Segal 1b3fa9828c Fix bug where last c flag was ignored
There is currently a check that tries to prevent c-flags that contain
'-' in them from being unintentionally split and included in the list of
commands. For example, we wouldn't want "-fno-exceptions " to appear as
"-fno" and "-exceptions ". The way this check was done was by making sure
the last character of the split string was a space.

This meant that the very last option to appear in the compile command
was ignored (as it doesn't end with a space). This fix explicitly skips
the ends-with-space check on the last option in the command-line.

This isn't the best fix. Really we should be using the same
argument-processing rules as a shell would rather than just splitting on
'-'. That's a much larger and more complicated change though.
2018-11-17 04:04:39 -08:00
w0rp dd7b2188ab
Add style highlights for virtualtext and document all of them 2018-11-14 16:44:53 +00:00
jamestthompson3 f64f9aba16 Add specific highlight groups for virtualtext (#2071) 2018-11-14 16:21:35 +00:00
Abin Simon d045de2618 add yaml to registry for prettier 2018-11-12 12:43:08 +05:30
w0rp 7dd460303d
Merge pull request #2060 from meain/fixer-pretty-html
Add prettier to html formatters
2018-11-11 09:57:48 +00:00
w0rp b96105bebb
Merge pull request #2056 from luan/virtualtext
Add support for nvim's virtualtext on cursor
2018-11-11 09:17:53 +00:00
w0rp 90f2875f29
Merge pull request #2053 from andreypopp/fix-ocamlformat-stdin-stdout
Make ocamlformat work without temporary files
2018-11-10 10:57:11 +00:00
w0rp f8d3ffb60e
Fix #1960 - Do not fix files on :wq 2018-11-10 10:06:56 +00:00
w0rp e4faf82cab
Enable ESLint for Vue files by default 2018-11-08 09:19:02 +00:00
Luan Santos ba9b056a57
Fix info text
Removed ale_virualtext_prefix from debugging since it's not requried for
the functionality to work.
Sorted debugging info to make the list easier to navigate/diff.
2018-11-06 22:38:47 -08:00
Luan Santos f58a5cba05
Move virtualtext handling to own file
This allows cursor and virtualtext to be independently autoloaded.
2018-11-06 22:31:35 -08:00
Abin Simon ed8104b6ab Add prettier to html formatters 2018-11-07 12:00:59 +05:30
w0rp 25068de91d
Fix incorrect warning match
Co-Authored-By: luan <github@luan.sh>
2018-11-06 11:31:17 -08:00
Luan Santos c41dbe2ba9
Add support for nvim's virtualtext on cursor
- Add g:ale_virtualtext_cursor boolean to enable/disable it
- Add g:ale_virtualtext_prefix to configure what prefix to use (default:
'> ')
- Requires neovim 0.3.2's unreleased API `nvim_buf_set_virtual_text`
2018-11-05 22:45:40 -08:00
Andrey Popp b9fb62a4cd Make ocamlformat work without temporary files
Problem: ocamlformat is configured to format files in-place and thus go
via creating a temporary file for that. Because temporary file resides
in a different directory ocamlformat can't find `.ocamlformat`
configuration files in an original location of source files.

Solution: ocamlformat since version 0.8 can read sources on stdin and
spur result on stdout. We reconfigure ocamlformat to use a simpler
interface.
2018-11-04 20:32:56 +03:00
Jon Parise b25794e81b elixir-ls now recognizes umbrella projects
Previously, elixir-ls would treat each sub-project within an umbrella as
standalone, which isn't desirable from a language server perspective.

Added ale#handlers#elixir#FindMixUmbrellaRoot, which locates the current
project's root and then continues searching upwards for a potential
umbrella project root. This literally looks just two levels up to keep
things simple while keeping in line with Elixir project conventions.

Use this new function to determine elixir-ls's LSP project root.
2018-11-04 06:40:25 -08:00
w0rp 5f206d900e
Merge pull request #2035 from jparise/lsp_config_callback
Add a `lsp_config_callback` linter option
2018-10-31 16:24:11 +00:00
w0rp 4ef2c81e95
Implement LSP symbol search 2018-10-31 16:13:31 +00:00
Jon Parise 2ac9e2a29e Only send LSP config updates when the dict changes
Each LSP connection now stores its configuration dictionary. It is
initially empty (`{}`) and is updated each time the LSP connection is
started. When a change is detected, the workspace/didChangeConfiguration
message is sent to the LSP servers with the updated configuration.
2018-10-31 08:42:42 -07:00
Jon Parise b5a7593577 Add a `lsp_config_callback` linter option
This is the callback-based variant of the existing `lsp_config` linter
option. It serves the same purpose but can be used when more complicated
processing is needed.

`lsp_config` and `lsp_config_callback` are mutually exclusive options;
if both an given, a linter preprocessing error will be raised.

The runtime logic has been wrapped in `ale#lsp_linter#GetConfig` for
convenience, similar to `ale#lsp_linter#GetOptions`.

This also adds documentation and an `AssertLSPConfig` test function for
completeness.
2018-10-31 08:42:42 -07:00
Max Hung be02ba4ed7 Use correct exclusion flag in rubocop fixer 2018-10-31 11:18:07 +13:00
w0rp caac5c93d6
#2017 Add support for display results from other sources 2018-10-29 18:28:28 +00:00
w0rp 2846e86217
#2017 Simplify lint cycles for supporting other sources later 2018-10-29 11:29:21 +00:00
Justin Powell 90048ac933 fix missing (s) on rubocop exclusion flag 2018-10-26 11:47:28 -05:00
Justin Powell b7e0321890 closes #1580 add force exclusion to rubocop fixer 2018-10-26 10:40:02 -05:00
Dan Aloni aa0203320b Rust checker: allow secondary spans to be ignored (#1696)
* Rust checker: allow secondary spans to be ignored
* test/handler/test_rust_handler.vader: Add tests for g:ale_rust_ignore_secondary_spans
2018-10-26 09:38:20 +01:00
w0rp 77aacf0c91
#927 Allow b:ale_linter_aliases to be set to a String 2018-10-26 09:22:52 +01:00
w0rp 320c74ce1a
Merge pull request #1958 from Garland-g/perl6
Add Perl6 support via 'perl6 -c'
2018-10-25 15:38:33 +01:00
w0rp 3e65e85178
Merge pull request #2016 from terryding77/master
fix: change google_java_format_* to java_google_java_format_*
2018-10-25 15:34:31 +01:00
Anthony Poon 02c0d5bcb9 Only run stack if a stack.yaml config is found (#1752)
* Only run stack if a stack.yaml config is found

It is necessary to check for a stack.yaml file to distinguish between
cabal-only projects or stack projects (which are also cabal projects
since stack is built on top of cabal).

* Test that stack is called if stack.yaml exists
2018-10-25 15:30:49 +01:00
w0rp b3829d043d
Merge pull request #2012 from paihu/fix-cdstring-win32-change-drive
Fix #2011 MS Windows, lint error when current drive and target file drive is different.
2018-10-25 14:24:56 +01:00
Terry Ding 3ba9cad878 fix: change google_java_format_* to java_google_java_format_* for inject global variables according to doc/ale-java.txt 2018-10-24 20:10:31 +08:00
Derek P Sifford e94a594e2e add terraform fmt fixer for terraform and hcl filetypes
See #1718
2018-10-23 20:44:31 -04:00
paihu bc3ccd6e04 fix indent 2018-10-22 23:42:50 +09:00
Daniel Welch 2000436dfd LSP configuration via didChangeConfiguration (#1852)
* adding LSP configuration via workspace/didChangeConfiguration
2018-10-22 13:24:46 +01:00
paihu eae3f70e75 fix CdString for MS Windows 2018-10-22 21:17:57 +09:00
Auri be21aa5cda New linter: dls (#1992)
* New linter: dls
2018-10-17 16:11:41 +01:00