Commit Graph

195 Commits

Author SHA1 Message Date
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
Jerko Steiner b1b05e6e66 Optimize ale#completion#Filter when prefix is "" 2019-01-08 15:10:03 +01: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
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 39c892eff4
#1520 - Add an :ALEDocumentation for tsserver 2018-12-10 20:08:28 +00: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
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
w0rp 4ef2c81e95
Implement LSP symbol search 2018-10-31 16:13:31 +00:00
w0rp 1900b76005
Fix #1938 - Set a default value for an undefined variable 2018-09-20 08:28:51 +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
Felipe Sere cbf0568061
Join the ALECleanupGroup and ensure we don't run cleanup if ale.vim isn't loaded 2018-09-17 15:50:04 +01:00
Felipe Sere fba4cfeae9 To avoid blocking build tools, suspend ALE when suspending vim 2018-09-16 15:57:13 +01:00
w0rp 43d7e8fde9
#1889 Add support for automatically previewing messages based on the cursor position 2018-09-14 12:42:26 +01:00
w0rp 03973c0d09
Explicitly disable ALE for NeoVim versions below 0.2.0 2018-08-04 07:52:34 +01:00
w0rp 0d37aaac7a
Fix #1631 - Disable balloon support for terminals by default 2018-07-20 16:10:25 +01:00
w0rp ac0abc7c1f
Fix #1716 - Replace tempdir() with a wrapper to preserve TMPDIR 2018-07-12 13:05:59 +01:00
w0rp 13a8f9c061
Optimise ale#Var a little 2018-07-04 23:54:14 +01:00
w0rp db85b931ec
Remove deprecated code for the 2.0 release 2018-07-04 08:36:34 +01:00
w0rp fd261d7a17
Move the initialization of augroups to then events file 2018-06-19 20:31:58 +01:00
w0rp e306e5cdb0
Avoid calling ALE cleanup code if ALE never tried to check a buffer 2018-06-19 20:12:33 +01:00
w0rp c0a279f967
Indicate things to be removed in version 2.0 2018-05-28 19:39:49 +01:00
w0rp f2837b5802
#1524 - Define global variables where they are needed 2018-05-28 19:19:20 +01:00
w0rp cae194d1bd
#1524 Replace ale#Set with let in the main file 2018-05-28 17:57:58 +01:00
w0rp e49e7d52bc
#1524 Remove the plugin conflict warnings 2018-05-28 16:47:32 +01:00
Gerry Agbobada 3a3c244723 TUI / GUI tooltip with content from ALEHover (#1556)
* Guard the ballooneval settings

* Mark main objectives to do to get nice Hover

* Make tweaks to make the tooltip work - See " XXX: comments

* Guard balloon_show call

* Use return instead of finish for functions

* ale#hover#show : Add optional arguments to specify arbtirary position

This change is requested to be able to call the function with mouse
position to enable hover information in vim's balloon

* ale#ballon#Disable : Remove feature guards

* ale#balloon : Show 'ALEHover' output on balloon if no diagnostic found

* ale#hover#HandleLSPResponse : remove the check for cursor position

This check prevented the 'ALEHover in balloon' feature, since mouse
position is almost never cursor position.

* ale#balloon#MessageForPos : Change the return of balloonexpr

balloonexpr evaluation now works even without balloon_show for basic
diagnostics, leaving the balloon_show call to ale#hover#Show, which can
then feature guard the call to avoid errors

* ale#hover#Response : Feature guard balloon_show calls

* ale#hover : always display 'Hover' information in messages

Also add a small comment to warn readers the different outputs the
ale#hover#Show will write to

* {LSP,TS}Response : use only variables from the Response

It is clearer that we only rely on l:options to get the relevant data to
build the LSP Response string

* hover#ShowDetails : fix an issue where not having focus broke balloons

The issue was caused by not using a buffer-specific version of getline()
to cap the value of the column sent in the message to LSP. Therefore a
cursor on column 10 in an inactive window could send a message with
column=0, if the active window had a buffer with too few lines

* {LSP,TS}Response : Remove redundant checks for balloon_show call

With the upcoming change in ale_set_balloons default value (see Pull
Request w0rp/ale#1565), this check will be useless

* balloonexpr? : Add a flag to separate hover#Show() calls

The goal of this flag is to make `:ALEHover` calls not pop a balloon
under the cursor, since the user has probably no interest in their
cursor while typing the command

The flag is a default argument which is overridden only in ballonexpr
call of ale#hover#Show, and stays set in the hover_map until the
callback for the LSP handles it.

There are no automated tests for this feature right now, and the nature
of the addition (one optional argument in the API) should make it
transparent to existing tests.

Since the differentiation is now possible, the check for moved cursor
has been put back in ale#hover#HandleLSPResponse

* ale#hover#hover_map : Protect accesses to hover_map

Using get() is safer than trying to access directly with ., as the tests
show.

* Raise timeout to try to get Appveyor happy

* Review : Fix comments

* Review : pass the optional argument 'called_from_balloonexpr' in a Dict

This optional dictionary has documentation just before the function
using it, ale#hover#Show, and allows easier extension in the future.
2018-05-16 21:23:48 +01:00
rhysd 57f0454a55 Improve g:ale_set_balloons default value 2018-05-11 17:46:40 +09:00
w0rp 7d6a303592
Move autocmd commands out of the toggle file, to improve load times 2018-04-23 10:16:48 +01:00
w0rp ef130c4428
#1428 Start implementing LSP hover support 2018-04-22 22:00:25 +01:00
w0rp 286abd12d3
Add support for finding references using LSP servers or tsserver 2018-04-22 19:49:30 +01:00
fenuks a591b191db Make ALEFix support arguments 2018-04-18 02:13:24 +02:00
w0rp f5f3424fcf
#1501 Pass the buffer number from BufWritePost on to ale#fix#Fix 2018-04-13 20:59:05 +01:00
w0rp 7cf3ddf6c4
Close #1439 - Add an :ALEInfoToFile command 2018-04-08 19:04:07 +01:00
w0rp 0a0535546f Add a command for stopping all LSP clients 2018-03-06 10:23:55 +00:00
w0rp 193a4b9336
Satisfy my own checks 2018-03-03 18:13:57 +00:00
w0rp f476c28b29
Add deprecation warnings for old NeoVim versions and old functions 2018-03-03 17:50:09 +00:00
Andrew Crites acbe527e15 Option to open lists vertically (#1381)
* Add configuration option to open lists vertically

* Add tests, clean up vertical list config

* Vertical list option cleanup

* Use is# for tests
* Order properties in documentation alphabetically
2018-03-02 20:22:29 +00:00
w0rp e43e7065da Fix #1115 - Add support for wrapping all commands with an option 2017-12-20 12:20:38 +00:00
w0rp f74e22b938 Clean up ALE linter buffer data when buffers are deleted, not unloaded 2017-12-19 15:35:57 +00:00
w0rp a990188e27 Fix #1176 - Add an option for caching failing executable checks 2017-11-30 10:34:51 +00:00
w0rp 0ab689db0a Allow warnings about trailing blank lines to be hidden for flake8 and pycodestyle 2017-11-28 10:08:34 +00:00
w0rp 7ea3aba5e5 Quietly add go to definition support for tsserver 2017-11-21 00:21:45 +00:00
w0rp e12e5c912c Complain about stray echo lines in the codebase 2017-11-15 12:00:13 +00:00
w0rp 6b2c61a5cc Fix #1128 - Add g:ale_linters_explicit for only enabling linters explicitly 2017-11-14 19:55:46 +00:00
w0rp 16e7dc2371 Fix #1069 Support formatting the loclist messages with g:ale_loclist_msg_format 2017-11-14 10:28:36 +00:00
w0rp 584e0bc7f2 #852 Support formatting echo messages with error codes. No linters set the `code` key yet 2017-11-13 00:47:34 +00:00
w0rp 70623ca8a7 Add support for showing Info severities in echoed messages 2017-11-12 23:19:26 +00:00
w0rp daecbad543 Fix #719 - Add ALEReset and ALEResetBuffer for removing problems for all buffers or one buffer 2017-10-29 17:03:29 +00:00
w0rp 1aa737cdc9 #817 - Document the buffer toggling options, and define plug mappings for everything 2017-10-29 10:55:02 +00:00
w0rp 5fc2b98b73 #817 Add commands for toggling ALE for only the current buffer 2017-10-28 19:36:16 +01:00
w0rp ea3a8e3c62 #817 Move code for toggling ALE to its own file 2017-10-28 15:41:14 +01:00