All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/16] column output (v2) and git-ls
@ 2011-02-09 12:24 Nguyễn Thái Ngọc Duy
  2011-02-09 12:24 ` [PATCH 01/16] Move term_columns() to pager.c and save terminal width before pager Nguyễn Thái Ngọc Duy
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: Nguyễn Thái Ngọc Duy @ 2011-02-09 12:24 UTC (permalink / raw)
  To: git, Jonathan Niedier; +Cc: Nguyễn Thái Ngọc Duy

I have fixed most of things Jonathan mentioned in the previous series,
but that's not the focus. I resend column output series because it's
required for git-ls patches, a more interesting command.

Column output patches:

  Move term_columns() to pager.c and save terminal width before pager
  Add display_columns() to display in column layout
  display_columns: add COL_MODE_{COLUMN,ROW} mode
  display_columns: add COL_DENSE to do unequal column layout
  Add test-column for testing column layout
  Add core.column
  parseopt: OPT_COLUMN to set struct column_layout.mode
  help: reuse display_columns() for help -a
  tag: add --column
  branch: add --column

Changes:

 - struct column_layout is gone.
 - core.column and --column takes a list of options separated by
   space/comma, so you can customize your display.

Remaining problems:

 - perhaps column.<cmd> config is better than core.column.
 - ansi_length() might misunderstand utf-8/ansi escapes
 - the heuristics to make dense layout
 - --column can also take auto/never/always
 - tests

git-ls patches:

  Add ls command
  ls: add --column
  ls: add --recursive and turn default to non-recursive mode
  ls: immitate UNIX ls output style
  ls: strip common directory prefix from output
  ls: color output

In short, git-ls is supposed to work as close as possible to UNIX ls,
while still takes advantages of git-ls-files.

I split this into many patches for easier discussion. The code itself
is still WIP-quality. The design may not be 100% right.
Oh and I'm not sure how to do the color part right. Reading $LS_COLORS
is scary and does not really fit Git.

 .gitignore                   |    2 +
 Documentation/config.txt     |   11 ++
 Documentation/git-branch.txt |    6 +
 Documentation/git-tag.txt    |    9 +-
 Makefile                     |    3 +
 builtin.h                    |    1 +
 builtin/branch.c             |   23 +++-
 builtin/ls-files.c           |  295 +++++++++++++++++++++++++++++++++++++++++-
 builtin/tag.c                |   21 +++-
 cache.h                      |    1 +
 column.c                     |  287 ++++++++++++++++++++++++++++++++++++++++
 column.h                     |   18 +++
 command-list.txt             |    1 +
 config.c                     |    4 +
 environment.c                |    1 +
 git.c                        |    1 +
 help.c                       |   52 +------
 pager.c                      |   33 +++++
 parse-options.h              |    2 +
 t/t9002-column.sh            |  108 +++++++++++++++
 test-column.c                |   57 ++++++++
 21 files changed, 879 insertions(+), 57 deletions(-)
 create mode 100644 column.c
 create mode 100644 column.h
 create mode 100755 t/t9002-column.sh
 create mode 100644 test-column.c

-- 
1.7.2.2

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2011-02-09 12:52 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-09 12:24 [PATCH 00/16] column output (v2) and git-ls Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 01/16] Move term_columns() to pager.c and save terminal width before pager Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 02/16] Add display_columns() to display in column layout Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 03/16] display_columns: add COL_MODE_{COLUMN,ROW} mode Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 04/16] display_columns: add COL_DENSE to do unequal column layout Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 05/16] Add test-column for testing " Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 06/16] Add core.column Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 07/16] parseopt: OPT_COLUMN to set struct column_layout.mode Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 08/16] help: reuse display_columns() for help -a Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 09/16] tag: add --column Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 10/16] branch: " Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 11/16] Add ls command Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 12/16] ls: add --column Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 13/16] ls: add --recursive and turn default to non-recursive mode Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 14/16] ls: immitate UNIX ls output style Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 15/16] ls: strip common directory prefix from output Nguyễn Thái Ngọc Duy
2011-02-09 12:24 ` [PATCH 16/16] ls: color output Nguyễn Thái Ngọc Duy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.