Runic.jl: A code formatter with rules set in stone

Right, they shouldn’t cause a problem in the end though because Runic doesn’t hit the deprecations in JuliaSyntax (which is the source of these errors). You can silence them by

diff --git a/contrib/juliac-buildscript.jl b/contrib/juliac-buildscript.jl
index 50f96198c4..1745b21ad4 100644
--- a/contrib/juliac-buildscript.jl
+++ b/contrib/juliac-buildscript.jl
@@ -123,6 +123,7 @@ end
     mapreduce_empty(::typeof(identity), op::F, T) where {F} = reduce_empty(op, T)
     mapreduce_empty(::typeof(abs), op::F, T) where {F}     = abs(reduce_empty(op, T))
     mapreduce_empty(::typeof(abs2), op::F, T) where {F}    = abs2(reduce_empty(op, T))
+    depwarn(msg, funcsym; force::Bool=false) = nothing
 end
 @eval Base.Unicode begin
     function utf8proc_map(str::Union{String,SubString{String}}, options::Integer, chartransform::F = identity) where F

(xref add --trim option for generating smaller binaries by JeffBezanson · Pull Request #55047 · JuliaLang/julia · GitHub) or change Runic.jl/juliac/Makefile at 150ced92abc487b3ce47a0ce5d80aec501b6baab · fredrikekre/Runic.jl · GitHub from --unsafe-warn to --unsafe.

Runic version 1.0.0

Runic is now registered in General. There have been some changes to the style, and a bunch of bugs have been found and fixed after using Runic “in the wild”. I think it should be very robust at this point. Some packages which now uses Runic include Documenter.jl, Ferrite.jl, and Prometheus.jl.

Some things I want to mention:

Cheers!

19 Likes

Brilliant! Congratulations on such a comprehensive release :grinning:

I’m looking forward to adopting Runic (with a rules tweak or two) in my projects and wiring it up as an autoformatter for Julia code I write.

5 Likes