-
-
Notifications
You must be signed in to change notification settings - Fork 376
支持RRGGBB的6位颜色格式 #3199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
支持RRGGBB的6位颜色格式 #3199
Conversation
@Copilot
Copilot
AI
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR expands the color format support to include non-hash 6-digit strings and refactors the color conversion logic for easier extensibility.
- Introduces an enum of color patterns for different color modes.
- Refactors color conversion functions into table methods to support future extensions.
- Adds support for non-hashed 6-digit RGB color strings.
Comments suppressed due to low confidence (1)
script/core/color.lua:94
- Ensure there are tests covering non-hashed 6-digit color strings to verify that the rgb6 conversion branch works as expected.
if source.type == 'string' then
in next,t改in pairs(t),写习惯了 Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
那一些项目中有不带井号的6位颜色字符串也一起支持一下吧
不帶井號的 6位/8位長度的 string,不一定就是 color code 吧 😕
- 隨便舉例:
local dbconf = { user = "root", pass = "123456", database = "test", }
=> 這樣 "123456"
就被當成 color code 了
- 還有比如1個 literal data table
其 key 就單純是1個 6位/8位字符長的 short hash
也全都當成 color code 了呢
local DATA = { ["000000"] = { field = "a", }, ["000001"] = { field = "b", }, }
沒有 #
prefix 也當成 color code,似會造成較多誤判
或者可以考慮增加1個 config,讓 user 有需要時才打開? 🤔
- 比如說有個
semantic.rgbColorMode
- 預設是
prefix
=> 即現有帶#
號的 detect 方式 - 可以有個
all
=> 不帶#
號也做 detect,你的 use case - 最後還可以有個
disable
=> 完全禁用 (這個是 bonus,或者先不用 implement)
Issues-translate-bot
commented
Jun 8, 2025
Sumneko Lua translate bot
Some projects have 6-bit color strings without pound marks, and support them together.
A 6-bit/8-bit length string without a pound mark may not be a color code 😕
- Give some examples:
local dbconf = { user = "root", pass = "123456", database = "test", }
=> In this way "123456"
is regarded as a color code
- There is also 1 literal data table
The key is simply a short hash with 6-bit/8-bit characters long
All of them are considered color codes
local DATA = { ["000000"] = { field = "a", }, ["000001"] = { field = "b", }, }
No #
prefix is also regarded as a color code, which seems to cause more misjudgments
Or can you consider adding 1 config to enable user to open when needed? 🤔
- For example, there is a
semantic.rgbColorMode
- The preset is
prefix
=>, that is, the existing detect method with#
number - You can have a
all
=> detect without the#
number, your use case - Finally, there can be a
disable
=> completely disabled (this is bonus, or do not use implement for now)
啊,那确实是应该加设置,之前八位数字也是会误判成颜色的,只是我运气好没遇见过🤣
Issues-translate-bot
commented
Jun 8, 2025
Sumneko Lua translate bot
Ah, that should be set. The previous eight digits would be misjudged as colors, but I was lucky and never met them 🤣
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The naming scheme is a bit out of the line when compared to their usual meaning in color science. The number usually means the number of bits for each color channel. So, ARGB8 would mean 4 channels where each has 8 bits, while RGB8 would be 3 channels of 8 bits.
If I understand the code correctly, the rgb6
and argb8
in the code store channels as Lua numbers, so doubles. I believe it would be a bit more consistent with some established conventions to drop the number and only specify the channel names.
Some references:
https://en.wikipedia.org/wiki/Color_depth#True_color_(24-bit)
https://www.khronos.org/opengl/wiki/Image_Format
https://photo.stackexchange.com/questions/90171/what-is-difference-between-8bit-rgb-and-16bit-rgb
既然 #3169 增加了
"#RRGGBB"
格式颜色的支持,那一些项目中有不带井号的6位颜色字符串也一起支持一下吧顺便把这部分功能做成更容易拓展的了