aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2011-10-27 19:37:31 +0000
committerUlrich Müller <ulm@gentoo.org>2011-10-27 19:37:31 +0000
commit5f39392caf618c8615908f978fd05428cfadae17 (patch)
treee4b34f03d6cbb93a629f3e220dfd24236b28d887 /modules/news.eselect
parentRemove zile from list of editors. (diff)
downloadeselect-5f39392caf618c8615908f978fd05428cfadae17.tar.gz
eselect-5f39392caf618c8615908f978fd05428cfadae17.tar.bz2
eselect-5f39392caf618c8615908f978fd05428cfadae17.zip
Changed output formatting in news module, bug 388233.
svn path=/trunk/; revision=852
Diffstat (limited to 'modules/news.eselect')
-rw-r--r--modules/news.eselect13
1 files changed, 9 insertions, 4 deletions
diff --git a/modules/news.eselect b/modules/news.eselect
index b5aa6d9..ee605e2 100644
--- a/modules/news.eselect
+++ b/modules/news.eselect
@@ -167,6 +167,7 @@ describe_list() {
do_list() {
local item stat repo dir header line title posted i=1
+ local cols=${COLUMNS:-80}
local ifs_save=${IFS-$' \t\n'}
local -a repos dirs
@@ -189,13 +190,17 @@ do_list() {
esac
done
IFS=${ifs_save}
+ [[ ${repo} != gentoo ]] && title="[${repo}] ${title}"
+ line="${posted}$(space $((10 - ${#posted}))) ${title}"
+ # truncate the line if it is too long
+ (( 11 + ${#line} >= cols && cols >= 72 )) \
+ && line="${line:0:cols-15}..."
if [[ ${stat} = unread ]]; then
- write_numbered_list_entry $((i++)) "$(highlight \
- "unread ${posted}$(space $((12 - ${#posted})))${title}")"
+ write_numbered_list_entry ${i} "$(highlight "N ${line}")"
else
- write_numbered_list_entry $((i++)) \
- "read ${posted}$(space $((12 - ${#posted})))${title}"
+ write_numbered_list_entry ${i} " ${line}"
fi
+ (( i++ ))
done
[[ $# -eq 0 ]] && ! is_output_mode brief \
&& write_kv_list_entry "(none found)" ""