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
next 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.