Helix 自定义主题

译者注:选自我翻译的 Helix Book,全文档 在此处

要使用主题,请在配置文件 config.toml 最顶端,在第一个部分之前添加 theme = "<name>",或者在运行中使用 :theme <name> 选择它。

创建主题

创建一个以你的主题名称为文件名的文件,即 mytheme.toml,并将其放置在你的 themes 目录下(即 ~/.config/helix/themes)。该目录可能必须事先创建。

defaultbase16_default 是为内置主题保留的,不能被用户定义的主题覆盖。

默认的 theme.toml 可以在 这里 找到,用户提交的主题在 这里

主题文件中的每一行如下:

key = { fg = "#ffffff", bg = "#000000", modifiers = ["bold", "italic"] }

其中 key 表示你要设置的样式,fg 指定前景色,bg 表示背景色,modifiers 是样式修饰符列表。可以省略 bgmodifier 来使用默认设置。

仅指定前景色,请执行以下操作:

key = "#ffffff"

如果键包含点 '.',则必须用引号将其引起来,以防止它被解析为 点键

"key.key" = "#ffffff"

palette

建议定义命名颜色的调色板 (palette),并从主题中的配置值时指向它们。在你的主题文件中添加一个名为 palette 的表:

"ui.background" = "white"
"ui.text" = "black"

[palette]
white = "#ffffff"
black = "#000000"

请记住,[palette] 表在其表头之后包含所有键,因此你应该在普通主题选项之后定义调色板。

默认调色板使用终端的默认 16 种颜色,颜色名称如下所示。配置文件中的 [palette] 部分优先于它,并合并到默认的调色板中。

Color中文
black黑色
red红色
green绿色
yellow黄色
blue蓝调
magenta洋红色
cyan青色
gray灰色
light-red浅红色
light-green淡绿色
light-yellow淡黄色
light-blue淡蓝色
light-magenta浅品红色
light-cyan淡蓝色
light-gray浅灰色
white白色

Modifiers

下列值可以用作修饰符 (modifiers)。你的终端仿真器可能不支持不太常见的修饰符。

Modifier中文
bold粗体
dim暗淡
italic斜体
underlined带下划线
slow_blink慢闪动
rapid_blink快速闪动
reversed反色
hidden隐藏
crossed_out划线

继承现有主题

通过将 inherits 属性设置为现有主题来扩展其他主题。

inherits = "boo_berry"

# Override the theming for "keyword"s:
"keyword" = { fg = "gold" }

# Override colors in the palette:
[palette]
berry = "#2A2A4D"

作用域

以下是可用于设置样式的作用域列表。

语法高亮

这些键与 tree-sitter 作用域相匹配。

对于所产生的给定高亮,样式将基于最长匹配主题键来确定。例如,高亮显示的 function.builtin.static 将匹配关键字 function.builtin,而不是 function

我们使用一组类似 SublimeText 的作用域。另见 TextMate 作用域。

  • attribute 类属性、html 标记属性
  • type 类型
    • builtin 语言提供的原始类型,如 intusize
  • constructor
  • constant (TODO: constant.other.placeholder for %v)

    • builtin 语言提供的特殊常量,如 truefalsenil
      • boolean
    • character
      • escape
    • numeric
      • integer
      • float
  • string (TODO: string.quoted.{single, double}, string.raw/.unquoted)?

    • regexp 正则表达式
    • special
      • path
      • url
      • symbol Erlang/Elixir atoms, Ruby symbols, Clojure keywords
  • comment 注释

    • line 单行注释,如 //
    • block 块注释,如 /* */
      • documentation 文档注释,如 Rust 中的 ///
  • variable 变量

    • builtin 语言保留的变量,如 selfthissuper
    • parameter 函数参数
    • other
      • member 复核数据结构的字段,如结构体、unions
  • label

  • punctuation

    • delimiter 逗号、冒号
    • bracket 圆括号、尖括号等
    • special 字符串插值的大括号
  • keyword

    • control
      • conditional - if, else
      • repeat - for, while, loop
      • import - import, export
      • return
      • exception
    • operator - or, in
    • directive 前端处理程序指令,如 C 中的 #if
    • function - fn, func
    • storage 描述存储数据的关键字
      • type 类型之类的 classfunctionvarlet
      • modifier 存储修饰符,如 staticmutconstref
  • operator - ||, +=, >

  • function

    • builtin
    • method
    • macro
    • special C 中的 preprocessor
  • tag 标签,如 HTML 的 <body>

  • namespace

  • markup

    • heading
      • marker
      • 1, 2, 3, 4, 5, 6 h1-h6 的标题文本
    • list
      • unnumbered
      • numbered
    • bold
    • italic
    • link
      • url 指向链接的 urls
      • label 非 url 链接引用
      • text url 和链接描述的图片
    • quote
    • raw
      • inline
      • block
  • diff 版本控制更改

    • plus
    • minus
    • delta
      • moved 重命名或移动后的文件或修改
界面

这些作用域用于编辑器界面的主题化。

  • markup
    • normal
      • completion 补全弹出的文档窗口 ui
      • hover 悬浮弹出窗口 ui
    • heading
      • completion 补全弹出的文档窗口 ui
      • hover 悬浮弹出窗口 ui
    • raw
      • inline
        • completion 补全弹出的文档窗口 ui
        • hover 悬浮弹出窗口 ui
含义
ui.background
ui.background.separator输入行下方的选取器分隔符
ui.cursor
ui.cursor.insert
ui.cursor.select
ui.cursor.match匹配的括号等
ui.cursor.primary主选区的光标
ui.gutter侧边栏
ui.gutter.selected光标所在行的侧边栏
ui.linenr行号
ui.linenr.selected光标所在行的行号
ui.statuslineStatusline
ui.statusline.inactive当前光标不在文档的 (unfocused) statusline
ui.statusline.normalnormal 模式下的 statusline,需开启 editor.color-modes
ui.statusline.insertinsert 模式下的 statusline,需开启 editor.color-modes
ui.statusline.selectselect 模式下的 statusline,需开启 editor.color-modes
ui.statusline.separatorstatusline 中的分隔符
ui.popup文档弹出窗口(按 <space>k
ui.popup.info多按键选项的提示框
ui.window单独分隔的边界线
ui.help命令的描述框
ui.text命令提示框、弹出文本等
ui.text.focus
ui.text.info按键:ui.popup.info 框内的命令文本
ui.virtual.ruler标尺列,见 editor-section
ui.virtual.whitespace可见的空白字符
ui.virtual.indent-guide垂直缩进宽度参考线
ui.menu代码和命令补全菜单
ui.menu.selected自动补全中的所选项
ui.menu.scrollfg 设置 thumb color;bg 设置滚动条的 track color
ui.selection编辑区域的选区
ui.selection.primary
ui.cursorline.primary主光标所在行,需开启 cursorline
ui.cursorline.secondary任何其他光标所在行,需开启 cursorline
ui.cursorcolumn.primary主光标所在列,需开启 cursorcolumn
ui.cursorcolumn.secondary任何其他光标所在列,需开启 cursorcolumn
warningwarning 诊断(侧边栏)
errorerror 诊断(侧边栏)
infoinfo 诊断(侧边栏)
hinthint 诊断(侧边栏)
diagnosticfallback 诊断style (编辑区域)
diagnostic.hinthint 诊断(编辑区域)
diagnostic.infoinfo 诊断(编辑区域)
diagnostic.warningwarning 诊断(编辑区域)
diagnostic.errorerror 诊断(编辑区域)

你可以检查你的主题是否与规范相符合

cargo xtask themelint onedark  # replace onedark with <name>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Helix QAC是一种代码质量分析工具,它的手册提供了对该工具的详细说明和使用指南。 Helix QAC手册主要包含以下内容: 1. 工具介绍:手册首先会对Helix QAC进行简要介绍,包括该工具的目的、功能特点以及适用范围。 2. 安装和配置:手册会详细介绍如何正确安装和配置Helix QAC,包括软件依赖、环境要求以及安装步骤。此外,还会介绍如何选择适合自己项目的配置选项。 3. 使用指南:手册会逐步介绍如何使用Helix QAC进行静态代码分析,包括如何将代码导入工具、如何选择适当的分析规则以及如何运行分析。此外,手册还会对工具输出结果的含义和解读进行解释,以方便开发人员理解和改善代码质量。 4. 故障排除:当在使用Helix QAC过程中遇到问题时,手册会给出一些常见问题和解决方案,帮助用户快速解决故障。 5. 进阶功能:对于一些高级功能或者特殊需求,手册会提供相应的进阶指导,帮助用户更加充分地利用Helix QAC的功能。 Helix QAC手册是开发人员在使用该工具时的重要参考资料。通过学习和理解手册中的内容,开发人员可以更加高效地使用Helix QAC进行代码质量分析,提升软件的质量和可靠性。 ### 回答2: Helix QAC手册是一份软件质量分析工具的使用指南。它详细介绍了Helix QAC的功能、特点和使用方法。 首先,手册会介绍Helix QAC的工作原理。Helix QAC是一种静态代码分析工具,能够通过扫描源代码来检测和修复潜在的编程错误。它可以帮助开发人员在编写代码的过程中提前发现并解决一些常见的编程问题,比如未初始化的变量、空指针引用和不可达代码等等。 手册还会逐一介绍Helix QAC的各项功能。例如,它可以为代码提供自动化的规则检查,包括编码标准的合规性、代码复杂度和安全性等方面。同时,Helix QAC也支持自定义规则,根据项目的特殊需求进行定制化配置。 此外,手册还会对Helix QAC的报告功能进行详细讲解。Helix QAC能够生成详细的静态代码分析报告,其中包含了代码中存在的问题、修复建议以及代码质量评分等信息。开发人员可以根据报告中的提示来进行代码的修改和优化,提高代码质量和可维护性。 最后,手册还会提供一些常见问题的解答和使用技巧。开发人员可以通过阅读手册,更好地了解如何正确使用Helix QAC,并在实际开发中利用其强大的功能来提高代码质量。 总的来说,Helix QAC手册是一本详细的用户指南,能够帮助开发人员充分了解和使用Helix QAC,提高软件质量和开发效率。 ### 回答3: Helix QAC手册是一份关于软件质量控制工具Helix QAC的说明书。Helix QAC是通过对源代码进行静态分析来帮助开发人员发现和修复潜在的编程错误和代码规范问题的工具。该手册的目的是向用户提供关于Helix QAC的详细信息,包括使用方法、功能特点和设置选项等。 首先,手册会介绍Helix QAC的安装和配置过程,包括不同平台的安装步骤和系统要求。然后,手册会逐步指导用户如何开始使用Helix QAC,包括创建和设置项目、导入源代码以及运行静态分析。 接下来,手册会详细介绍Helix QAC的功能特点,例如其能够检测的编程错误类型、支持的编程语言以及自定义规则的创建方法。对于每个功能,手册会提供实际示例和详细说明,以帮助用户充分理解和应用。 此外,手册还会介绍Helix QAC中的一些高级功能和选项,例如与集成开发环境(IDE)的集成、代码风格配置和结果报告生成。对于开发团队来说,手册也会提供关于如何在多人协作中使用Helix QAC的建议和最佳实践。 最后,手册会给出常见问题解答和故障排除的答案,以帮助用户解决在使用过程中可能遇到的一些常见问题。 总体而言,Helix QAC手册是一份详尽的说明文档,旨在帮助用户充分了解和有效使用Helix QAC,以提高软件质量和开发效率。无论是初学者还是有经验的用户,都能从中获得宝贵的帮助和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值