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