|
1 |
| -let s:language_server_version = '1.8.30' |
2 |
| -let s:language_server_sha = '98dd1530ef0dce8888caa538e96fe193a7956819' |
| 1 | +let s:language_server_version = '1.8.37' |
| 2 | +let s:language_server_sha = 'c9ee08628270937c0e7c7740dd6931363217942f' |
3 | 3 | let s:root = expand('<sfile>:h:h:h')
|
4 | 4 | let s:bin = v:null
|
5 | 5 |
|
@@ -107,12 +107,33 @@ function! s:FindPort(dir, timer) abort
|
107 | 107 | if time - getftime(path) <= 5 && getftype(path) ==# 'file'
|
108 | 108 | call codeium#log#Info('Found port: ' . name)
|
109 | 109 | let s:server_port = name
|
| 110 | + call s:RequestServerStatus() |
110 | 111 | call timer_stop(a:timer)
|
111 | 112 | break
|
112 | 113 | endif
|
113 | 114 | endfor
|
114 | 115 | endfunction
|
115 | 116 |
|
| 117 | +function! s:RequestServerStatus() abort |
| 118 | + call codeium#server#Request('GetStatus', {'metadata': codeium#server#RequestMetadata()}, function('s:HandleGetStatusResponse')) |
| 119 | +endfunction |
| 120 | + |
| 121 | +function! s:HandleGetStatusResponse(out, err, status) abort |
| 122 | + " Check if the request was successful |
| 123 | + if a:status == 0 |
| 124 | + " Parse the JSON response |
| 125 | + let response = json_decode(join(a:out, "\n")) |
| 126 | + let status = response.status |
| 127 | + " Check if there is a message in the response and echo it |
| 128 | + if has_key(status, 'message') && !empty(status.message) |
| 129 | + echom status.message |
| 130 | + endif |
| 131 | + else |
| 132 | + " Handle error if the status is not 0 or if there is stderr output |
| 133 | + call codeium#log#Error(join(a:err, "\n")) |
| 134 | + endif |
| 135 | +endfunction |
| 136 | + |
116 | 137 | function! s:SendHeartbeat(timer) abort
|
117 | 138 | try
|
118 | 139 | call codeium#server#Request('Heartbeat', {'metadata': codeium#server#RequestMetadata()})
|
|
0 commit comments