Syntax checker does not work with workspaces in PowerShell
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 48/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- vim
- 领域
- tooling
调研方向
Start with syntax_checkers/rust/cargo.vim, especially the workspace command construction around the lines linked in the issue, and inspect how the Vim shell setting identifies PowerShell. Reproduce the failure using the provided PowerShell configuration and a Rust workspace. Done when workspace syntax checking chains commands in a way PowerShell accepts while preserving the existing behavior for other shells.
由索引模型根据 Issue 内容生成。
描述
- rust.vim version: current
Steps to reproduce:
- have MS PowerShell as the shell in which vim runs (e.g.
$Env:ComSpec=C:\WINDOWS\SysWOW64\WindowsPowerShell\v1.0\powershell.exe)
" in .vimrc
" Set Powershell as the shell of choice
let &shell = has('win32') ? 'powershell' : 'pwsh'
let &shellcmdflag = '-NoLogo -NoProfile -ExecutionPolicy RemoteSigned -Command [Console]::InputEncoding=[Console]::OutputEncoding=[System.Text.Encoding]::UTF8;'
let &shellredir = '2>&1 | Out-File -Encoding UTF8 %s; exit $LastExitCode'
let &shellpipe = '2>&1 | Out-File -Encoding UTF8 %s; exit $LastExitCode'
set shellquote=\" shellxquote=
set noshelltemp
- have a rust project with a workspace
- edit a file inside the workspace (e.g. a
.rsfile inside the embedded library) so thatsyntax-checkers/rust/cargo.vimwould have to enter this fork of thecargo.vimscript - save the
.rssource file so that rust syntax-checker runs
Expected vs. actual behavior:
Actual:

- This happens because PowerShell does not chain commands with
&&like other shells, so it errors out at(cd <path> && cargo check)
Expected:
- Chain commands with
;if Powershell is used. - I corrected it for myself like this (replaced
&&with) ; () in here:
if rust#GetConfigVar('rust_cargo_avoid_whole_workspace', 1)
if l:root_cargo_toml !=# l:nearest_cargo_toml
let makeprg = "cd " . fnamemodify(l:nearest_cargo_toml, ":p:h")
\ . ") ; (" . makeprg
endif
else
let makeprg = "cd " . fnamemodify(l:root_cargo_toml, ":p:h")
\ . ") ; (" . makeprg
endif
- a mere
;is not enough because then you'd end one powershell command without closing the parenthesis. - The script needs some logic to do this type of command chaining only when PowerShell is used as shell.
- 主要语言
- Vim Script
- 星标
- 4.2k
- 派生
- 323
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
rust-lang/rust.vim 的其他 Issue
-
难度 1/5 1-3 小时 新手友好度 76/100
-
It's Dead, Jim!未关闭
难度 5/5 一周以上 新手友好度 15/100
-
Remove hard coded edition fallback可能已有人在做 @alerque 于 230 天前认领。 未关闭
难度 1/5 1 小时以内 新手友好度 35/100
-
难度 1/5 1 小时以内 新手友好度 55/100
-
难度 3/5 1-2 天 新手友好度 45/100
查看 rust-lang/rust.vim 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 85/100
维护者通常 1 天内回复
-
bug documentation
难度 2/5 1-3 小时 新手友好度 83/100
cqframework/vscode-cql#198 ·
-
bug documentation good first issue help wanted testing
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
-
Show evidence time and supersede warnings in the memory inspector可能已有人在做 @Sinchanak-212 今天认领。 未关闭area: ux good first issue priority: medium
难度 2/5 1-3 小时 新手友好度 84/100
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
rohit746/pdf-view.nvim#109 ·
维护者通常 1 天内回复