mirror of
https://github.com/amix/vimrc
synced 2025-08-07 06:05:00 +08:00
Updated plugins
This commit is contained in:
@ -24,12 +24,15 @@ function! ale#lsp#message#GetNextVersionID() abort
|
||||
return l:id
|
||||
endfunction
|
||||
|
||||
function! ale#lsp#message#Initialize(root_path) abort
|
||||
function! ale#lsp#message#Initialize(root_path, initialization_options) abort
|
||||
" TODO: Define needed capabilities.
|
||||
" NOTE: rootPath is deprecated in favour of rootUri
|
||||
return [0, 'initialize', {
|
||||
\ 'processId': getpid(),
|
||||
\ 'rootPath': a:root_path,
|
||||
\ 'capabilities': {},
|
||||
\ 'initializationOptions': a:initialization_options,
|
||||
\ 'rootUri': ale#path#ToURI(a:root_path),
|
||||
\}]
|
||||
endfunction
|
||||
|
||||
@ -116,3 +119,22 @@ function! ale#lsp#message#Definition(buffer, line, column) abort
|
||||
\ 'position': {'line': a:line - 1, 'character': a:column},
|
||||
\}]
|
||||
endfunction
|
||||
|
||||
function! ale#lsp#message#References(buffer, line, column) abort
|
||||
return [0, 'textDocument/references', {
|
||||
\ 'textDocument': {
|
||||
\ 'uri': ale#path#ToURI(expand('#' . a:buffer . ':p')),
|
||||
\ },
|
||||
\ 'position': {'line': a:line - 1, 'character': a:column},
|
||||
\ 'context': {'includeDeclaration': v:false},
|
||||
\}]
|
||||
endfunction
|
||||
|
||||
function! ale#lsp#message#Hover(buffer, line, column) abort
|
||||
return [0, 'textDocument/hover', {
|
||||
\ 'textDocument': {
|
||||
\ 'uri': ale#path#ToURI(expand('#' . a:buffer . ':p')),
|
||||
\ },
|
||||
\ 'position': {'line': a:line - 1, 'character': a:column},
|
||||
\}]
|
||||
endfunction
|
||||
|
@ -1,6 +1,20 @@
|
||||
" Author: w0rp <devw0rp@gmail.com>
|
||||
" Description: Parsing and transforming of LSP server responses.
|
||||
|
||||
" Constants for error codes.
|
||||
" Defined by JSON RPC
|
||||
let s:PARSE_ERROR = -32700
|
||||
let s:INVALID_REQUEST = -32600
|
||||
let s:METHOD_NOT_FOUND = -32601
|
||||
let s:INVALID_PARAMS = -32602
|
||||
let s:INTERNAL_ERROR = -32603
|
||||
let s:SERVER_ERROR_START = -32099
|
||||
let s:SERVER_ERROR_END = -32000
|
||||
let s:SERVER_NOT_INITIALIZED = -32002
|
||||
let s:UNKNOWN_ERROR_CODE = -32001
|
||||
" Defined by the protocol.
|
||||
let s:REQUEST_CANCELLED = -32800
|
||||
|
||||
" Constants for message severity codes.
|
||||
let s:SEVERITY_ERROR = 1
|
||||
let s:SEVERITY_WARNING = 2
|
||||
@ -72,3 +86,31 @@ function! ale#lsp#response#ReadTSServerDiagnostics(response) abort
|
||||
|
||||
return l:loclist
|
||||
endfunction
|
||||
|
||||
function! ale#lsp#response#GetErrorMessage(response) abort
|
||||
if type(get(a:response, 'error', 0)) isnot type({})
|
||||
return ''
|
||||
endif
|
||||
|
||||
let l:code = get(a:response.error, 'code')
|
||||
|
||||
" Only report things for these error codes.
|
||||
if l:code isnot s:INVALID_PARAMS && l:code isnot s:INTERNAL_ERROR
|
||||
return ''
|
||||
endif
|
||||
|
||||
let l:message = get(a:response.error, 'message', '')
|
||||
|
||||
if empty(l:message)
|
||||
return ''
|
||||
endif
|
||||
|
||||
" Include the traceback as details, if it's there.
|
||||
let l:traceback = get(get(a:response.error, 'data', {}), 'traceback', [])
|
||||
|
||||
if type(l:traceback) is type([]) && !empty(l:traceback)
|
||||
let l:message .= "\n" . join(l:traceback, "\n")
|
||||
endif
|
||||
|
||||
return l:message
|
||||
endfunction
|
||||
|
@ -61,3 +61,19 @@ function! ale#lsp#tsserver_message#Definition(buffer, line, column) abort
|
||||
\ 'file': expand('#' . a:buffer . ':p'),
|
||||
\}]
|
||||
endfunction
|
||||
|
||||
function! ale#lsp#tsserver_message#References(buffer, line, column) abort
|
||||
return [0, 'ts@references', {
|
||||
\ 'line': a:line,
|
||||
\ 'offset': a:column,
|
||||
\ 'file': expand('#' . a:buffer . ':p'),
|
||||
\}]
|
||||
endfunction
|
||||
|
||||
function! ale#lsp#tsserver_message#Quickinfo(buffer, line, column) abort
|
||||
return [0, 'ts@quickinfo', {
|
||||
\ 'line': a:line,
|
||||
\ 'offset': a:column,
|
||||
\ 'file': expand('#' . a:buffer . ':p'),
|
||||
\}]
|
||||
endfunction
|
||||
|
Reference in New Issue
Block a user