Files
git/Documentation
Karthik Nayak ce59208293 ref-filter: implement an align atom
Implement an `align` atom which left-, middle-, or right-aligns the
content between %(align:...) and %(end).

The "align:" is followed by `<width>` and `<position>` in any order
separated by a comma, where the `<position>` is either left, right or
middle, default being left and `<width>` is the total length of the
content with alignment. If the contents length is more than the width
then no alignment is performed.  e.g. to align a refname atom to the
middle with a total width of 40 we can do:
--format="%(align:middle,40)%(refname)%(end)".

We introduce an `at_end` function for each element of the stack which
is to be called when the `end` atom is encountered. Using this we
implement end_align_handler() for the `align` atom, this aligns the
final strbuf by calling `strbuf_utf8_align()` from utf8.c.

Ensure that quote formatting is performed on the whole of
%(align:...)...%(end) rather than individual atoms inside. We skip
quote formatting for individual atoms when the current stack element
is handling an %(align:...) atom and perform quote formatting at the
end when we encounter the %(end) atom of the second element of then
stack.

Add documentation and tests for the same.

Mentored-by: Christian Couder <christian.couder@gmail.com>
Mentored-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-09-17 10:02:48 -07:00
..
2015-08-03 11:20:07 -07:00
2015-08-03 11:01:17 -07:00
2015-05-11 14:39:28 -07:00
2014-11-04 13:14:44 -08:00
2013-09-04 12:23:25 -07:00
2014-11-04 13:14:44 -08:00
2014-11-04 13:14:44 -08:00
2015-05-19 13:17:57 -07:00
2015-07-21 14:08:14 -07:00
2013-10-18 13:50:12 -07:00
2015-08-03 11:20:07 -07:00
2015-01-22 13:44:14 -08:00