All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org, Jonathan Niedier <jrnieder@gmail.com>
Cc: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Subject: [PATCH 00/16] column output (v2) and git-ls
Date: Wed,  9 Feb 2011 19:24:28 +0700	[thread overview]
Message-ID: <1297254284-3729-1-git-send-email-pclouds@gmail.com> (raw)

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

             reply	other threads:[~2011-02-09 12:26 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-09 12:24 Nguyễn Thái Ngọc Duy [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1297254284-3729-1-git-send-email-pclouds@gmail.com \
    --to=pclouds@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.