文档 主题
Sublime Merge 界面的外观由主题控制。术语主题严格指 UI 的外观 - 按钮、提交列表、位置栏、命令面板等等。差异的突出显示由 颜色方案 和语法定义的组合控制。
Sublime Merge 的主题引擎基于光栅图形。使用 PNG 来防止纹理退化并提供完整的 alpha 控制。UI 中的每个元素最多可以应用四层纹理或填充,并具有控制不透明度和填充的属性。每个元素上设置的属性可以根据用户交互和设置进行条件更改。
Sublime Merge 主题通过 .sublime-theme 格式实现。它是一种 JSON 格式,用于指定匹配元素并修改其外观的规则。
示例
以下是 .sublime-theme 文件格式的示例。一个完整的主题将有更多规则来涵盖 UI 中使用的所有元素。
{
"variables":
{
"light_gray": "rgb(240, 240, 240)"
},
"rules":
[
// Set up the textures for a button
{
"class": "button_control",
"layer0.tint": "#000",
"layer0.opacity": 1.0,
"layer1.texture": "Theme - Example/textures/button_background.png",
"layer1.inner_margin": 4,
"layer1.opacity": 1.0,
"layer2.texture": "Theme - Example/textures/button_highlight.png",
"layer2.inner_margin": 4,
"layer2.opacity": 0.0,
"content_margin": [4, 8, 4, 8]
},
// Show the highlight texture when the button is hovered
{
"class": "button_control",
"attributes": ["hover"],
"layer2.opacity": 1.0
},
// Basic text label style
{
"class": "label_control",
"fg": "var(light_gray)",
"font.bold": true
},
// Brighten labels contained in a button on hover
{
"class": "label_control",
"parents": [{"class": "button_control", "attributes": ["hover"]}],
"fg": "white"
}
]
}
术语
主题是一个 JSON 对象,它指定规则,以及可选的变量。每个规则对象包含一个 class
键,用于匹配元素。除了 class
之外,还可以通过指定 attributes
、settings
、parents
和 platforms
键来进一步限制匹配。属性会影响元素的外观或行为。
变量允许在不同的规则中重复使用值。变量可以包含任何类型的语法,但只能由规则中的顶级键引用。
大多数元素只有一个类名,尽管有些元素有多个类名,以允许通用和特定样式。例如,expand_all_diff_control
类可用于设置展开所有按钮的样式,但 expand_all_diff_control untracked
可用于仅针对未跟踪文件的展开所有按钮。多个 class
值用空格分隔。当规则指定多个类名时,所有类名都必须存在于元素上,规则才会应用。
attributes
由 Sublime Merge 设置,并指示用户交互的状态,或有关元素性质的其他信息。该值是一个字符串数组。示例包括 "hover"
、"pressed"
和 "highlighted"
。
settings
是用户控制的值,可以在运行时更改。该值是一个字符串数组,这些字符串是来自 .sublime-settings
文件的布尔设置的名称。要检查 false
值,请在设置名称前添加 !
主题还可以创建自己的设置,以允许用户更改样式。
parents
键是一个对象数组,指定必须在父元素中匹配的 class
和 attributes
。
platforms
键是一个字符串数组,指定要将规则应用到的操作系统。有效选项包括 "osx"
、"windows"
和 "linux"
。
属性是指 JSON 对象中的所有其他键。某些属性在所有元素上都可用,而其他属性则特定于单个元素。
一般信息
以下部分讨论有关图像的信息以及如何指定样式。
特异性
与 CSS 不同,Sublime Merge 主题在将规则应用于元素时不会进行特异性匹配。所有规则都按顺序针对每个元素进行测试。随后匹配的规则将覆盖先前规则的属性。
纹理图像
主题中的所有纹理都使用 PNG 图像指定。每个纹理应以“正常”DPI 保存,其中文件中的每个像素都将映射到一个设备像素。主题定义中的所有文件路径都应引用正常 DPI 版本。
每个纹理的第二个版本也应该以两倍的 DPI 包含,并在扩展名之前在文件名中添加 @2x
。Sublime Merge 将在高 DPI 屏幕上显示时自动使用 @2x
版本。也可以为运行在 300% 或更高比例的屏幕上指定纹理的 @3x
变体。
目前不支持 SVG 图像。
尺寸
主题中引用尺寸的整数单位始终以设备无关像素 (DIP) 为单位。Sublime Merge 会根据屏幕密度自动处理缩放 UI 元素。
填充和边距
填充和边距可以通过三种方式之一指定
- 单个整数值 - 相同的值应用于左侧、顶部、右侧和底部
- 两个整数的数组 - 第一个值应用于左侧和顶部,而第二个值应用于右侧和底部
- 四个整数的数组 - 值按顺序应用于左侧、顶部、右侧和底部
变量
可重用变量可以通过顶级键 "variables"
下的 JSON 对象定义。变量名称是字符串,但值可以是字符串、数字、布尔值、数组或对象。使用变量需要指定格式为 var(example_variable_name)
的字符串。
{
"variables":
{
"light_gray": "rgb(240, 240, 240)"
},
"rules":
[
{
"class": "label_control",
"fg": "var(light_gray)"
}
]
}
变量可以用作任何 属性 的值,但变量必须是整个值,不能嵌入在另一个变量中。此规则的唯一例外是变量可以用作 CSS color()
mod 函数的基本颜色。
颜色
主题中的颜色现在可以使用 CSS 语法指定,如 minihtml 所支持的那样。这包括对十六进制、rgb()
、hsl()
、变量和颜色 mod 函数的支持。此外,所有从颜色方案派生的 预定义变量 都可供使用。
白色,以十六进制表示
#fff
白色,使用 rgb()
函数表示法
rgb(255, 255, 255)
50% 透明度白色,使用 hsla()
函数表示法
hsla(0, 100%, 100%, 0.5)
颜色方案中定义的最接近红色的颜色
var(--redish)
颜色方案中定义的最接近红色的颜色,透明度为 50%
color(var(--redish) a(0.5))
从颜色方案派生的颜色始终基于 Diff.sublime-settings 中定义的颜色方案。
属性
属性指定为字符串数组。每个字符串都是一个属性名称。要检查属性是否存在,请在名称前添加 !
。
以下属性是所有元素共有的
- 悬停
- 每当用户将鼠标悬停在元素上时设置
亮度
虽然并非所有元素都可用,但许多元素都具有根据当前颜色方案的近似亮度设置的属性。大多数元素的属性根据全局颜色方案设置。但是,选项卡和选项卡背景的属性根据所选视图的特定颜色方案设置。
属性根据背景颜色的 V
值分配,当以 HSV 颜色表示时。
- file_light
V
从0.60-1.00
- file_medium
V
从0.30-0.59
- file_medium_dark
V
从0.10-0.29
- file_dark
V
从0.00-0.09
设置
某些 Sublime Merge 设置旨在影响 UI。主题应尊重这些设置并根据这些设置更改元素。
- overlay_scroll_bars
-
这会影响滚动条的样式 - 通常它们应该是半透明的,并且
scroll_area_control
的overlay
属性应设置为true
属性
.sublime-theme
文件的 "rules"
键是一个 JSON 数组,其中包含描述如何设置 UI 元素样式的对象。
图层属性
UI 中的许多元素支持最多四个纹理图层,用于显示填充颜色和光栅图形。
- layer0.*
- 元素的最底部纹理 图层
- layer1.*
- 元素的第二个纹理 图层
- layer2.*
- 元素的第三个纹理 图层
- layer3.*
- 元素的第四个纹理 图层
- hit_test_level
- 一个浮点值,用于设置像素的所需不透明度,以便单击被视为“命中”。
- content_margin
- 内容周围的 边距
每个图层都以 layer#.sub-key
格式具有点分隔的子键。有效的子键包括
- layer#.opacity
-
一个从
0.0
到1.0
的浮点值,用于控制图层的母版不透明度。示例:0.9
- layer#.tint
-
要应用于图层的填充颜色的 颜色值。
示例:[255, 0, 0, 127]
- layer#.texture
-
相对于
Packages/
文件夹的 PNG 图像文件路径的字符串。示例:"Theme - Merge/button.png"
- layer#.inner_margin
-
纹理图像通过切分成 9 个网格(使用四条线)来拉伸以适应元素。请参阅 填充和边距 以了解用于指定用于创建切片的边距的有效格式。
示例:[5, 2, 5, 2]
- layer#.draw_center
-
一个布尔值,用于控制是否绘制通过
layer#.inner_margin
创建的 9 个网格的中心矩形。这是一种优化,可以跳过未使用的纹理部分。示例:false
- layer#.repeat
-
一个布尔值,用于控制纹理是重复还是拉伸。
示例:false
值动画
由浮点数指定的属性可以在一段时间内进行动画处理。动画不是通过提供单个数值来指定的,而是通过包含动画详细信息的对象来指定的。值动画主要用于随时间改变不透明度。 对象键是
- target
-
一个从
0.0
到1.0
的浮点值,用于控制目标值示例:1.0
- speed
-
一个大于或等于
1.0
的浮点值,用于控制动画的相对持续时间示例:1.5
- interpolation
-
一个可选字符串,允许指定使用
smoothstep
函数而不是默认的线性函数。默认值:"linear"
示例:"smoothstep"
纹理动画
layer#.texture
子键可以是一个对象,用于指定基于两个或多个 PNG 图像的动画。对象键是
- keyframes
-
一个字符串数组,包含指向 PNG 图像的路径,按顺序排列
示例:["Theme - Merge/spinner.png", "Theme - Merge/spinner1.png"]
- loop
-
一个可选布尔值,用于控制动画是否应该重复
默认值:false
示例:true
- frame_time
-
一个可选浮点数,用于指定每个帧应该显示多长时间。
1.0
代表 1 秒。默认值:0.0333
(30 fps)
示例:0.0166
(60 fps)
纹理着色属性
某些元素具有可用的着色值,该值由当前配色方案的背景设置。着色可以修改并应用于 layer#.texture
图像。
- tint_index
-
控制将着色应用于哪个图层。必须是
0
到3
之间的整数。 - tint_modifier
-
一个包含四个整数的数组,范围为
0
到255
。前三个与着色颜色中的 RGB 值混合,第四个值指定要应用这些 RGB 修改器值的多少。
间距属性
一些控件用于控制元素在水平或垂直线上的布局。它们支持以下属性
- spacing
- 一个整数,指定元素之间的间距
最小尺寸属性
一些容器控件允许指定最小尺寸,以便对齐控件。它们支持以下属性
- min_size
- 一个包含两个整数的数组,指定最小宽度和高度
标签属性
标签元素允许设置以下属性
- fg
- 用于标签文本的 颜色值
字体属性
某些文本元素允许设置以下字体属性
- font.face
- 字体名称
- font.size
- 一个整数点大小
- font.bold
- 一个布尔值,表示字体是否应该加粗
- font.italic
- 一个布尔值,表示字体是否应该倾斜
阴影属性
一些文本元素允许设置以下属性
- shadow_color
- 用于文本阴影的 颜色值
- shadow_offset
- 一个包含阴影的 X 和 Y 偏移量的 2 元素数组
过滤器标签属性
快速面板中使用的标签根据选择和匹配进行颜色控制
- fg
- 未选中、未匹配文本的 颜色值
- match_fg
- 未选中、匹配文本的 颜色值
- bg
- 未选中行的背景的 颜色值
- selected_fg
- 选中、未匹配文本的 颜色值
- selected_match_fg
- 选中、匹配文本的 颜色值
- bg
- 选中行的背景的 颜色值
- font.face
- 字体名称
- font.size
- 一个整数点大小
数据表属性
基于行的表格提供以下属性
- dark_content
-
如果背景是深色的 - 用于为滚动条设置
dark
属性 - row_padding
- 添加到每一行的填充,使用 填充和边距 中描述的格式之一
样式化容器属性
某些标签和容器允许对它们的外观进行额外的控制。它们支持以下属性
- border_color
- 标签/容器边框的颜色值
- background_color
- 标签/容器背景的颜色值
- border_width
- 表示边框线宽度的值。可以与边距相同的方式指定。
- border_radius
- 表示边框圆角的值。可以与边距相同的方式指定。
图标属性
图标控件支持以下属性
- content_margin
- 对于图标,边距指定尺寸
元素
以下是构成 Sublime Merge UI 的所有元素的完整列表,以及支持的属性和特性。
- 窗口
- 标签
- 标题栏
- 侧边栏
- 位置栏
- 目录
- 命令历史记录覆盖层
- 提交列表
- 搜索视图
- Blame 视图
- 提交视图
- 文件差异
- 文件和侧边栏标签
- 树视图
- 合并工具
- 合并命令覆盖层
- 控制台
- 进度
- 快速面板
- 对话框
- 滚动条
- 输入
- 自动完成
- 按钮
- 标签
- 工具提示
- 提示
- 输入焦点
- 欢迎/克隆屏幕
- 偏好设置屏幕
窗口
- title_bar
-
仅在 OS X 10.10+ 上支持。
属性
- switch_project_window
-
此元素包含切换仓库窗口,并用于
parents
指定符中。属性
无 - panel_control switch_project_panel
-
负责渲染切换仓库窗口背景的控件
属性
层属性
标签
- root_tabs
-
包含仓库标签、标签下拉菜单和新建标签按钮的容器
属性
层属性 间距属性 - tabset_control
-
处理仓库标签布局的控件
属性
亮度属性属性
纹理着色属性- content_margin
-
tab_controls 周围的边距
- tab_overlap
-
标签重叠的 DIP 数
- tab_width
-
有足够空间时的默认标签宽度
- tab_min_width
-
标签滚动发生前的最小标签宽度
- tab_height
-
标签的高度(以 DIP 为单位)
- mouse_wheel_switch
-
鼠标滚轮是否应该切换标签 - 仅当设置
enable_tab_scrolling
为 false 时,此值应设置为true
- tab_control
-
用于仓库标签的基本标签类
属性
- close_button_side
-
要显示的边 -
"left"
或"right"
。默认值:"right"
- max_margin_trim
-
当标签空间极其有限时,可以移除多少左、右 content_margin
- tint_index
-
控制将着色应用于哪个图层。必须是
0
到3
之间的整数。 - tint_modifier
-
一个包含四个整数的数组,范围为
0
到255
。前三个与着色颜色中的 RGB 值混合,第四个值指定要应用这些 RGB 修改器值的多少。
- tab_close_button
-
用于关闭仓库标签的按钮
属性
层属性 最小尺寸属性 - new_tab_button
-
在标签栏中显示的图标按钮,单击后会创建一个新标签
属性
层属性 最小尺寸属性 - new_tab_icon
-
标签栏中新建标签按钮的图标
属性
层属性 图标属性 - tab_dropdown_button
-
在标签栏中显示的图标按钮,单击后会显示打开的标签列表
属性
层属性 最小尺寸属性 - tab_select_dropdown_icon
-
标签栏中标签下拉菜单按钮的图标
属性
层属性 图标属性 - repository_tab_label_container
-
包装标签标题标签的容器
属性
层属性 间距属性 - tab_label
-
标签标题标签
属性
层属性 图标属性 - icon_folder
-
用于表示仓库标签的图标
属性
层属性 图标属性
标题栏
- header
-
工具栏的容器
属性
层属性 - search_dialog
-
搜索框的容器,包含在
header
中属性
层属性 - search_text_control
-
搜索输入本身,包含在
search_dialog
中属性
层属性 - button_control
-
标题栏中的基本按钮。在显示合并工具时用于文本按钮。
属性
层属性 最小尺寸属性 - button_control icon_button
-
标题栏中的基本按钮,包含一个图标。与以下图标一起使用
icon_location_bar
icon_back
icon_forward
icon_pop_stash
icon_search
icon_more
属性
层属性 最小尺寸属性 - button_control_left
-
双按钮对中的左侧按钮。可以使用
button_control_left icon_button
进一步定位图标按钮,该按钮与以下图标一起使用icon_stash
icon_push
icon_pull
属性
层属性 最小尺寸属性 - button_control_right
-
双按钮对中的右侧按钮。可以使用
button_control_right icon_button
进一步定位图标按钮,该按钮与以下图标一起使用icon_options_dropdown
属性
层属性 最小尺寸属性 - icon_location_bar
-
标题栏中位置栏按钮的图标
属性
层属性 图标属性 - icon_back
-
标题栏中后退按钮的图标
属性
层属性 图标属性 - icon_forward
-
标题栏中前进按钮的图标
属性
层属性 图标属性 - icon_stash
-
标题栏中 Stash 按钮的图标
属性
层属性 图标属性 - icon_pop_stash
-
标题栏中 Pop Stash 按钮的图标
属性
层属性 图标属性 - icon_options_dropdown
-
标题栏中 Stash、Push 和 Pull 按钮右侧的额外选项按钮的图标
属性
层属性 图标属性 - icon_search
-
标题栏中搜索按钮的图标
属性
层属性 图标属性 - icon_more
-
标题栏中搜索按钮右侧的
...
按钮的图标属性
层属性 图标属性 - icon_push
-
标题栏中 Push 按钮的图标
属性
层属性 图标属性 - icon_pull
-
标题栏中 Pull 按钮的图标
属性
层属性 图标属性 - icon_side_bar
-
标题栏中切换侧边栏按钮的图标
属性
层属性 图标属性 - info_area
-
显示在
header
中间的框,包含-
一个显示当前分支名称的
label_control
,或者icon_cancel
按钮和一个显示当前正在运行的操作的label_control
,或者info_area_line
与failed_label
和一个显示最后一次 git 错误的label_control
-
左侧的
git_output_button
-
右侧的
toggle_diverged_banner_button
,当当前分支处于分叉状态时 -
在运行包含进度信息的 git 操作时,底部边缘的
progress_bar_control
和progress_gauge_control
属性
层属性 最小尺寸属性- icon_spacing
-
一个包含两个整数的数组,指定左侧和右侧图标按钮周围的 x 和 y 间距 -
git_output_button
和toggle_diverged_banner_button
-
一个显示当前分支名称的
- icon_cancel
-
显示在
info_area
中当前正在运行的操作左侧的取消按钮属性
层属性 图标属性 - git_output_button
-
显示在
info_area
左侧的图标按钮。此类存在四种变体,指示最后一次运行的 git 命令的状态
git_output_button succeeded
git_output_button failed
git_output_button running
git_output_button cancelled
属性
层属性 - toggle_diverged_banner_button
-
当当前分支与其跟踪分支分叉时,显示在
info_area
右侧的图标按钮。当显示分叉横幅时,类名将为
toggle_diverged_banner_button hide
,表示可以按下按钮隐藏横幅。属性
层属性 - info_area_line
-
当 git 命令失败时,
info_area
会显示文本failed:
,后跟错误的第一行。这包含控制failed:
标签和错误消息之间的间距。属性
间距属性 - failed_label
-
当 git 命令失败时,在
info_area
中显示文本failed:
。错误消息本身只是一个label_control
,可以通过父选择器定位。属性
字体属性 阴影属性 样式化容器属性 - diverged_container
-
当当前分支与其跟踪分支分叉时,此横幅显示在
header
的底部。使用父选择器可以定位分叉横幅中显示的标签和按钮。
属性
层属性 - diverged_button_container
-
用于控制分叉容器中按钮之间间距的容器
属性
间距属性
侧边栏
- side_bar_container
-
包裹任何侧边栏(例如文件侧边栏)的容器。您还可以定位
side_bar_container with_graph
来定位图形侧边栏。属性
层属性 间距属性 - side_bar_tabs
-
包裹每个侧边栏的选项卡的容器
属性
层属性 间距属性
位置栏
- location_bar_container
-
处理滚动的主要位置栏容器
属性
层属性 - location_bar_tree
-
包含多个
location_bar_row
的树形控件属性
数据表属性- indent
- 一个整数,用于缩进树结构的每个级别
- indent_offset
-
每行都应用了一个额外的缩进,用于定位
disclosure_button_control
和close_button
- indent_top_level
- 如果树中的顶级行应该缩进,则为布尔值
- spacer_rows
- 一个布尔值,控制当“打开的文件”和“文件夹”部分都可见时,是否应该在侧边栏的这两个部分之间添加一个空白行。
- location_bar_row
-
一行可能包含标题、分支、远程、标签、隐藏或子模块
属性
- selectable
- 当一行可选择时
- selected
- 当一个可选择的行被选中时
- expandable
- 当一行可展开时
- expanded
- 当一个可展开的行被展开时
属性
层属性 - location_bar_heading
-
侧边栏中的“分支”、“远程”、“标签”、“隐藏”或“子模块”标题之一
属性
字体属性 阴影属性- fg
- 用于文本的颜色值
- case
-
用于标题的案例修改 -
"upper"
、"lower"
或"title"
。默认值:"upper"
- location_bar_label
-
分支、远程、标签、隐藏或子模块的名称
属性
字体属性 阴影属性- fg
- 用于文本的颜色值
- disclosure_button_control
-
所有可展开的
tree_row
中都存在一个展开/折叠图标属性
层属性- content_margin
- 对于按钮,边距指定尺寸
- location_bar_branch_row
-
一个仅用于间距的容器,包含
icon_visible
(或icon_hidden
)和branch_stats_meta
容器。属性
间距属性 - button_control icon_button transparent
-
一个包含
icon_visible
或icon_hidden
的按钮属性
层属性 最小尺寸属性 - icon_visible
-
如果引用在提交列表中可见,则显示
属性
层属性 图标属性 - icon_hidden
-
如果引用在提交列表中隐藏,则显示
属性
层属性 图标属性 - icon_uninitialized_submodule
-
用于尚未初始化的子模块
属性
层属性 图标属性 - icon_section_actions
-
用于在标题右侧显示子模块菜单
属性
层属性 图标属性 - submodule_stat
-
在子模块旁边显示一个数字,其中包含已修改和未跟踪文件的数量
属性
字体属性 阴影属性 样式化容器属性 - branch_stats_meta
-
一个仅用于间距的容器,包含超前和落后统计计数器,并允许控制它们之间的间距
属性
间距属性 - branch_stat
-
一个可主题化的容器,包含一个计数器和一个箭头,指示分支是否超前或落后于其跟踪分支。
如果超前和落后计数器都存在,则此元素将以两种形式存在:
branch_stat left
和branch_stat right
。 - branch_stat_meta
-
一个仅用于间距的容器,包含超前或落后计数器的箭头和数字
属性
间距属性 - branch_stat_label
-
显示分支超前或落后于其跟踪分支的提交次数
属性
字体属性 阴影属性 - icon_ahead
-
显示在分支超前于其跟踪分支的提交次数旁边
属性
层属性 图标属性 - icon_behind
-
显示在分支落后于其跟踪分支的提交次数旁边
属性
层属性 图标属性 - submodule_annotation
-
子模块检出的分支的标签
属性
参见标签
- submodule_light_annotation
-
子模块检出的提交的标签
属性
参见标签
- ref_filter_input_container
-
包装位置栏过滤器输入的容器
属性
层属性 - button_control icon_button close_refs_filter
-
嵌入在位置栏过滤器输入中的关闭按钮
属性
层属性 最小尺寸属性 - button_control icon_button search_refs
-
用于切换位置栏过滤器的按钮。请注意,规则
button_control icon_button filtering search_refs
和button_control icon_button not_filtering search_refs
可用于在各自的过滤器状态下定位按钮。属性
层属性 最小尺寸属性 - icon_filter
-
在位置栏过滤器切换按钮中使用的图标
属性
层属性 图标属性
目录
- table_of_contents_heading
-
用于目录中节标题的标签(例如,已修改的文件)
属性
字体属性 阴影属性- color
- 用于文本的颜色值
- table_of_contents_heading_container
-
包装每个目录标题的容器(用于间距目的)
属性
层属性 间距属性 - table_of_contents_icon
-
目录中图标的基本类
属性
层属性 图标属性 - table_of_contents_icon_wrapper
-
包装目录中所有图标的控件(用于填充目的)
属性
层属性 - table_of_contents_label
-
目录中每个文件条目使用的标签
属性
字体属性 阴影属性- color
- 用于文本的颜色值
- table_of_contents_row_container
-
包裹目录中每一行的容器
属性
层属性 - table_of_contents_tree
-
目录中使用的顶级表格
属性
数据表属性 - close_button_control
-
在目录中选定文件旁边显示的关闭按钮
属性
层属性 最小尺寸属性 - table_of_contents_style_selector
-
用于在目录中切换更改和树形样式的切换按钮
属性
层属性 最小尺寸属性 - table_of_contents_style_container
-
包裹两个样式切换按钮的容器
属性
层属性 间距属性
命令历史记录覆盖层
- command_history_container
-
包裹命令历史列表中每个条目的容器
属性
层属性 间距属性- message_content_margin
- 提交消息周围的额外边距
- command_history_label
-
当没有以前的命令历史记录时显示的标签
属性
字体属性 阴影属性 - command_table
-
列出每个已运行命令的表格
属性
数据表属性 - command_table_container command_history
-
包裹命令表格的容器,提供背景颜色
属性
层属性 - git_output_data_container
-
包裹命令历史记录中单个命令输出的容器
属性
层属性
提交列表
- commit_table_container
-
处理滚动的主要提交列表容器
属性
层属性 - commit_table
-
处理滚动的主要提交列表容器
属性
数据表属性 - commit_table_row
-
每一行包含一个
commit_summary_control
属性
- selectable
- 当一行可选择时
- selected
- 当一个可选择的行被选中时
- expandable
- 当一行可展开时
- expanded
- 当一个可展开的行被展开时
属性
层属性 - commit_summary_control
-
用于提交信息的容器
属性
层属性 - commit_edges_control
-
绘制提交图边缘(线条)的控件
属性
- line_width
- 边缘的整数 DIP 宽度 - 将被捕捉到设备像素以实现清晰的绘制
- num_colors
- 绘制边缘时循环遍历的颜色数量的整数(最大 8 个)
- color0 ... color7
- 用作边缘颜色的颜色值
- index_files_label
-
提交列表中“提交更改”行的顶行标签
属性
字体属性 阴影属性 - index_action_label
-
提交列表中“提交更改”行的底行标签
属性
字体属性 阴影属性 - message_label
-
在
commit_summary_control
中包含提交消息属性
字体属性 阴影属性 - author_label
-
在
commit_summary_control
中包含作者姓名属性
字体属性 阴影属性 - time_label
-
在
commit_summary_control
中包含提交时间属性
字体属性 阴影属性 - commit_file_name_label
-
在提交列表中显示扩展提交视图时包含文件名。这可以通过单击提交左侧的彩色框来查看。
属性
字体属性 阴影属性 - commit_file_path_label
-
在提交列表中显示扩展提交视图时包含文件路径。这可以通过单击提交左侧的彩色框来查看。
属性
字体属性 阴影属性 - commit_annotation
-
表示显示在提交上的任何分支注释的基类
此外,您可以针对
commit_annotation bordered
作为提交中最左侧的分支,以及commit_annotation branch head
作为签出的分支属性
字体属性 阴影属性 样式化容器属性 - commit_annotation_container
-
包裹分支标签和压缩分支计数的容器
属性
spacing - condensed_branch_annotation
-
当没有足够的空间渲染所有分支时,包含分支计数的注释
属性
字体属性 阴影属性 - condensed_branch_annotation_container
-
包裹
condensed_branch_icon
和condensed_branch_annotation
的样式化容器属性
图层属性 样式化容器属性 - condensed_branch_icon
-
显示在压缩分支注释旁边的图标
属性
层属性 图标属性 - commit_annotations
-
包裹给定提交的所有注释的容器
属性
- num_unique_columns
-
绘制提交注释时循环遍历的颜色数量的整数(最大 8 个)。应用
column_#
属性(例如column_1
)。应与commit_edges_control
的num_colors
属性匹配。
- tag_annotation
-
包含标签的名称。显示在
commit_summary_control
中提交作者的右侧,或在Commit Detail
视图中提交信息表格的“标签”行中。属性
字体属性 阴影属性 - tag_annotation_icon
-
显示在标签注释旁边的图标
属性
层属性 图标属性 - tag_annotation_container
-
包裹标签注释和标签图标的样式化容器
属性
图层属性 样式化容器属性 - stash_annotation
-
包含文本
stash
。显示在commit_summary_control
中提交作者的右侧。属性
字体属性 阴影属性 样式化容器属性 - file_annotation
-
包含提交中修改的文件数量。显示在
commit_summary_control
中提交消息的右侧。属性
字体属性 阴影属性 样式化容器属性 - annotation_with_icon_row
-
用于带有图标的注释标签的容器(例如,压缩分支注释)。
属性
间距属性
搜索视图
- button_control icon_button search_close
-
搜索输入框中嵌入的关闭按钮
属性
层属性 最小尺寸属性 - button_control icon_button search_history_dropdown
-
搜索输入框中嵌入的用于查看和选择搜索历史的按钮
属性
层属性 最小尺寸属性 - icon_dropdown_button
-
搜索历史下拉菜单中使用的图标
属性
层属性 图标属性 - search_message
-
关于搜索语法错误显示的容器
属性
层属性 - search_help
-
打开搜索视图时显示的搜索语法帮助消息
属性
font properties - searching
-
在提交列表中显示的活动指示器,表示正在进行搜索。通常这将是一个纹理动画。
属性
层属性 图标属性
Blame 视图
- blame_commit_summary
-
将鼠标悬停在责备视图的边距上时显示的弹出窗口
属性
font properties - blame_text_control
-
打开搜索视图时显示的搜索语法帮助消息
属性
font properties- num_colors
- 绘制提交边距颜色时循环使用的颜色数量的整数(最大 20)
- color0 ... color19
- 在边距中使用的颜色值
提交视图
提交视图既用作提交对话框(在暂存文件和编写提交消息时),也用作提交详细信息(在查看现有提交的详细信息时)。
- details_panel
-
用于显示差异和责备控件的最右侧窗格的容器
属性
层属性 - details_tab_bar
-
包裹提交视图中选项卡的容器
属性
层属性 间距属性 - commit_dialog_header
-
在提交对话框中用于提交对话框文本区域和按钮的容器
属性
层属性 - commit_dialog_summary_container
-
在渲染提交对话框中的摘要部分时使用的容器
属性
层属性 - commit_dialog_section_container
-
在渲染提交对话框中的单个部分(例如,仅修改的部分)时使用的容器
属性
层属性 - commit_author_container
-
用于显示提交消息文本区域下方提交作者的标签的容器。一旦用户输入了提交消息,它将变为选择信息。
属性
层属性 - label_control commit_author
-
显示将用于提交的作者信息的标签。一旦输入了提交消息,其内容将变为选择信息。
属性
字体属性 阴影属性 - commit_buttons
-
用于布局提交按钮的仅间距容器
属性
间距属性 - commit_button
-
提交按钮。显示的文本可能会根据存储库状态而改变,例如:继续变基或完成樱桃选择。
属性
层属性 最小尺寸属性 - split_commit_button
-
当同时显示提交按钮和选项下拉菜单时,用于它们的容器
属性
minimum size properties - commit_details_header
-
用于提交详细信息视图顶部的提交详细信息表的容器
属性
层属性 - commit_message_container
-
用于布局提交详细信息顶部的提交详细信息按钮、操作按钮和提交消息的容器。
属性
层属性 间距属性- message_content_margin
- 提交消息周围的额外边距
- recent_commit_messages icon_options_dropdown
-
一个按钮,当选中时会显示最近的提交消息
属性
层属性 最小尺寸属性 - recent_commit_messages_dropdown_container
-
包裹最近提交消息按钮的容器,主要负责添加填充
属性
层属性 间距属性 - edit_button_container
-
用于在编辑提交消息时布局编辑和取消按钮的仅间距容器
属性
间距属性 - field_name_label
-
提交详细信息表中字段名称的标签
属性
字体属性 阴影属性 - deleted_annotation
-
给定提交/文件的删除行数的标签
属性
字体属性 阴影属性 - inserted_annotation
-
给定提交/文件的插入行数的标签
属性
字体属性 阴影属性 - label_control bad_signature
-
签名验证失败时显示的标签
属性
字体属性 阴影属性 - label_control good_signature
-
签名验证成功时显示的标签
属性
字体属性 阴影属性 - commit_metadata_container
-
包裹所有提交元数据(例如作者、提交消息等)的容器
属性
层属性 间距属性- message_content_margin
- 提交消息周围的额外边距
- commit_metadata_standin
-
当提交元数据未显示时使用的占位符控件(用于控制填充)
属性
层属性 - separator_container
-
用于显示提交对话框中工作目录和暂存部分之间的分隔符的容器
属性
- content_margin
- 分隔符周围的边距
- separator
-
显示在提交对话框中工作目录和暂存部分之间的分隔符图标
属性
层属性 图标属性 - terminator_container
-
在提交列表末尾和提交视图中差异末尾显示的终止符容器。
属性
- content_margin
- 终止符周围的边距
- terminator
-
在提交列表末尾和提交视图中差异末尾显示的终止符图标。
属性
层属性 图标属性 - loading
-
在加载某些内容(例如提交的树视图)时,在详细信息窗格中显示的活动指示器。通常这将是一个纹理动画。
属性
层属性 图标属性
文件差异
- diff scroll_area_control
-
用于处理差异文本水平滚动的
scroll_area_control
(有关更多详细信息,请参阅滚动条)。 - diff_text_control
-
用于渲染差异文本的文本控件。
属性
- button_control all_button
-
用于执行“全部”操作(例如全部暂存、全部删除等)的按钮控件。
属性
层属性 最小尺寸属性 - button_control icon_button file_button
-
在文件中显示的按钮,用于显示文件上下文菜单(即“...”按钮)。
属性
层属性 最小尺寸属性 - expand_all_diff_control
-
展开或折叠一个或多个
file_diff_control
的控件。包含一个file_diff_header
,该file_diff_header
反过来包含一个disclosure_button_control
和label_control
。属性
层属性 - file_diff_control
-
文件差异的容器。包含一个
file_diff_header
和一个或多个file_diff_hunk_container
。属性
- expanded
- 当差异展开以显示块时。
属性
层属性 间距属性 - file_diff_header
-
文件差异的标题,包含
-
用于展开和折叠的
disclosure_button_control
。 -
包含有关文件详细信息的
file_meta
容器。 -
一个或多个
button_control
。这些将是按钮,例如暂存、删除、丢弃或更多(...
)按钮。
您还可以针对所有可折叠文件差异的
file_diff_header collapsible
。属性
- selected
- 当差异标题获得输入焦点时。
属性
层属性 间距属性 -
用于展开和折叠的
- eliding_label_control
-
用于显示差异中文件名的标签控件。
属性
字体属性 阴影属性- color
- 用于文本的颜色值
- file_badge
-
围绕文件类型徽章(例如修改徽章)的容器。当存在多个徽章时,还可以额外针对
file_badge left_badge
和file_badge right_badge
。您还可以额外针对以下徽章
unmerged_badge
modified_badge
untracked_badge
staged_badge
属性
层属性 最小尺寸属性 - file_badge_split_container
-
将多个文件徽章包装在一起的容器(例如已删除的暂存文件)。
属性
层属性 间距属性 - file_meta
-
用于布局文件信息的仅间距容器。包含
-
零个或多个
file_icon
。当文件被删除、暂存、最近修改或所有三种情况的组合时,这些图标存在。当存在两个或多个图标时,它们将被包装在一个file_icons
容器中,并且类将是file_icon file_icon_left
和file_icon file_icon right
。 -
如果文件被重命名,则包含多个
label_control
、label_control inserted
、label_control deleted
和label_control diff_separator
的renamed_file_container
。 -
如果文件未被重命名,则为基本的
label_control
。
属性
间距属性 -
零个或多个
- file_icon
-
包含图标或图标和文本的容器。当作为一对的一部分时,类将是
file_icon file_icon_left
或file_icon file_icon_right
。将包含以下内容之一
icon_unmerged
icon_created
icon_deleted
icon_staged
icon_recent
-
包含
icon_text
的total_untracked
。 -
包含
icon_recent
和icon_text
的recently_modified
。
属性
层属性 最小尺寸属性 - file_icons
-
当存在多个
file_icon
时,它们将被包装在这个仅间距容器中。属性
间距属性 - icon_unmerged
-
显示在未合并文件的
file_meta
中。属性
层属性 图标属性 - icon_created
-
显示在已新建文件的
file_meta
中。属性
层属性 图标属性 - icon_deleted
-
显示在已删除文件的
file_meta
中。属性
层属性 图标属性 - icon_staged
-
显示在已暂存文件的
file_meta
中。属性
层属性 图标属性 - icon_recent
-
显示在最近修改的未跟踪文件的
file_meta
中。属性
层属性 图标属性 - recently_modified
-
包含
icon_recent
和icon_text
的仅间距容器。属性
间距属性 - total_untracked
-
包含带有未跟踪文件数量的
icon_text
的仅间距容器。属性
间距属性 - icon_text
-
在
file_icon
容器中显示的标签属性
字体属性 阴影属性 - file_diff_hunk_container
-
文件差异的容器。包含一个
file_diff_hunk_header
和一个hunk_description_container
或diff scroll_area_control
,其中包含一个diff_text_control
。 - file_diff_hunk_header
-
文件差异中一个块的容器。包含一个
hunk_label_container
,其中包含一个label_control
和零个或多个button_control hunk_button
。属性
- selected
- 当差异标题获得输入焦点时。
属性
层属性 - hunk_button
-
包含在特定块中的按钮
属性
参见按钮
- hunk_label_container
-
标识块的标签的容器
属性
层属性 - hunk_description_container
-
块描述的容器。当块表示二进制文件或文件模式更改时,使用块描述。
属性
层属性 - image_diff_container
-
图像差异的顶级容器
属性
层属性 间距属性 - image_diff_control
-
负责渲染图像差异的控件
属性
- image_dimensions_container
-
包裹水平和垂直图像尺寸的容器
属性
层属性 间距属性 - image_metadata_label
-
用于显示图像元数据(如图像尺寸)的标签
属性
字体属性 阴影属性 - onion_skin_slider
-
洋葱皮图像差异中使用的滑块
属性
- side_by_side_and_metadata_container
-
包裹并排图像和元数据的容器
属性
层属性 间距属性 - side_by_side_image_container
-
包裹并排图像的容器
属性
层属性 间距属性
文件和侧边栏标签
- tab_body_container
-
包裹侧边栏中选项卡和侧边栏内容的容器
属性
层属性 间距属性 - tab_separator
-
用于分隔选项卡的分隔符
属性
层属性 - tab_separator_container
-
包裹选项卡分隔符的容器 - 主要用于填充目的
属性
层属性 最小尺寸属性
树视图
- tree_details
-
用于显示提交树的标题和正文的容器。没有可主题化属性,但在父选择器中很有用。
- tree
-
显示文件和文件夹(即树)的树控件,用于特定提交
属性
数据表属性 - tree_row
-
一行可能包含文件或文件夹名称
属性
- selectable
- 当一行可选择时
- selected
- 当一个可选择的行被选中时
- expandable
- 当一行可展开时
- expanded
- 当一个可展开的行被展开时
属性
层属性
合并工具
- use_hunk_button
-
在合并工具的边距中绘制的按钮,允许用户选择一个块以用于合并版本。存在两种变体:
use_hunk_button left
和use_hunk_button right
。属性
层属性 图标属性
合并命令覆盖层
- merge_helper_container
-
包裹合并覆盖层中控件的顶级容器
属性
层属性 间距属性 - merge_helper_buttons_container
-
包裹合并和取消按钮的容器
属性
层属性 间距属性 - label_control merge_helper_help_text_label
-
用于在合并覆盖层中显示帮助文本的标签
属性
参见标签
- label_control merge_helper_highlight_label
-
用于显示合并目标的标签
属性
参见标签
- merge_options_container
-
包裹合并覆盖层中标志选项的容器
属性
层属性 间距属性
控制台
- console_panel
-
控制台所在的面板。用于在控制台周围添加填充。
属性
层属性
进度
- progress_bar_control
-
进度条容器。进度条显示在用于 OS X 和 Windows 上更新的更新窗口中。它也用于
info_area
中,以显示提供进度信息的 git 命令的进度。属性
层属性 - progress_gauge_control
-
表示迄今为止完成的进度的条形
属性
层属性- content_margin
- 边距指定条形的高度
快速面板
快速面板用于命令面板、切换存储库窗口和 git 输出覆盖层。
- overlay_control
-
快速面板的容器,包括输入和数据表
属性
层属性 - quick_panel
-
显示在输入下方的数据表。通常高度是动态的,因此层将不可见,但是切换项目窗口将使用层来表示过滤选项下方的空白空间。
属性
数据表属性 - mini_quick_panel_row
-
quick_panel
中的一行。每行文本对应一个quick_panel_label
。属性
- selected
- 当行被选中时
属性
层属性 - quick_panel_row
-
切换仓库窗口中的一行。
包含
quick_panel_label
显示仓库名称,以及quick_panel_path_label
显示仓库路径。属性
- selected
- 当行被选中时
属性
层属性 - quick_panel_label
-
quick_panel_row
中的仓库名称以及mini_quick_panel_row
中的所有文本属性
过滤标签属性 - quick_panel_path_label
-
quick_panel_row
中的仓库路径属性
过滤标签属性 - quick_panel_label 预览
-
当输入处理器提供预览时,此标签用于在命令面板预览行中显示文本
属性
字体属性 阴影属性 - quick_panel_label 命令
-
此标签用于命令面板行右侧,用于选择命令选项,例如 *Stash…*
属性
字体属性 阴影属性 - quick_panel_label 提示
-
此标签用于在命令面板中显示提示注释
属性
字体属性 阴影属性 - quick_panel_label 键绑定
-
此标签用于在命令面板中显示键绑定
属性
字体属性 阴影属性
对话框
- dialog
-
关于、许可证、更新和更改日志窗口使用此类作为窗口背景
属性
层属性
滚动条
- scroll_area_control
-
滚动区域包含正在滚动的元素,以及滚动条、轨道和滑块。
属性
- content_margin
- 围绕正在滚动的内容添加的 边距
- overlay
- 将滚动条设置为渲染在内容之上
- left_shadow
- 用于绘制阴影以指示区域可以向左滚动的 颜色值
- left_shadow_size
- 当区域可以向左滚动时,要绘制的阴影的宽度(以整数表示)
- top_shadow
- 用于绘制阴影以指示区域可以向上滚动的 颜色值
- top_shadow_size
- 当区域可以向上滚动时,要绘制的阴影的高度(以整数表示)
- right_shadow
- 用于绘制阴影以指示区域可以向右滚动的 颜色值
- right_shadow_size
- 当区域可以向右滚动时,要绘制的阴影的宽度(以整数表示)
- bottom_shadow
- 用于绘制阴影以指示区域可以向下滚动的 颜色值
- bottom_shadow_size
- 当区域可以向下滚动时,要绘制的阴影的高度(以整数表示)
- scroll_bar_control
-
滚动条包含滚动轨道。色调根据正在滚动的元素的背景颜色设置。
属性
- dark
- 当滚动区域内容为深色时,需要使用浅色滚动条
- horizontal
- 当滚动条应为水平而不是垂直时
属性
图层属性 纹理着色属性 - scroll_track_control
-
滑块在其上运行的轨道。色调根据正在滚动的元素的背景颜色设置。
属性
- dark
- 当滚动区域内容为深色时,需要使用浅色滚动条
- horizontal
- 当滚动条应为水平而不是垂直时
属性
图层属性 纹理着色属性 - scroll_corner_control
-
当垂直和水平滚动条都显示时,
scroll_area_control
右下角的空白区域。属性
- dark
- 当滚动区域内容为深色时,需要使用浅色滚动条
属性
图层属性 纹理着色属性 - puck_control
-
滚动滑块或手柄。色调根据正在滚动的元素的背景颜色设置。
属性
- dark
- 当滚动区域内容为深色时,需要使用浅色滚动条
- horizontal
- 当滚动条应为水平而不是垂直时
属性
图层属性 纹理着色属性
输入
- text_line_control
-
快速面板和切换仓库窗口使用的文本输入。
属性
层属性 - radio_button_list_control
-
一个仅用于间距的容器,用于控制一个或多个
checkbox_control
的布局属性
间距属性 - checkbox_control
-
一个仅用于间距的容器,用于控制
checkbox_box_control
旁边label_control
的布局属性
- box_margin
- 一个整数,用于控制方框和标签之间的间距
- checkbox_box_control
-
属性
- checked
- 当复选框被选中时
属性
层属性- content_margin
- 边距 指定尺寸
自动完成
- popup_control auto_complete_popup
-
自动完成弹出窗口的主要容器
属性
层属性 - auto_complete
-
用于完成数据的表格。色调根据应用于显示弹出窗口的视图的颜色方案的背景颜色设置。
属性
亮度属性属性
数据表属性 纹理着色属性 - table_row
-
auto_complete
中的一行属性
- selected
- 当用户突出显示一个完成项时
属性
层属性 - auto_complete_label
-
table_row
中的文本属性
过滤标签属性- fg_blend
-
一个布尔值,控制是否将
fg
、match_fg
、selected_fg
和selected_match_fg
值混合到当前视图颜色方案的前景色上
按钮
- button_control
-
文本按钮
属性
- pressed
- 当按钮被按下时设置
- confirm
- 当按钮需要再次按下以确保用户想要执行破坏性或重要操作时设置
- highlighted
- 当按钮是用户应该执行的下一个操作时设置
属性
层属性 最小尺寸属性 - toggle_button
-
用于控制切换状态的按钮
您还可以使用
toggle_button left
和toggle_button right
来定位左右切换按钮属性
使用与button_control
相同的属性 - 请参见上文
标签
- label_control
-
标签在整个界面中使用。可以通过使用
parents
键来定位特定的标签。属性
字体属性 阴影属性- color
- 用于文本的颜色值
- title_label_control
-
标题标签用于“关于”窗口和欢迎屏幕
属性
字体属性 阴影属性- color
- 用于文本的颜色值
- subtitle_label_control
-
副标题标签用于欢迎屏幕
属性
字体属性 阴影属性- color
- 用于文本的颜色值
工具提示
- tool_tip_control
-
将鼠标悬停在选项卡和按钮上时显示的工具提示
属性
- content_margin
- 工具提示文本周围的边距
- tool_tip_label_control
-
工具提示中显示的文本
属性
字体属性 阴影属性- color
- 用于文本的颜色值
提示
当用户在特定时间范围内未确认按钮存在时,将为“危险”按钮显示提示。这可以通过单击文件块的丢弃按钮一次并等待来观察。它们还用于在 git 命令失败时引起对 info_area
的注意。
提示由两个主要部分组成,hint_stem
和 hint_control
,它们是兄弟节点。
- hint_stem
-
用于将源控件连接到
hint_control
的茎。根据提示显示在源控件的哪一侧,将使用以下变体hint_stem bottom
hint_stem left
hint_stem top
hint_stem right
属性
层属性- content_margin
- 边距 指定尺寸
- hint_control
-
提示的主要容器。包含一个或多个
hint_label
。根据提示显示在源控件的哪一侧,将使用以下变体hint_control bottom
hint_control left
hint_control top
hint_control right
属性
层属性 - hint_label
-
每个提示文本行使用一个标签
属性
字体属性 阴影属性- color
- 用于文本的颜色值
输入焦点
- focus_highlight_control
-
用于通过 Tab 键切换焦点时突出显示输入焦点的控件
属性
偏好设置屏幕
- preference_wrapper
-
包装单个首选项及其输入的容器
属性
层属性 间距属性 - preference_text_input_container
-
包装需要文本输入的首选项条目的容器
属性
层属性 间距属性 - preferences_section_label
-
用于显示首选项部分标题的标签
属性
参见标签
- preference_title_label
-
用于显示首选项标题的标签
属性
参见标签
- preference_help_text_label
-
用于显示首选项帮助文本的标签
属性
参见标签
- preferences_overlay_left
-
用于包装首选项页面左侧(即首选项部分)的容器
属性
层属性 间距属性 - preferences_overlay_right
-
用于包装首选项页面右侧(即首选项详细信息)的容器
属性
层属性 间距属性 - preferences_section_table
-
用于列出各种首选项部分的表格
属性
数据表属性 - preferences_buttons_container
-
包装首选项页面上的关闭按钮的容器
属性
层属性 间距属性
欢迎/克隆屏幕
自定义
用户可以通过创建一个包含新规则的文件来定制主题,这些规则将附加到原始主题定义中。
要创建主题的特定于用户的自定义,请创建一个与主题同名的文件,但将其保存在 Packages/User/ 目录中。
例如,要自定义 Merge 主题,请创建一个名为 Packages/User/Merge.sublime-theme 的文件。将以下规则添加到该文件中将增加位置栏中文本的大小。
[
{
"class": "location_bar_heading",
"font.size": 15,
},
{
"class": "location_bar_label",
"font.size": 14
}
]