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

[PATCH v2 0/9] Advanced --oneline layout

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Sep 23, 2012, 09:10 UTC
Message-ID
<1348391433-11300-1-git-send-email-pclouds@gmail.com>
In-Reply-To
<1348287739-12128-1-git-send-email-pclouds@gmail.com>

The series is now feature complete from my usage pov. The syntax may change though. No tests yet until we agree on the syntax and semantics. Summary:

 - %C(auto) turns on coloring for the next placeholder
 - %C(auto,N) the same on the next N placeholders
 - %<(W) makes sure the next placeholder takes W columns, left aligned
 - %>(W) like %< but right aligned
 - %><(W) like %< but centered
 - %>|(W), %<|(W), %><|(W) are similar, except that W is calculated
   to reach the Nth column on screen. (We might want %>|< instead of
   %><|)
 - %>>(W) like %>(W) but it will try to steal trailing spaces if the
   placeholder uses more than "W" columns. Very useful in "%<%>"
   combination where the last placeholder may leave a lot of spaces
   unused
 - All the above may take trunc, ltrunc, mtrunc optios in the bracket
   to truncate the result string if exceeds the given width. It
   truncates on the right, left and middle respectively.
 - No support for $COLUMNS. If you want to fit your screen, bash's
   $(()) syntax is your friend to calculate columns.
 - We might want to support %<direction>(W,N), e.g. %<(40,3), where
   the next N placeholders are grouped and aligned together as a
   single placeholder.
Show off time:

6ab07c4 pretty: support %>> that steal trailing spaces (HEAD, lanh/prettier) Nguyễn..gọc Duy ee1c10e pretty: support truncating in %>, %< and %>< Nguyễn..gọc Duy 77aefae pretty: support padding placeholders, %< %> and %>< Nguyễn..gọc Duy 8f81f6b pretty: two phase conversion for non utf-8 commits Nguyễn..gọc Duy c3f1243 utf8.c: add utf8_strnwidth() with the ability to skip ansi sequences Nguyễn..gọc Duy 1a4e9bb utf8.c: move display_mode_esc_sequence_len() for use by other functions Nguyễn..gọc Duy 99aa0c2 pretty: support %C(auto[,N]) to turn on coloring on next placeholder(s) Nguyễn..gọc Duy 1feaab6 pretty: split parsing %C into a separate function Nguyễn..gọc Duy b2676ac pretty: share code between format_decoration and show_decorations Nguyễn..gọc Duy 6bdccbe graph: avoid infinite loop in graph_show_commit() Nguyễn..gọc Duy 16eed7c Merge branch 'mh/fetch-filter-refs' (origin/master) Junio C Hamano

Produced with "%C(auto,99)%h %<|(80,trunc)%s%>>|(80)%d%>(15,mtrunc)% an"
Nguyễn Thái Ngọc Duy (9):
  pretty: share code between format_decoration and show_decorations
  pretty: split parsing %C into a separate function
  pretty: support %C(auto[,N]) to turn on coloring on next placeholder(s)
  utf8.c: move display_mode_esc_sequence_len() for use by other functions
  utf8.c: add utf8_strnwidth() with the ability to skip ansi sequences
  pretty: two phase conversion for non utf-8 commits
  pretty: support padding placeholders, %< %> and %><
  pretty: support truncating in %>, %< and %><
  pretty: support %>> that steal trailing spaces
 Documentation/pretty-formats.txt |   7 +
 log-tree.c                       |  60 ++++---
 log-tree.h                       |   3 +
 pretty.c                         | 327 ++++++++++++++++++++++++++++++++-------
 t/t4207-log-decoration-colors.sh |   8 +-
 t/t6006-rev-list-format.sh       |  16 +-
 t/t6006/commit-msg.iso8859-1     |   5 +
 utf8.c                           |  94 ++++++++---
 utf8.h                           |   4 +
 9 files changed, 412 insertions(+), 112 deletions(-)
 create mode 100644 t/t6006/commit-msg.iso8859-1
-- 
1.7.12.1.406.g6ab07c4
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 9 of 21 in “Advanced --oneline layout”
  1. 0/6 Advanced --oneline layoutNguyễn Thái Ngọc Duy, Sep 22, 2012
  2. 1/6 pretty: share code between format_decoration and show_decorationsNguyễn Thái Ngọc Duy, Sep 22, 2012
  3. 2/6 pretty: split parsing %C into a separate functionNguyễn Thái Ngọc Duy, Sep 22, 2012
  4. 3/6 pretty: support %C(auto[,N]) to turn on coloring on next placeholder(s)Nguyễn Thái Ngọc Duy, Sep 22, 2012
  5. 4/6 utf8.c: move display_mode_esc_sequence_len() for use by other functionsNguyễn Thái Ngọc Duy, Sep 22, 2012
  6. 5/6 utf8.c: add utf8_strnwidth() with the ability to skip ansi sequencesNguyễn Thái Ngọc Duy, Sep 22, 2012
  7. 6/6 pretty: support padding placeholders, %< %> and %<>Nguyễn Thái Ngọc Duy, Sep 22, 2012
  8. 7/6 pretty: trim trailing spaces due to paddingNguyễn Thái Ngọc Duy, Sep 22, 2012
  9. 0/9 Advanced --oneline layoutNguyễn Thái Ngọc Duy, Sep 23, 2012
  10. 1/9 pretty: share code between format_decoration and show_decorationsNguyễn Thái Ngọc Duy, Sep 23, 2012
  11. 2/9 pretty: split parsing %C into a separate functionNguyễn Thái Ngọc Duy, Sep 23, 2012
  12. 3/9 pretty: support %C(auto[,N]) to turn on coloring on next placeholder(s)Nguyễn Thái Ngọc Duy, Sep 23, 2012
  13. 4/9 utf8.c: move display_mode_esc_sequence_len() for use by other functionsNguyễn Thái Ngọc Duy, Sep 23, 2012
  14. 5/9 utf8.c: add utf8_strnwidth() with the ability to skip ansi sequencesNguyễn Thái Ngọc Duy, Sep 23, 2012
  15. 6/9 pretty: two phase conversion for non utf-8 commitsNguyễn Thái Ngọc Duy, Sep 23, 2012
  16. Robin RosenbergSep 23, 2012
  17. Nguyen Thai Ngoc DuySep 24, 2012
  18. 7/9 pretty: support padding placeholders, %< %> and %><Nguyễn Thái Ngọc Duy, Sep 23, 2012
  19. Jeff KingOct 24, 2012
  20. 8/9 pretty: support truncating in %>, %< and %><Nguyễn Thái Ngọc Duy, Sep 23, 2012
  21. 9/9 pretty: support %>> that steal trailing spacesNguyễn Thái Ngọc Duy, Sep 23, 2012

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.