Closed gaardhus closed 3 weeks ago
Thanks for the suggestion!
As long as it is possible to match target text with Lua patterns and compute hex color based on it, it is possible.
That said, this particular highlighting seems to be too much to be included directly in 'mini.hipatterns'. You can certainly create own highlighter. Here are some relevant sources to help with this:
compute_hex_color_group()
which makes it easier to create highlight groups based on the hex color alone.Closing as not planned.
Thanks! I made it work with LazyVim by adding the following config:
-- Issue with guides for setting custom highlighters:
-- https://github.com/echasnovski/mini.nvim/issues/957#issuecomment-2160999162
-- xterm 256 color map from:
-- https://www.ditig.com/publications/256-colors-cheat-sheet
local color256_map = {
color0 = "#000000",
color1 = "#800000",
color2 = "#008000",
color3 = "#808000",
color4 = "#000080",
color5 = "#800080",
color6 = "#008080",
color7 = "#c0c0c0",
color8 = "#808080",
color9 = "#ff0000",
color10 = "#00ff00",
color11 = "#ffff00",
color12 = "#0000ff",
color13 = "#ff00ff",
color14 = "#00ffff",
color15 = "#ffffff",
color16 = "#000000",
color17 = "#00005f",
color18 = "#000087",
color19 = "#0000af",
color20 = "#0000d7",
color21 = "#0000ff",
color22 = "#005f00",
color23 = "#005f5f",
color24 = "#005f87",
color25 = "#005faf",
color26 = "#005fd7",
color27 = "#005fff",
color28 = "#008700",
color29 = "#00875f",
color30 = "#008787",
color31 = "#0087af",
color32 = "#0087d7",
color33 = "#0087ff",
color34 = "#00af00",
color35 = "#00af5f",
color36 = "#00af87",
color37 = "#00afaf",
color38 = "#00afd7",
color39 = "#00afff",
color40 = "#00d700",
color41 = "#00d75f",
color42 = "#00d787",
color43 = "#00d7af",
color44 = "#00d7d7",
color45 = "#00d7ff",
color46 = "#00ff00",
color47 = "#00ff5f",
color48 = "#00ff87",
color49 = "#00ffaf",
color50 = "#00ffd7",
color51 = "#00ffff",
color52 = "#5f0000",
color53 = "#5f005f",
color54 = "#5f0087",
color55 = "#5f00af",
color56 = "#5f00d7",
color57 = "#5f00ff",
color58 = "#5f5f00",
color59 = "#5f5f5f",
color60 = "#5f5f87",
color61 = "#5f5faf",
color62 = "#5f5fd7",
color63 = "#5f5fff",
color64 = "#5f8700",
color65 = "#5f875f",
color66 = "#5f8787",
color67 = "#5f87af",
color68 = "#5f87d7",
color69 = "#5f87ff",
color70 = "#5faf00",
color71 = "#5faf5f",
color72 = "#5faf87",
color73 = "#5fafaf",
color74 = "#5fafd7",
color75 = "#5fafff",
color76 = "#5fd700",
color77 = "#5fd75f",
color78 = "#5fd787",
color79 = "#5fd7af",
color80 = "#5fd7d7",
color81 = "#5fd7ff",
color82 = "#5fff00",
color83 = "#5fff5f",
color84 = "#5fff87",
color85 = "#5fffaf",
color86 = "#5fffd7",
color87 = "#5fffff",
color88 = "#870000",
color89 = "#87005f",
color90 = "#870087",
color91 = "#8700af",
color92 = "#8700d7",
color93 = "#8700ff",
color94 = "#875f00",
color95 = "#875f5f",
color96 = "#875f87",
color97 = "#875faf",
color98 = "#875fd7",
color99 = "#875fff",
color100 = "#878699",
color101 = "#87875f",
color102 = "#878787",
color103 = "#8787af",
color104 = "#8787d7",
color105 = "#8787ff",
color106 = "#87af00",
color107 = "#87af5f",
color108 = "#87af87",
color109 = "#87afaf",
color110 = "#87afd7",
color111 = "#87afff",
color112 = "#87d700",
color113 = "#87d75f",
color114 = "#87d787",
color115 = "#87d7af",
color116 = "#87d7d7",
color117 = "#87d7ff",
color118 = "#87ff00",
color119 = "#87ff5f",
color120 = "#87ff87",
color121 = "#87ffaf",
color122 = "#87ffd7",
color123 = "#87ffff",
color124 = "#af0000",
color125 = "#af005f",
color126 = "#af0087",
color127 = "#af00af",
color128 = "#af00d7",
color129 = "#af00ff",
color130 = "#af5f00",
color131 = "#af5f5f",
color132 = "#af5f87",
color133 = "#af5faf",
color134 = "#af5fd7",
color135 = "#af5fff",
color136 = "#af8700",
color137 = "#af875f",
color138 = "#af8787",
color139 = "#af87af",
color140 = "#af87d7",
color141 = "#af87ff",
color142 = "#afaf00",
color143 = "#afaf5f",
color144 = "#afaf87",
color145 = "#afafaf",
color146 = "#afafd7",
color147 = "#afafff",
color148 = "#afd700",
color149 = "#afd75f",
color150 = "#afd787",
color151 = "#afd7af",
color152 = "#afd7d7",
color153 = "#afd7ff",
color154 = "#afff00",
color155 = "#afff5f",
color156 = "#afff87",
color157 = "#afffaf",
color158 = "#afffd7",
color159 = "#afffff",
color160 = "#d70000",
color161 = "#d7005f",
color162 = "#d70087",
color163 = "#d700af",
color164 = "#d700d7",
color165 = "#d700ff",
color166 = "#d75f00",
color167 = "#d75f5f",
color168 = "#d75f87",
color169 = "#d75faf",
color170 = "#d75fd7",
color171 = "#d75fff",
color172 = "#d78700",
color173 = "#d7875f",
color174 = "#d78787",
color175 = "#d787af",
color176 = "#d787d7",
color177 = "#d787ff",
color178 = "#d7af00",
color179 = "#d7af5f",
color180 = "#d7af87",
color181 = "#d7afaf",
color182 = "#d7afd7",
color183 = "#d7afff",
color184 = "#d7d700",
color185 = "#d7d75f",
color186 = "#d7d787",
color187 = "#d7d7af",
color188 = "#d7d7d7",
color189 = "#d7d7ff",
color190 = "#d7ff00",
color191 = "#d7ff5f",
color192 = "#d7ff87",
color193 = "#d7ffaf",
color194 = "#d7ffd7",
color195 = "#d7ffff",
color196 = "#ff0000",
color197 = "#ff005f",
color198 = "#ff0087",
color199 = "#ff00af",
color200 = "#ff00d7",
color201 = "#ff00ff",
color202 = "#ff5f00",
color203 = "#ff5f5f",
color204 = "#ff5f87",
color205 = "#ff5faf",
color206 = "#ff5fd7",
color207 = "#ff5fff",
color208 = "#ff8700",
color209 = "#ff875f",
color210 = "#ff8787",
color211 = "#ff87af",
color212 = "#ff87d7",
color213 = "#ff87ff",
color214 = "#ffaf00",
color215 = "#ffaf5f",
color216 = "#ffaf87",
color217 = "#ffafaf",
color218 = "#ffafd7",
color219 = "#ffafff",
color220 = "#ffd700",
color221 = "#ffd75f",
color222 = "#ffd787",
color223 = "#ffd7af",
color224 = "#ffd7d7",
color225 = "#ffd7ff",
color226 = "#ffff00",
color227 = "#ffff5f",
color228 = "#ffff87",
color229 = "#ffffaf",
color230 = "#ffffd7",
color231 = "#ffffff",
color232 = "#080808",
color233 = "#121212",
color234 = "#1c1c1c",
color235 = "#262626",
color236 = "#303030",
color237 = "#3a3a3a",
color238 = "#444444",
color239 = "#4e4e4e",
color240 = "#585858",
color241 = "#626262",
color242 = "#6c6c6c",
color243 = "#767676",
color244 = "#808080",
color245 = "#8a8a8a",
color246 = "#949494",
color247 = "#9e9e9e",
color248 = "#a8a8a8",
color249 = "#b2b2b2",
color250 = "#bcbcbc",
color251 = "#c6c6c6",
color252 = "#d0d0d0",
color253 = "#dadada",
color254 = "#e4e4e4",
color255 = "#eeeeee",
}
local word_color_group = function(_, match)
local hex = color256_map[match]
if hex == nil then
return nil
end
return MiniHipatterns.compute_hex_color_group(hex, "bg")
end
return {
"echasnovski/mini.hipatterns",
opts = {
highlighters = {
word_color = { pattern = "%S+", group = word_color_group },
},
},
}
Contributing guidelines
Module(s)
mini-hipatterns
Description
Thanks for some great modules!
I'm currently editing a config file which references colors based on their xterm number, ie:
Would it be possible to add color highlighting for those like for hex and rgb?