github / github/copilot.vim

LS job fails on windows vim if &shell is powershell

Abierto
#276 1 comentario 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
Vim Script
Estrellas
11.7k
Forks
810
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

The language server runs in node.js and is launched using:
```pwsh
> npx @github/copilot-language-server@^1.408.0 --stdio
```
the problem is that the plugin (see `copilot.vim/autoload/copilot/client.vim` function `copilot#client#New()`)
uses:
```vim
job_start(['npx', '@github/copilot-language-server@^1.408.0', '--stdio'], ...)
```
which fails (is a win32 `CreateProcess(...)` issue) and should instead use:
```vim
job_start('npx "@github/copilot-language-server@^1.408.0" --stdio', ...)
```
The following patch works for me:
```
diff --git a/autoload/copilot/client.vim b/autoload/copilot/client.vim
index c3ec862..c052bc8 100644
--- a/autoload/copilot/client.vim
+++ b/autoload/copilot/client.vim
@@ -736,7 +736,7 @@ function! copilot#client#New() abort
let instance.workspaceFolders[folder.uri] = v:true
endfor
call copilot#logger#Debug('Spawning ' . join(command, ' '))
- let is_win_shell = has('win32') && &shellcmdflag !~# '^-'
+ let is_win_shell = has('win32') && ( &shell =~? 'powershell\|pwsh' || &shellcmdflag !~# '^-')
if is_win_shell && command[0] !~# '[\/]'
let exepath = exepath(command[0])
if exepath !~? '\.exe$\|^$'
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.