github / github/copilot.vim

LS job fails on windows vim if &shell is powershell

Đang mở
#276 1 bình luận 1 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Vim Script
Star
11.7k
Fork
810
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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$\|^$'
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.