Files
mqttx/gpui-app/themes/mellifluous.json
T
JoeAllen ac5b6e9862 feat: 接入 gpui-kit 全部 38 个官方主题预设 + 按语言拆分 locales + 0.7.3 升级
主题预设("我全都要"):
- gpui-app/themes/ 内嵌官方捆绑 21 个文件 36 变体 + Default Light/Dark
- theme.rs:register_bundled_themes(bootstrap 注册)/ apply_theme_preset
  (Theme::update + apply_config 整包应用)/ theme_preset_names
- settings.theme_preset 字段(serde 默认 linear);保存/启动按预设分派,
  外观模式与跟随系统监听仅对 Linear 生效(预设自带明暗不被冲掉)
- 设置页「主题预设」下拉(Linear + 38 注册名),切换即时生效

语言包按语言分文件(用户要求):
- locales/ui.yml → locales/en.yml + locales/zh-CN.yml
  (rust-i18n 文件名 stem 即 locale,扁平 "ns.key": "value")
- i18n.rs 测试改为双文件键集合一致性 + 占位符强制

修复:设置对话框打开即栈溢出
- gpui-kit 0.7.0→0.7.3 无法解决;根因是 Windows 主线程 8MB 栈对
  Dialog 覆盖层内 Select 渲染的深调用链不足,注册多主题后越过阈值
  (64MB 试验栈下不复现,证实深调用链而非无限递归)
- .cargo/config.toml:Windows 主线程栈 8MB→64MB
- 注册时机移到 bootstrap(main 的 init_themes,gpui_kit::init 后、
  窗口创建前),对齐官方 story 示例的注册姿势
- 误伤修复:gpui-app/Cargo.toml 被批量编辑误删 bin.name 与
  build-dependencies 段;examples/flood.rs 误删已恢复

官方 skill 同步:npx skills add 被墙,gh-proxy 镜像克隆后手动覆盖
~/.agents/skills 与 ~/.zcode/skills 的 gpui-kit + gpui-kit-design-guides。
2026-10-12 17:07:40 +08:00

331 lines
9.8 KiB
JSON

{
"$schema": "https://github.com/longbridge/gpui-kit/raw/refs/heads/main/.theme-schema.json",
"name": "Mellifluous",
"author": "Ramojus Lapinskas",
"url": "https://github.com/ramojus/mellifluous.nvim",
"themes": [
{
"name": "Mellifluous Light",
"mode": "light",
"shadow": false,
"colors": {
"accent.background": "#d4d4d4",
"accent.foreground": "#383a42",
"background": "#E7E7E7",
"border": "#CACACA",
"danger.active.background": "#e06c75",
"danger.hover.background": "#be5046",
"foreground": "#383a42",
"link.active.foreground": "#5A6599",
"link.foreground": "#5A6599",
"link.hover.foreground": "#5A6599",
"list.hover.background": "#d5d5d5",
"list.active.background": "#5A659912",
"list.active.border": "#5A6599",
"list.even.background": "#F0F0F0",
"muted.background": "#E0E0E0",
"muted.foreground": "#828997",
"panel.background": "#fafafa",
"popover.background": "#E4E4E4",
"popover.foreground": "#383a42",
"primary.active.background": "#5A6599AA",
"primary.background": "#5A6599",
"primary.foreground": "#F0F0F0",
"primary.hover.background": "#626ca2",
"scrollbar.background": "#fafafa00",
"scrollbar.thumb.background": "#c0c0c0",
"secondary.background": "#d0d0d0",
"secondary.active.background": "#cccccc",
"secondary.foreground": "#383a42",
"secondary.hover.background": "#d7d7d7",
"tab.active.background": "#E7E7E7",
"tab.active.foreground": "#383a42",
"tab.background": "#F0F0F000",
"tab.foreground": "#727272",
"tab_bar.background": "#E7E7E7",
"title_bar.background": "#dfdfdf",
"title_bar.border": "#CACACA",
"status_bar.background": "#dfdfdf",
"base.red": "#C95954",
"base.green": "#828040",
"base.yellow": "#c98f54",
"base.blue": "#a8a1be",
"base.magenta": "#b39fb0",
"base.magenta.light": "#9C699588",
"base.cyan": "#54c981"
},
"highlight": {
"editor.foreground": "#383a42",
"editor.background": "#E7E7E7",
"editor.active_line.background": "#d5d5d5",
"editor.line_number": "#727272",
"editor.active_line_number": "#383a42",
"editor.invisible": "#A0A0A066",
"conflict": "#e06c75",
"created": "#828040",
"deleted": "#be5046",
"error": "#e06c75",
"hidden": "#727272",
"hint": "#5A6599",
"ignored": "#727272",
"info": "#5A6599",
"modified": "#727272",
"predictive": "#727272",
"renamed": "#727272",
"success": "#828040",
"unreachable": "#727272",
"warning": "#cbaa89",
"syntax": {
"attribute": {
"color": "#727272"
},
"boolean": {
"color": "#cbaa89"
},
"comment": {
"color": "#A0A0A0",
"font_style": "italic"
},
"comment.doc": {
"color": "#A0A0A0",
"font_style": "italic"
},
"constant": {
"color": "#cbaa89"
},
"constructor": {
"color": "#727272"
},
"embedded": {
"color": "#383a42"
},
"function": {
"color": "#cbaa89"
},
"keyword": {
"color": "#e06c75"
},
"link_text": {
"color": "#5A6599",
"font_style": "normal"
},
"link_uri": {
"color": "#5A6599",
"font_style": "italic"
},
"number": {
"color": "#e06c75"
},
"string": {
"color": "#828040"
},
"string.escape": {
"color": "#828040"
},
"string.regex": {
"color": "#828040"
},
"string.special": {
"color": "#cbaa89"
},
"string.special.symbol": {
"color": "#cbaa89"
},
"tag": {
"color": "#727272"
},
"text.literal": {
"color": "#cbaa89"
},
"title": {
"color": "#727272",
"font_weight": 600
},
"type": {
"color": "#727272"
},
"property": {
"color": "#383a42"
},
"variable.special": {
"color": "#e06c75"
}
}
}
},
{
"name": "Mellifluous Dark",
"mode": "dark",
"shadow": false,
"colors": {
"accent.background": "#2f2f2f",
"accent.foreground": "#abb2bf",
"background": "#1A1A1A",
"border": "#444444",
"foreground": "#abb2bf",
"input.border": "#444444",
"link.active.foreground": "#5A6599",
"link.foreground": "#5A6599",
"link.hover.foreground": "#5A6599",
"list.active.background": "#5A659922",
"list.active.border": "#5A6599",
"list.even.background": "#29292988",
"muted.background": "#44444455",
"muted.foreground": "#828997",
"panel.background": "#282c34",
"popover.background": "#1A1A1A",
"popover.foreground": "#abb2bf",
"primary.active.background": "#5A6599AA",
"primary.background": "#5A6599",
"primary.foreground": "#ecedf4",
"primary.hover.background": "#626ca2",
"scrollbar.background": "#282c3400",
"scrollbar.thumb.background": "#444444",
"secondary.background": "#292929",
"secondary.active.background": "#323232",
"secondary.foreground": "#abb2bf",
"secondary.hover.background": "#292929",
"tab.active.background": "#1A1A1A",
"tab.active.foreground": "#abb2bf",
"tab.background": "#1A1A1A00",
"tab.foreground": "#abb2bf",
"title_bar.background": "#171717",
"title_bar.border": "#444444",
"base.red": "#C95954",
"base.green": "#828040",
"base.yellow": "#c98d54",
"base.blue": "#5481c9",
"base.magenta": "#9C6995",
"base.magenta.light": "#9C699577",
"base.cyan": "#54c9bd"
},
"highlight": {
"editor.foreground": "#abb2bf",
"editor.background": "#1A1A1A",
"editor.active_line.background": "#29292977",
"editor.line_number": "#828997",
"editor.active_line_number": "#abb2bf",
"editor.invisible": "#A0A0A066",
"conflict": "#e06c75",
"conflict.background": "#1A1A1A",
"conflict.border": "#be5046",
"created": "#828040",
"created.background": "#292929",
"created.border": "#929292",
"deleted": "#be5046",
"deleted.background": "#1A1A1A",
"deleted.border": "#e06c75",
"error": "#e06c75",
"error.background": "#1A1A1A",
"error.border": "#be5046",
"hidden": "#828997",
"hidden.background": "#292929",
"hidden.border": "#444444",
"hint": "#5A6599",
"hint.background": "#292929",
"hint.border": "#626ca2",
"ignored": "#828997",
"ignored.background": "#292929",
"ignored.border": "#444444",
"info": "#5A6599",
"info.background": "#292929",
"info.border": "#626ca2",
"modified": "#929292",
"modified.background": "#292929",
"modified.border": "#444444",
"predictive": "#828997",
"predictive.background": "#292929",
"predictive.border": "#444444",
"renamed": "#929292",
"renamed.background": "#292929",
"renamed.border": "#444444",
"success": "#828040",
"success.background": "#292929",
"success.border": "#929292",
"unreachable": "#828997",
"unreachable.background": "#292929",
"unreachable.border": "#444444",
"warning": "#d19a66",
"warning.background": "#292929",
"warning.border": "#929292",
"syntax": {
"attribute": {
"color": "#929292"
},
"boolean": {
"color": "#d19a66"
},
"comment": {
"color": "#828997",
"font_style": "italic"
},
"comment.doc": {
"color": "#828997",
"font_style": "italic"
},
"constant": {
"color": "#d19a66"
},
"constructor": {
"color": "#929292"
},
"embedded": {
"color": "#abb2bf"
},
"function": {
"color": "#d19a66"
},
"keyword": {
"color": "#e06c75"
},
"link_text": {
"color": "#5A6599",
"font_style": "normal"
},
"link_uri": {
"color": "#5A6599",
"font_style": "italic"
},
"number": {
"color": "#e06c75"
},
"string": {
"color": "#828040"
},
"string.escape": {
"color": "#828040"
},
"string.regex": {
"color": "#828040"
},
"string.special": {
"color": "#d19a66"
},
"string.special.symbol": {
"color": "#d19a66"
},
"tag": {
"color": "#929292"
},
"text.literal": {
"color": "#d19a66"
},
"title": {
"color": "#929292",
"font_weight": 600
},
"type": {
"color": "#929292"
},
"property": {
"color": "#abb2bf"
},
"variable.special": {
"color": "#e06c75"
}
}
}
}
]
}