Skip to content

Linux: When Prompt include Unicode Char, Cursor Positioned Error #5856

Closed

Description

@fcharlie

Steps to reproduce

cd /tmp
mkdir 测试路径
cd 测试路径

Expected behavior

Actual behavior

2018-01-11 10-10-36

2018-01-11 10-16-56

Environment data

> $PSVersionTable
Name                           Value                                                                                   
----                           -----                                                                                   
PSVersion                      6.0.0                                                                                   
PSEdition                      Core                                                                                    
GitCommitId                    v6.0.0                                                                                  
OS                             Linux 4.10.0-42-generic #46~16.04.1-Ubuntu SMP Mon Dec 4 15:57:59 UTC 2017              
Platform                       Unix                                                                                    
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                 
PSRemotingProtocolVersion      2.3                                                                                     
SerializationVersion           1.1.0.1                                                                                 
WSManStackVersion              3.0                                                                                     

This problem is due to the fact that the character length is not calculated correctly. UTF-8 encoding, the length of the character may be 1~4 bytes. So the cursor is not positioned correctly.

Activity

  1. added
    Issue-Questionideally support can be provided via other mechanisms, but sometimes folks do open an issue to get a
    on Jan 11, 2018
  2. lzybkr commented on Jan 11, 2018

    @lzybkr
    Contributor

    Run Install-Module PSReadLine -AllowPrerelease -Force -AllowClobber to get 2.0.0-beta1 with the fix.

    PowerShell 6.1 will soon pull this version as well, see #5759

    If you're running on Linux, you might need to rename the install directory to fix the case, I think it gets installed with PSReadline instead of PSReadLine. I'm looking in to how that can be fixed.

  3. rkeithhill commented on Jan 11, 2018

    @rkeithhill
    Collaborator

    Ah, then ignore my comment - PowerShell/PSReadLine#555 (comment), Ah yup, this command sudo mv /usr/local/share/powershell/Modules/PSReadline/ /usr/local/share/powershell/Modules/PSReadLine/ fixed it for me.

  4. lzybkr commented on Jan 11, 2018

    @lzybkr
    Contributor

    Keith Hill (@rkeithhill) and anyone else - the PSGallery team have kindly updated the back end, so PSReadLine 2.0 should now install correctly on Linux/Mac w/o needing to rename the directory.

  5. fcharlie commented on Jan 12, 2018

    @fcharlie
    Author
  6. lzybkr commented on Jan 13, 2018

    @lzybkr
    Contributor

    chuanjiao10 - that's definitely a bug, go ahead and open an issue in the PSReadLine repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue-Questionideally support can be provided via other mechanisms, but sometimes folks do open an issue to get aResolution-AnsweredThe question is answered.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions