Evan Borden
a8915d885b
Add better support for Haskell stack compiler tools ( #1851 )
...
* Add better support for Haskell stack compiler tools
This commit adds support for `stack` as the executable of a tool. This
follows a pattern that has been implemented for `bundler`'s tool chain.
* Move hlint command to linter file
* Add vader test for stack exec handling
* Update ghc-mod to support stack execution
`ghc-mod` was previously broken into 2 linters.
1. ghc_mod
2. stack_ghc_mod
This additional linter is not necessary with proper support for
executable variables and `stack exec` handling.
* Support stack exec in hfmt
* Support stack in hdevtools
2018-09-28 09:05:01 +01:00
Ye Jingchen
8891b7c349
Move ccls functions to autoload/ale/handler
...
Tests are kept as-is.
2018-09-28 03:26:57 +08:00
Bert JW Regeer
8e7e810db6
Bugfix: python add blank lines ( #1944 )
...
* Don't add newlines when not a control statement for Python
* Add test for accidental newline fix
* Add docstring detection to avoid adding unnecessarily newlines
* Add tests for docstring detection
2018-09-25 10:02:01 +01:00
w0rp
aa5c82b171
Merge pull request #1932 from rhysd/shfmt-default-indent
...
shfmt: Use Vim's indent config as default indent width
2018-09-20 09:30:59 +01:00
w0rp
169a6e26b2
Merge pull request #1719 from elebow/auto-pipenv-option-for-python-linters
...
Add python_[linter]_auto_pipenv options for python linters (fixes #1656 )
2018-09-19 19:46:13 +01:00
Martin Tournoij
e82bcdb8a6
Add fixer for Go modules ( #1873 )
...
* Add fixer for Go modules
2018-09-19 19:33:23 +01:00
w0rp
a6c6e24d61
#1872 Remove extra carriage returns when fixing files on Windows
2018-09-19 19:28:57 +01:00
w0rp
6bbbb9456c
Merge pull request #1926 from gnustomp/master
...
c#ParseCFlags: don't index empty list
2018-09-19 13:22:43 +01:00
w0rp
993f02ad80
Merge pull request #1928 from felipesere/master
...
To avoid blocking build tools, suspend ALE when suspending vim
2018-09-18 17:46:45 +01:00
w0rp
213a901ccd
Stop tsserver from causing errors to be rendered redundantly
2018-09-18 17:43:17 +01:00
rhysd
532686102e
shfmt: Use Vim's indent config as default indent width
2018-09-18 17:51:00 +09:00
w0rp
ddb3e6d57a
Handle failing to connect to eslint_d
2018-09-17 17:32:57 +01:00
w0rp
f9e99d81a4
#1794 - Handle LSP documentation content as a Dictionary
2018-09-17 11:16:46 +01:00
Felipe Sere
fba4cfeae9
To avoid blocking build tools, suspend ALE when suspending vim
2018-09-16 15:57:13 +01:00
James Ye
87743faf2a
c#ParseCFlags: don't index empty list
2018-09-16 22:57:43 +10:00
Eddie Lebow
dbe9352935
Add python_auto_pipenv
config var for all python linters.
...
This allows a user to set one variable instead of eight.
2018-09-15 22:10:46 -04:00
Eddie Lebow
56e67c5811
Add python_[linter]_auto_pipenv options for python linters ( fixes #1656 )
...
When set to true, and the buffer is currently inside a pipenv,
GetExecutable will return "pipenv", which will trigger the existing
functionality to append the correct pipenv arguments to run each linter.
Defaults to false.
I was going to implement ale#python#PipenvPresent by invoking
`pipenv --venv` or `pipenv --where`, but it seemed to be abominably
slow, even to the point where the test suite wasn't even finishing
("Tried to run tests 3 times"). The diff is:
diff --git a/autoload/ale/python.vim b/autoload/ale/python.vim
index 7baae079..8c100d41 100644
--- a/autoload/ale/python.vim
+++ b/autoload/ale/python.vim
@@ -106,5 +106,9 @@ endfunction
" Detects whether a pipenv environment is present.
function! ale#python#PipenvPresent(buffer) abort
- return findfile('Pipfile.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# ''
+ let l:cd_string = ale#path#BufferCdString(a:buffer)
+ let l:output = systemlist(l:cd_string . 'pipenv --where')[0]
+ " `pipenv --where` returns the path to the dir containing the Pipfile
+ " if in a pipenv, or some error text otherwise.
+ return strpart(l:output, 0, 18) !=# "No Pipfile present"
endfunction
Using vim's `findfile` is much faster, behaves correctly in the majority
of situations, and also works reliably when the `pipenv` command doesn't
exist.
2018-09-15 22:10:46 -04:00
w0rp
0868cb769d
Merge pull request #1906 from ngavalas/autocomplete-trigger-prefix
...
fix non-. prefix triggers overfiltering results
2018-09-14 13:32:25 +01:00
w0rp
7f1c411b5e
Merge pull request #1850 from rrosenblum/ruby_linters
...
Update all Ruby linters to work consistently with bundler
2018-09-14 13:27:07 +01:00
w0rp
5c86ffd321
Return only the unescaped executables from executable callbacks
2018-09-14 13:24:59 +01:00
w0rp
43d7e8fde9
#1889 Add support for automatically previewing messages based on the cursor position
2018-09-14 12:42:26 +01:00
Ryan Rosenblum
9e09b7ca35
Update all Ruby linters to work consistently with bundler
2018-09-12 16:53:28 -04:00
Nick Gavalas
b4513fc4b0
fix non-. prefix triggers overfiltering results
2018-09-12 15:47:57 -04:00
Nick Gavalas
44070d8a45
fix tsserver className parsing
2018-09-11 10:56:58 -04:00
w0rp
99e9417ef9
Add support for Julia Language Server ( #1894 )
2018-09-10 17:24:04 +01:00
w0rp
0948dcc435
Merge pull request #1897 from LEI/add-sqlfmt-fixer
...
Add support for sqlfmt
2018-09-09 11:55:42 +01:00
w0rp
395aba19c3
Merge pull request #1885 from dsifford/dsifford-fixer-uncrustify
...
add uncrustify fixer for several languages
2018-09-09 11:30:30 +01:00
Bartolomeo Stellato
b3adf241c3
Fix other warnings
2018-09-08 16:05:34 -04:00
Bartolomeo Stellato
91bb948b90
Try to fix CI
2018-09-08 14:11:11 -04:00
LEI
a97ef49c51
Add support for sqlfmt
2018-09-08 01:34:10 +02:00
w0rp
0ae4ea23c8
#1888 Support names with minuses in Clojure and Lisp
2018-09-07 19:27:42 +01:00
Bartolomeo Stellato
68ac4d1095
Fix julia escaping + minor edits
2018-09-07 14:13:44 -04:00
Bartolomeo Stellato
f64f0bb48c
Added tests
2018-09-07 13:16:22 -04:00
Bartolomeo Stellato
df72c5f1c1
Added various files to integrate julia. Still not working.
2018-09-07 11:11:29 -04:00
w0rp
e0fe97e0a8
Merge pull request #1883 from hsanson/add-solargraph-yml-to-root-path-search
...
Add solargraph.yml file as root path search file.
2018-09-06 20:34:34 +01:00
w0rp
580bd36773
Fix #1800 - Enable non-blocking writes where available
2018-09-06 20:04:35 +01:00
Horacio Sanson
a9333c2866
Fix #1822 - support go-langserver lsp.
2018-09-06 13:46:59 +09:00
Derek P Sifford
0ed4a5bbcc
add uncrustify fixer for several languages
2018-09-04 20:39:32 -04:00
Horacio Sanson
044c762c85
Add solargraph.yml file as root path search file.
...
Solargraph allows to set configuration options by creating a
.solargraph.yml file at the root of the project using it. Therfore this
file is a good canditate for finding ruby projects root paths.
Initial discussion:
https://github.com/w0rp/ale/issues/1874#issuecomment-418316168
2018-09-05 07:12:04 +09:00
w0rp
d476578a40
Improve ALE project style checking
...
* 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-09-04 16:51:18 +01:00
w0rp
8f2e1c393f
Merge pull request #1871 from Ophirr33/master
...
added sbtserver linter
2018-09-04 11:22:57 +01:00
w0rp
fddbfdef12
#1875 Do not lint and so on when an operator is pending
2018-09-03 13:59:56 +01:00
w0rp
a746ea2bfc
#1875 - Do not echo cursor messages when keys are pending
2018-09-03 11:41:54 +01:00
Ty Coghlan
3d016f1697
Changed sbtserver to just work off of the address variable
2018-09-01 21:03:29 -04:00
Ty Coghlan
8e3bf10592
added sbtserver linter
2018-08-30 22:10:38 -04:00
Bartolomeo Stellato
8bf5d144ed
Started adding julia languageserver
2018-08-30 15:40:04 -04:00
w0rp
ee3142b601
Merge pull request #1866 from Steap/feature/xmllint-fixer
...
Add support for xmllint as a fixer.
2018-08-28 23:36:00 +01:00
w0rp
79f02fce69
Merge pull request #1856 from sbl/ocamlformat
...
add ocamlformat support
2018-08-28 23:28:30 +01:00
w0rp
d4ce201cc2
Merge pull request #1849 from hsanson/1848-add-support-for-java-lsp
...
Add vscode-java-language-server linter
2018-08-28 22:53:11 +01:00
Cyril Roelandt
cc5ad6491f
Add support for xmllint as a fixer.
2018-08-28 23:43:52 +02:00
w0rp
09e43ab16b
Merge pull request #1847 from hsanson/1846-support-solargraph-lsp
...
1846 support solargraph lsp
2018-08-28 21:52:18 +01:00
w0rp
339930ad68
Fix #1859 - Make the connection ID available on the connection object
2018-08-28 10:18:37 +01:00
w0rp
b6112aedc3
Merge pull request #1861 from dimbleby/goto-definition-column
...
Fix out-by-one error in column on goto-definition
2018-08-28 10:11:44 +01:00
David Hotham
aef11cc0d2
Fix out-by-one error in column on goto-definition
...
Fixes #1860
2018-08-27 13:53:40 +01:00
Horacio Sanson
1980245b94
Add solargraph LSP linter.
2018-08-27 10:58:17 +09:00
sbl
aa015ec4db
add ocamlformat support
2018-08-26 13:47:56 +02:00
w0rp
c4eca7c417
Use one LSP connection per project
2018-08-24 13:16:58 +01:00
fenuks
9d7c48038c
Add clazy as cpp linter
2018-08-24 10:52:33 +01:00
w0rp
1f26fc4013
Merge pull request #1841 from dabbeg/fix-importjs-fixer
...
importjs fixer not reading correct executable variable name
2018-08-24 10:31:18 +01:00
Davíð Guðni
f526fc68d1
importjs fixer not reading correct executable variable name
2018-08-24 09:04:17 +00:00
Horacio Sanson
3afff5a24c
Add vscode-java-language-server linter
2018-08-24 16:28:15 +09:00
Evan Borden
707b539969
Add hlint refactoring as a fixer ( #1836 )
2018-08-23 23:23:54 +01:00
Evan Borden
2600524274
Add stylish-haskell as a fixer ( #1837 )
...
* Add stylish-haskell as a fixer
`stylish-haskell` is a common formatting tool for the haskell toolchain.
It is not as advanced as `brittany` or `hindent`, but it is commonly
used for formatting of imports and data declarations. This adds it as a
fixer in ALE.
2018-08-23 23:14:59 +01:00
w0rp
a366d325a7
Merge pull request #1815 from fredemmott/lsp-related-information
...
If present, use new-ish LSP 'relatedInformation' field for :ALEDetail
2018-08-20 16:59:21 +01:00
w0rp
61a0716837
Use &l:equalprg so local options do not override global ones
2018-08-17 10:10:49 +01:00
w0rp
ad8b260519
Fix #1816 - Fix a type error in the initialize message handler
2018-08-16 14:19:12 +01:00
Fred Emmott
4923d48d53
Correct related information line numbers from 0-based to 1-based
2018-08-15 14:46:57 -07:00
Fred Emmott
c467db3ed9
Better formatting
2018-08-15 14:31:30 -07:00
Fred Emmott
484a70f0c0
Use new-ish LSP 'relatedInformation' field for :ALEDetail
2018-08-15 14:19:32 -07:00
w0rp
9cdd8b67b2
Stop creating closure function in global scope by using partials instead
2018-08-15 00:20:47 +01:00
w0rp
6167f75628
Merge pull request #1802 from flybayer/fix-prettier-d
...
Don't use error output from prettier_d for fixing files
2018-08-10 18:28:38 +01:00
w0rp
e9086dd55c
Revert " #1459 Always run ESLint in the directory of the file being checked"
...
This reverts commit 634bf73f52
.
2018-08-10 11:49:17 +01:00
Brandon Bayer
63c66dc5d2
fix: Don't use error output from prettier_d for fixing files
2018-08-09 12:56:53 -04:00
w0rp
634bf73f52
#1459 Always run ESLint in the directory of the file being checked
2018-08-09 08:51:27 +01:00
w0rp
fc94fd4deb
Use lambdas for LSP message callbacks, which are easier to manage
2018-08-08 20:08:51 +01:00
Bradford Larsen
023ade872e
Adjust the jumplist with line numbers too when opening a new file
...
This further addresses Issue #1758 .
2018-08-07 16:10:36 -04:00
w0rp
217284360d
Simplify the code for most linters and tests with closures
2018-08-02 23:44:12 +01:00
w0rp
9ef266d050
Merge pull request #1770 from fredemmott/hack
...
Split Hack out from PHP, modernize
2018-08-02 21:58:57 +01:00
Fred Emmott
a728f074f7
Disable HHAST by default
...
it executes $PROJECT/vendor/bin/hhast, so that's not a good idea.
2018-08-02 13:50:56 -07:00
w0rp
94270402cb
Fall back on flags for other C/C++ files in the same directory
2018-08-02 21:48:56 +01:00
w0rp
ccbdfcd76f
Include the error in the detailed error message in the GCC handler
2018-08-02 21:45:16 +01:00
Paul Reimer
cb8ad9fbd8
Javascript prettier filetype detect fix ( #1769 )
...
Support fixing YAML and HTML files with prettier for files without file extensions.
2018-08-02 20:20:19 +01:00
Fred Emmott
5ff4e27e17
Update suggested filetypes for hackfmt
2018-08-02 11:28:57 -07:00
Fred Emmott
238201805d
Split Hack out from PHP, modernize
...
fixes #1738
- Replace previous `hh_client` usage with LSP client
- Add `HHAST` linter
- Split Hack from PHP: Hack is increasingly diverging from PHP:
- Hack tools do not understand PHP
- Most PHP tools do not handle Hack code well (including vim's syntax
highightling files)
- http://github.com/hhvm/vim-hack now sets filetype to `hack`
2018-08-02 11:28:56 -07:00
w0rp
5f024eda09
Merge pull request #1771 from fredemmott/lsp
...
Show LSP diagnostic codes for `%code%` in message formats
2018-08-02 19:22:45 +01:00
Fred Emmott
2768bf15ba
Handle LSP codes for %code%
in message formats
...
fixes #1767
2018-08-02 09:06:48 -07:00
Travis Cline
2ac9e454d6
python: add lookup path for flake8 config
2018-08-01 20:07:11 -07:00
w0rp
3aa5e0f9dc
Add a type check for the error data from LSP servers
2018-08-01 23:01:30 +01:00
w0rp
16d0c52d24
Indicate that a C compiler failed due to problems in a header file
2018-07-30 20:09:43 +01:00
w0rp
ac4bac8ea4
Add support for parsing compile_commands.json files for C compilers
2018-07-29 19:24:27 +01:00
w0rp
daab1a08db
#1700 - Try using a 0ms timer showing the completion menu
2018-07-26 23:08:38 +01:00
w0rp
0012c78b02
#1700 - Temporarily change completion options when the feedkeys() keybind is fired
2018-07-25 20:13:59 +01:00
w0rp
4ed35f7247
Fix #1758 - Set marks before going to definitions
2018-07-25 19:43:25 +01:00
w0rp
c4cb1c7050
Merge pull request #1539 from JonnyRa/jump-list-fix
...
set marks to add to jump list
2018-07-25 19:41:00 +01:00
w0rp
06132954b1
Switch to v:t_ variables for type checks
2018-07-25 01:27:28 +01:00
sridhars
4446cf15be
Merge pull request #1 from w0rp/master
...
update
2018-07-24 16:42:26 -05:00
w0rp
d368f090ae
#1754 Require snake_case names for linters in the codebase
2018-07-24 10:05:44 +01:00
w0rp
2a861dfd40
Make the test C import path test fail less
2018-07-23 22:03:28 +01:00
w0rp
d9579dbbe9
Get tests to pass in Vim 8.1
2018-07-23 20:41:48 +01:00
w0rp
7bf3a749d0
#1751 Handle LSP completion results without the 'kind' attribute
2018-07-23 10:21:09 +01:00