akinsho / akinsho/toggleterm.nvim

End of line not interpreted in powershell on linux

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

Mô tả

Hi,

I'm using toggle-term without any issues on linux for zsh, bash, python, ...

However when using it with powershell on linux i'm encountering the following issue. I have the following powershell script:

```ps1
Param (
[Parameter(Mandatory, Position = 0)]
[string] $Source,
[Parameter(Mandatory, Position = 1)]
[string] $Target
)

Function Test-Container {
If (Test-Path $Args[0] -PathType Container) { Return $True }
Else { Return $False }
}

Get-ChildItem -Path $Source -Recurse | ForEach-Object {
$sourceFileName = $_.FullName
$targetFileName = $_.FullName.Replace($Source, $Target)

If (Test-Container $PSItem) {
If (-not (Test-Path $targetFileName)) {
Write-Host ("New folder {0}" -f $targetFileName) -ForegroundColor Yellow
New-Item -Path $targetFileName -ItemType Directory | Out-Null
}
}

Else {
If (Test-Path $targetFileName) {
$targetFile = Get-Item -Path $targetFileName
If (($_.LastWriteTime -ne $targetFile.LastWriteTime) -or `
($_.Length -ne $targetFile.Length)) {
Write-Host ("Modified file {0}" -f $sourceFileName) -ForegroundColor Red
Copy-Item -Path $sourceFileName -Destination $targetFileName
}
}
Else {
Write-Host ("New file {0}" -f $sourceFileName) -ForegroundColor Green
Copy-Item -Path $sourceFileName -Destination $targetFileName
}
}
}

Get-ChildItem -Path $Target -Recurse | ForEach-Object {
If (-not (Test-Path $_.FullName.Replace($Target, $Source))) {
Write-Host ("Extra {0} {1}" -f ((Test-Container $_) ? 'folder' : 'file'), `
$_.FullName) -ForegroundColor Red
Remove-Item -Path $_.FullName -Recurse
}
}
```

I toggle my terminal as usual with `ToggleTerm`, launch a powershell interpreter into it with: `pwsh -NoLogo`. And then tries to send the whole file to the terminal using `ToggleTermSendVisualLines`. The whole is indeed sent to the terminal, but appears to be a one liner, in other terms I get the following result:

```ps1
Param ( [Parameter(Mandatory, Position = 0)] [string] $Source, [Parameter(Mandatory, Position = 1)] [string] $Target)Function Test-Container { If (Test-Path $Args[0] -PathType Container) { Return $True } Else { Return $False }}Get-ChildItem -Path $Source -Recurse | ForEach-Object { $sourceFileName = $_.FullName $targetFileName = $_.FullName.Replace($Source, $Target) If (Test-Container $PSItem) { If (-not (Test-Path $targetFileName)) { Write-Host ("New folder {0}" -f $targetFileName) -ForegroundColor Yellow New-Item -Path $targetFileName -ItemType Directory | Out-Null } } Else { If (Test-Path $targetFileName) { $targetFile = Get-Item -Path $targetFileName If (($_.LastWriteTime -ne $targetFile.LastWriteTime) -or ` ($_.Length -ne $targetFile.Length)) { Write-Host ("Modified file {0}" -f $sourceFileName) -ForegroundColor Red Copy-Item -Path $sourceFileName -Destination $targetFileName } } Else { Write-Host ("New file {0}" -f $sourceFileName) -ForegroundColor Green Copy-Item -Path $sourceFileName -Destination $targetFileName } }}Get-ChildItem -Path $Target -Recurse | ForEach-Object { If (-not (Test-Path $_.FullName.Replace($Target, $Source))) { Write-Host ("Extra {0} {1}" -f ((Test-Container $_) ? 'folder' : 'file'), ` $_.FullName) -ForegroundColor Red Remove-Item -Path $_.FullName -Recurse }}
```

It seems that the ends of line are not interpreted when transfering content.

I'm running nvim 0.9.5 on arch linux.

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

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đá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.