Default `g:ale_disable_lsp` to a new mode `'auto'` by default. With this
setting applied, ALE will now check for the presence of nvim-lspconfig
and automatically turn off particular LSP linters if already configured
via nvim-lspconfig.
For users that do not use `nvim-lspconfig`, everything should work as
before.
* Allow customization of all floating window borders
Users may not necessarily want the same border character for top+bottom
or left+right, so allow all eight border characters to be configured in
g:ale_floating_window_border.
For backwards compatibility, the old rules are still applied if only six
elements are given.
* Reorder popup border array for compatibility
* ALEFileRename command added.
This command renames file and uses tsserver `getEditsForFileRename` to
fix import paths in Typescript files.
* ale#util#Input fix
* Even more fixes.
* Linting error fix.
* implement vim popups for preview
Details on implementation
-------------------------
- we make use of the |popupwin| api
- we split implementations (Nvim* vs. Vim* prefix) and call the right
one based on has('nvim')
- we follow a similar structure in each function, using the relevant API
- popup_list, win_execute, popup_settext in VimShow
- popup_create in VimCreate
- popup_close in VimClose
Some differences
----------------
- we DON'T have VimPrepareWindowContent because we use arguments to
popup_create for borders, padding, etc., and it also takes care of
buffer creation.
- we follow the protocol of setting and using w:preview for information,
but we only need the ID
- InsertEnter is the only autocommand required, because of
popup_create's moved argument. Any cursor movement with 'any' will
close the popup. This in turns means VimClose is only called from
InsertMode, so no mode-restoration necessary
- we don't tweak too much in the buffer because vim's popup buffers
already have most relevant settings and aren't editable without
calling popup functions.
- I enabled scrollbars, close buttons, dragging, and resizing
- vim popups get as big as they need to by default, so no worrying about
truncating/hiding/size
Note: we might want to consider changing w:preview to w:ale_preview to
avoid clashes if someone else tries to use the same variable
* floating window: document that vim supports it
* lint: fix indent/cont. lines
* The build status badge is now for GitHub Actions.
* The documentation now mentions GitHub instead.
* Warnings in the YAML file have been fixed or ignored.
The options for parsing `make -n` and `compile_commands.json` flags
are now enabled by default, so people can start getting better flags
for their files by default.
`compile_commands.json` flags are now preferred over `make -n` results,
to make the options work better by default.
This commit adds support for renaming symbols in tsserver and with LSP tools, and for organising imports with tsserver. Completion results for symbols that can be imported are now suggested if enabled for tsserver completion done via ALE.
The default for `g:ale_lint_on_insert_leave` was recently changed to 1,
so it now needs to be explicitly set to 0 to run linters only when files
are saved.
Make it very clear in every single place that the setting for ALE's own
completion implementation is mentioned that you should not enable it if
you want to use ALE as a completion source for other plugins like
Deoplete.