“The REPL provides syntax highlighting for input as you type. Syntax highlighting is enabled by default…”
But I’m not seeing any highlighting in 1.13:
By contrast, this was my experience in 1.12 with OhMyREPL:
However, OhMyREPL.jl is incompatible with 1.13 and supposedly redundant with it, but that has not been my experience during the beta and now release of 1.13. (I never did receive any official responses.) How do I get that functionality back?
The highlighting is enabled by default, try e.g. "foo" to see string highlighting. The default theme just doesn’t have highlights in your example expression.
I can’t seem to get DoomThemes.jl to work, it completely freezes the REPL when I run for example: DoomThemes.load!(:meltbus)
I’m using Konsole on Linux if that is relevant.
OhMyREPL.jl was updated today to work with Julia 1.13+, so the original syntax highlighting is back without needing to generate my own faces.toml file!
That said, the number of available colorshemes is fairly small.
DoomThemes.jl worked for me. However, it isn’t in the general registry, so you have to add it by url: pkg> add https://code.tecosaur.net/tec/DoomThemes.jl.git
The theme list is larger, but still not large enough. Nothing to match the One Dark Pro VSCode extension for example. It’s also hard to search since there is no obvious ordering to the theme list.
I don’t know if I missed it in the docs somewhere, but what is the best way to permanently change the highlight style? The way I have it now is simply to add the line
@eval colorscheme!("Dracula")
to my startup.jl file along with the standard OhMYREPL.jl startup script.
hmmmmmmm, when I set the colorscheme and restart Julia, the default theme switches back to the Monokai default. I will need to do some more investigation.
Just using OhMyREPL yields Monokai, yes. You need to set the colorscheme in your startup, if you want something different, but you can to that without the eval upfront, at least in my startup just the colorscheme! command works just fine.
start - time() < timeout looks backwards. (it should also probably be using time_ns since time might not be monotonic)
This whole function is using undocumented internal base functions, so it is hard to know what is going on. There is probably a way to do what you are trying to do using tasks, channels, and timers.
Oh yea, that bit is impossible to do correctly with Julia and libuv. I’ve bothered Jameosn and a few others on this. It’s been a while, but I remember trying a whole bunch of alternative approaches.
In the meantime, you can use DoomThemes.load(<theme>, false) (false = don’t do anything with with the current terminal) and DoomThemes.applytheme! should work just fine.