Sebastian Pfitzner
Sebastian Pfitzner
Requires https://github.com/julia-vscode/LanguageServer.jl/pull/1138. Fixes https://github.com/julia-vscode/julia-vscode/issues/2989.
This is implemented on top of https://github.com/julia-vscode/LanguageServer.jl/pull/1137.
With #77, #80, and #81, the only remaining parsing errors are escape sequence errors like https://github.com/JuliaLang/JuliaSyntax.jl/issues/67. Imho `unescape_julia_string` should never throw an exception. Instead, we should already check escape sequence...
Consider ``` julia> JuliaSyntax.parse(JuliaSyntax.GreenNode, "if true; x ? true : elseif true end")[1] 1:35 │[toplevel] 1:35 │ [if] 1:2 │ if 3:3 │ Whitespace 4:7 │ true ✔ 8:26 │...
``` julia> Meta.parse(raw""" "\777" """) "\xff" julia> JuliaSyntax.parse(Expr, raw""" "\777" """) ERROR: ArgumentError: octal escape sequence out of range Stacktrace: [1] unescape_julia_string(io::IOBuffer, str::SubString{String}) @ JuliaSyntax ~/.julia/packages/JuliaSyntax/OawBx/src/value_parsing.jl:172 [2] unescape_julia_string(str::SubString{String}, is_cmd::Bool, is_raw::Bool)...
This makes `parse(Expr, ...)` succeed even when error nodes were emitted previously. I'm not sure we even want this, but I feel like there's some value to never getting an...
Would be nice to support logging progress increments, so that e.g. something like ``` @withprogress name="threaded iteration" begin Threads.@threads for i in 1:12 sleep(2) @logprogress increment = 1/12 end end...
Fixes https://github.com/JunoLab/ProgressLogging.jl/issues/40.
Ok, this may look a bit weird, but makes sure we support arbitrary objects (with the right fields) instead of only this package's `Progress` object. The motivation for this is...