Open ghyatzo opened 3 weeks ago
Hm, I can't reproduce this on my machine (running Windows 11 on Parallels).
The weird characters suggests that your terminal is interpreting Pkl output as some other charset. This post on stackoverflow might help you: https://stackoverflow.com/questions/57131654/using-utf-8-encoding-chcp-65001-in-command-prompt-windows-powershell-window
This might solve your issue with terminating prompts too?
PS is using the us-ascii
encoding:
PS C:\Users\########> $OutputEncoding
IsSingleByte : True
BodyName : us-ascii
EncodingName : US-ASCII
HeaderName : us-ascii
WebName : us-ascii
WindowsCodePage : 1252
IsBrowserDisplay : False
IsBrowserSave : False
IsMailNewsDisplay : True
IsMailNewsSave : True
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 20127
out of curiosity, what is the encoding on your parallels VM?
Forcing it to UTF-8
doesn't seem to work?
PS C:\Users\#########> $OutputEncoding = [System.Text.UTF8Encoding]::new()
PS C:\Users\#########> $OutputEncoding
BodyName : utf-8
EncodingName : Unicode (UTF-8)
HeaderName : utf-8
WebName : utf-8
WindowsCodePage : 1200
IsBrowserDisplay : True
IsBrowserSave : True
IsMailNewsDisplay : True
IsMailNewsSave : True
IsSingleByte : False
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 65001
PS C:\Users\#########> .\pkl.exe repl
Nov 01, 2024 3:21:28 PM org.jline.utils.Log logr
WARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)
Welcome to Pkl 0.26.3.
Type an expression to have it evaluated.
Type :help or :examples for more information.
pkl0> :clear
;
pkl0>
What i noticed just now though, is this line WARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)
(it was there also before changing encoding) may this be it?
EDIT: I've found out that I was using the built-in Windows PowerShell which apparently it is stuck at 5.1 and left there to die. I've tried installing and using PowerShell7, which uses UTF-8 encoding OOB, but also there I have the same issue:
PowerShell 7.4.6
PS C:\Users\##########> $OutputEncoding
Preamble :
BodyName : utf-8
EncodingName : Unicode (UTF-8)
HeaderName : utf-8
WebName : utf-8
WindowsCodePage : 1200
IsBrowserDisplay : True
IsBrowserSave : True
IsMailNewsDisplay : True
IsMailNewsSave : True
IsSingleByte : False
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 65001
PS C:\Users\##########> .\pkl.exe repl
Nov 01, 2024 3:42:44 PM org.jline.utils.Log logr
WARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)
Welcome to Pkl 0.26.3.
Type an expression to have it evaluated.
Type :help or :examples for more information.
pkl0> :clear <---- Hit ctrl+c to exit here, but the issue persists.
PS C:\Users\##########>
Btw, how do I enable debug logging?
Here's what I see:
PS C:\Users\danielchao> $OutputEncoding
IsSingleByte : True
BodyName : us-ascii
EncodingName : US-ASCII
HeaderName : us-ascii
WebName : us-ascii
WindowsCodePage : 1252
IsBrowserDisplay : False
IsBrowserSave : False
IsMailNewsDisplay : True
IsMailNewsSave : True
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 20127
Try running the steps in the answer here: https://stackoverflow.com/a/57134096/2460186. Mainly, flow where you check a checkbox in the settings panel, and then restart Windows.
I've had console encoding issues with many Java programs on Windows. The only solution that has universally worked for me was to enable "beta support for UTF-8" in Windows as shown here: https://github.com/oracle/graal/issues/8593#issuecomment-2009163353
Sorry, this was an issue on my work computer and had to wait the weekend to get back to it. Turning systemwide UTF-8, fixed the mangled characters, and some end line issues. But didn't make everything smooth:
pkl5> 1 + 4
5
pkl6> IntSeq(1, 10).step(2)
IntSeq(1, 10).step(2)IntSeq(1, 10).step(2) <--- double output?
pkl7> IntSeq(1, 10).step(2.0)
IntSeq(1, 10).step(2.0)–– Pkl Error –– <--- No new line?
Expected value of type Int, but got type Float.
Value: 2.0
2620 | external function step(newValue: Int(isNonZero)): IntSeq
^^^
at pkl.base#IntSeq.step (https://github.com/apple/pkl/blob/0.26.3/stdlib/base.pkl#L2620)
1 | IntSeq(1, 10).step(2.0)
^^^^^^^^^^^^^^^^^^^^^^^
at (repl:pkl7)
pkl8> :clear <--- clear still needs a ; and does nothing.
;
pkl8>
also tab completion doesn't work.
I did some digging around.
It seems that the issue is with jline
and missing either the Jansi
or JNA
libraries (on windows), quoting from the jline
readme:
The dependencies are minimal: you may use JLine without any dependency on *nix systems, but in order to support windows or more advanced usage, you will need to add either Jansi or JNA library.
I am very not handy with JAVA, is there a way to include manually those dependencies? Does it need a Java SDK installed?
I am very not handy with JAVA, is there a way to include manually those dependencies? Does it need a Java SDK installed?
Unless you're using jpkl
, there is no way to fix this yourself. Probably best to wait until this bug has been fixed.
hello, I've been using the repl but the experience has been a bit rough around the edges. I am on windows and perhaps that is why, since i know that window support is just coming together. For example, when I use the repl from the PS there seems to be a struggle with new lines and command submissions:
copy pasting a multiline expression is impossible as it adds
:
characters on every new line?while the pasted content was
There seems to be some jumbled up text in the error messages:
Is this an issue with PS?