git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 4/7] parse_color: refactor color storage

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 20, 2014, 19:37 UTC
Message-ID
<xmqqlhn53bpg.fsf@gitster.dls.corp.google.com>
In-Reply-To
<20141120151704.GD23680@peff.net>
Jeff King <peff@peff.net> writes:
> The result is also slightly less efficient to store, but
> that's OK; we only store this intermediate state during the
> parse, after which we write out the actual ANSI bytes.

You need up to 24 bits for the value and then 2 bits for what type of color specification you have (what you called "state"), for which 32-bit should be sufficient. That would mean it is more efficient than a single int on 64-bit archs, and you can arrange the struct to be packed if we ever need to keep dozens of these things. Until then, the updated simple struct is just fine, and either way it is much easier to read ;-)

Thanks.
Previous: Jeff KingNext: Johannes Sixt
Message 10 of 22 in “Re: diff-highlight highlight words?”
  1. Jeff KingNov 12, 2014
  2. Scott BakerNov 12, 2014
  3. 0/7 color fixes and configurable diff-highlightJeff King, Nov 20, 2014
  4. 1/7 docs: describe ANSI 256-color modeJeff King, Nov 20, 2014
  5. 2/7 config: fix parsing of "git config --get-color some.key -1"Jeff King, Nov 20, 2014
  6. 3/7 t4026: test "normal" colorJeff King, Nov 20, 2014
  7. Junio C HamanoNov 20, 2014
  8. Jeff KingNov 20, 2014
  9. 4/7 parse_color: refactor color storageJeff King, Nov 20, 2014
  10. Junio C HamanoNov 20, 2014
  11. Johannes SixtDec 9, 2014
  12. Jeff KingDec 9, 2014
  13. Johannes SixtDec 9, 2014
  14. Jeff KingDec 9, 2014
  15. Eric SunshineDec 9, 2014
  16. 5/7 parse_color: support 24-bit RGB valuesJeff King, Nov 20, 2014
  17. Junio C HamanoNov 20, 2014
  18. Jeff KingNov 20, 2014
  19. Junio C HamanoNov 20, 2014
  20. 6/7 parse_color: recognize "no$foo" to clear the $foo attributeJeff King, Nov 20, 2014
  21. Junio C HamanoNov 20, 2014
  22. 7/7 diff-highlight: allow configurable colorsJeff King, Nov 20, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.