summaryrefslogtreecommitdiff
path: root/autoload/ale/lsp/tsserver_message.vim
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/ale/lsp/tsserver_message.vim')
-rw-r--r--autoload/ale/lsp/tsserver_message.vim36
1 files changed, 36 insertions, 0 deletions
diff --git a/autoload/ale/lsp/tsserver_message.vim b/autoload/ale/lsp/tsserver_message.vim
index b9fafaa0..3c1b47ed 100644
--- a/autoload/ale/lsp/tsserver_message.vim
+++ b/autoload/ale/lsp/tsserver_message.vim
@@ -103,3 +103,39 @@ function! ale#lsp#tsserver_message#OrganizeImports(buffer) abort
\ },
\}]
endfunction
+
+function! ale#lsp#tsserver_message#GetCodeFixes(buffer, line, column, end_line, end_column, error_codes) abort
+ " The lines and columns are 1-based.
+ " The errors codes must be a list of tsserver error codes to fix.
+ return [0, 'ts@getCodeFixes', {
+ \ 'startLine': a:line,
+ \ 'startOffset': a:column,
+ \ 'endLine': a:end_line,
+ \ 'endOffset': a:end_column + 1,
+ \ 'file': expand('#' . a:buffer . ':p'),
+ \ 'errorCodes': a:error_codes,
+ \}]
+endfunction
+
+function! ale#lsp#tsserver_message#GetApplicableRefactors(buffer, line, column, end_line, end_column) abort
+ " The arguments for this request can also be just 'line' and 'offset'
+ return [0, 'ts@getApplicableRefactors', {
+ \ 'startLine': a:line,
+ \ 'startOffset': a:column,
+ \ 'endLine': a:end_line,
+ \ 'endOffset': a:end_column + 1,
+ \ 'file': expand('#' . a:buffer . ':p'),
+ \}]
+endfunction
+
+function! ale#lsp#tsserver_message#GetEditsForRefactor(buffer, line, column, end_line, end_column, refactor, action) abort
+ return [0, 'ts@getEditsForRefactor', {
+ \ 'startLine': a:line,
+ \ 'startOffset': a:column,
+ \ 'endLine': a:end_line,
+ \ 'endOffset': a:end_column + 1,
+ \ 'file': expand('#' . a:buffer . ':p'),
+ \ 'refactor': a:refactor,
+ \ 'action': a:action,
+ \}]
+endfunction