summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorDalius Dobravolskas <dalius.dobravolskas@gmail.com>2020-11-14 12:15:17 +0200
committerGitHub <noreply@github.com>2020-11-14 10:15:17 +0000
commit01800a23addb52788265e0349f519556dab41301 (patch)
treed8f98728e4695718e9d7e142945cf7051a71044a /plugin
parent1ec573bf0df6cbc5eef8b593f93081e4c1837c1b (diff)
downloadale-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.vim3
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.