diff options
author | Dalius Dobravolskas <dalius.dobravolskas@gmail.com> | 2020-11-14 12:15:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-14 10:15:17 +0000 |
commit | 01800a23addb52788265e0349f519556dab41301 (patch) | |
tree | d8f98728e4695718e9d7e142945cf7051a71044a /plugin | |
parent | 1ec573bf0df6cbc5eef8b593f93081e4c1837c1b (diff) | |
download | ale-01800a23addb52788265e0349f519556dab41301.zip |
Support for LSP/tsserver Code Actions (#3437)
* Added tsserver and LSP code action support.
* tsserver refactors support added.
* Handling special case when new text is added after new line symbol.
* ale#code_action#ApplyChanges simplified.
* Initial attempt on LSP Code Actions.
* workspace/executeCommand added.
* Some null checks added.
* Add last column to LSP Code Action message.
* Pass diagnostics to LSP code action.
Previously ApplyChanges code was applied from top-to-bottom that required
extra parameters to track progress and there was bug. I have changed code
to bottom-to-top approach as that does not require those extra parameters
and solved the bug.
Tested with typescript-language-server and it is working.
Diffstat (limited to 'plugin')
-rw-r--r-- | plugin/ale.vim | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/plugin/ale.vim b/plugin/ale.vim index 32ec14ac..7472ea8c 100644 --- a/plugin/ale.vim +++ b/plugin/ale.vim @@ -240,6 +240,8 @@ command! -bar ALEImport :call ale#completion#Import() " Rename symbols using tsserver and LSP command! -bar -bang ALERename :call ale#rename#Execute({'force_save': '<bang>' is# '!'}) +command! -bar -range ALECodeAction :call ale#codefix#Execute(<range>) + " Organize import statements using tsserver command! -bar ALEOrganizeImports :call ale#organize_imports#Execute() @@ -283,6 +285,7 @@ nnoremap <silent> <Plug>(ale_documentation) :ALEDocumentation<Return> inoremap <silent> <Plug>(ale_complete) <C-\><C-O>:ALEComplete<Return> nnoremap <silent> <Plug>(ale_import) :ALEImport<Return> nnoremap <silent> <Plug>(ale_rename) :ALERename<Return> +nnoremap <silent> <Plug>(ale_code_action) :ALECodeAction<Return> nnoremap <silent> <Plug>(ale_repeat_selection) :ALERepeatSelection<Return> " Set up autocmd groups now. |