AnyMath 文档

Julia语法高亮

[医]照明 库作为一个小的方便包,使用以下语法突出显示Julia代码 [医]朱利亚辛[医]杂丝.

它旨在用于整个标准库和更广泛的生态系统。

功能

highlight(content::Union{AbstractString, IO},
          ast::JuliaSyntax.GreenNode = <parsed content>;
          syntax_errors::Bool = false) -> AnnotatedString{String}

将语法突出显示应用于 内容 使用 [医]朱利亚辛.

默认情况下, JuliaSyntax.帕尔塞尔 用于生成 astignore_errors 关键字参数设置为 真的. 或者,可以提供预先生成的 ast.

何时 syntax_errors 被设置,该 julia_error 面应用于检测到的语法错误。

警告注意,使用的特定面孔 [医]朱利亚辛 以及它们的应用方式可能会发生变化。

*例子*

julia> JuliaSyntaxHighlighting.highlight("sum(1:8)")
"sum(1:8)"

julia> JuliaSyntaxHighlighting.highlight("sum(1:8)") |> Base.annotations
5-element Vector{@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}}:
 @NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((1:3, :face, :julia_funcall))
 @NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((4:4, :face, :julia_rainbow_paren_1))
 @NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((5:5, :face, :julia_number))
 @NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((7:7, :face, :julia_number))
 @NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((8:8, :face, :julia_rainbow_paren_1))
highlight!(content::Union{AnnotatedString, SubString{AnnotatedString}},
           ast::JuliaSyntax.GreenNode = <parsed content>;
           syntax_errors::Bool = false) -> content

修改 内容 通过应用语法高亮显示使用 [医]朱利亚辛.

默认情况下, JuliaSyntax.帕尔塞尔 用于生成 astignore_errors 关键字参数设置为 真的. 或者,可以提供预先生成的 ast.

何时 syntax_errors 被设置,该 julia_error 面应用于检测到的语法错误。

警告请注意,使用的特定面孔 [医]朱利亚辛 以及它们的应用方式可能会发生变化。

*例子*

julia> str = Base.AnnotatedString("sum(1:8)")
"sum(1:8)"

julia> JuliaSyntaxHighlighting.highlight!(str)
"sum(1:8)"

julia> Base.annotations(str)
5-element Vector{@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}}:
 @NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((1:3, :face, :julia_funcall))
 @NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((4:4, :face, :julia_rainbow_paren_1))
 @NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((5:5, :face, :julia_number))
 @NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((7:7, :face, :julia_number))
 @NamedTuple{region::UnitRange{Int64}, label::Symbol, value}((8:8, :face, :julia_rainbow_paren_1))

面孔

重点介绍/亮点! 方法通过将自定义面应用于Julia代码来工作。 作为标准库的一部分,这些面孔使用特权面孔名称,形式 朱莉娅_*. 这些可以在其他软件包中重复使用,并与 面孔。汤姆尔 配置。

不稳定的面使用的特定面 [医]照明 在点发布中,可能会在没有警告的情况下更改。 随着语法突出显示规则的不断完善,更改应该变得越来越少。

当前的一组面及其默认值如下所示:

* 朱莉亚*马克罗:洋红色 * [医]朱莉亚:洋红色 * 朱莉亚_singleton_identifier:继承自 [医]朱莉亚 * julia_类型:黄色 * julia_typedec:亮蓝色 * 朱莉亚*康姆:灰色 * 朱莉亚*斯林:绿色 * 朱莉亚*雷格克斯:继承自 朱莉亚*斯林 * julia_backslash_literal:品红,继承自 朱莉亚*斯林 * 朱莉亚*斯特林*德利姆:亮绿色 * julia_cmdstring:继承自 朱莉亚*斯林 * 朱莉亚*查尔:继承自 朱莉亚*斯林 * julia_char_delim:继承自 朱莉亚*斯特林*德利姆 * 朱莉亚*:鲜红色 * 朱莉亚*布尔:继承自 朱莉亚* * 朱莉亚*芬奇:青色 * 朱莉亚*布拉卡斯特:明亮的蓝色,大胆的 * 朱莉亚*布尔丁:亮蓝色 * 朱利亚_operator:蓝色 * 朱莉亚*康帕特:继承自 朱利亚_operator * 朱莉亚*分配:鲜红色 * 朱莉亚*凯伊文:红色 * 朱莉亚*帕伦塞斯:unstyled * 朱莉亚_unpaired_parentheses:继承自 julia_error朱莉亚*帕伦塞斯 * julia_error:红色背景 * julia_rainbow_paren_1:明亮的绿色,继承自 朱莉亚*帕伦塞斯 * 朱莉亚_rainbow_paren_2:明亮的蓝色,继承自 朱莉亚*帕伦塞斯 * 朱莉亚_rainbow_paren_3:鲜红色,继承自 朱莉亚*帕伦塞斯 * 朱莉亚_rainbow_paren_4:继承自 julia_rainbow_paren_1 * 朱莉亚_rainbow_paren_5:继承自 朱莉亚_rainbow_paren_2 * 朱莉亚_rainbow_paren_6:继承自 朱莉亚_rainbow_paren_3 * 朱莉亚_rainbow_bracket_1:蓝色,继承自 朱莉亚*帕伦塞斯 * 朱莉亚_rainbow_bracket_2:bright_magenta,继承自 朱莉亚*帕伦塞斯 * 朱莉亚_rainbow_bracket_3:继承自 朱莉亚_rainbow_bracket_1 * 朱莉亚_rainbow_bracket_4:继承自 朱莉亚_rainbow_bracket_2 * 朱莉亚_rainbow_bracket_5:继承自 朱莉亚_rainbow_bracket_1 * 朱莉亚_rainbow_bracket_6:继承自 朱莉亚_rainbow_bracket_2 * julia_rainbow_curly_1:亮黄色,继承自 朱莉亚*帕伦塞斯 * julia_rainbow_curly_2:黄色,继承自 朱莉亚*帕伦塞斯 * 朱莉亚_rainbow_curly_3:继承自 julia_rainbow_curly_1 * julia_rainbow_curly_4:继承自 julia_rainbow_curly_2 * 朱莉亚_rainbow_curly_5:继承自 julia_rainbow_curly_1 * 朱莉亚_rainbow_curly_6:继承自 julia_rainbow_curly_2