summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/eread35
1 files changed, 33 insertions, 2 deletions
diff --git a/bin/eread b/bin/eread
index 7d0a970..d74a167 100755
--- a/bin/eread
+++ b/bin/eread
@@ -5,6 +5,7 @@
#
# Author: Donnie Berkholz <spyderous@gentoo.org>
# Updated by: Uwe Klosa <uwe.klosa@gmail.com>
+# Updated by: Slawomir Nizio <slawomir.nizio@sabayon.org>
# Get prefix
EPREFIX=${EPREFIX:-$(portageq envvar EPREFIX)}
@@ -30,9 +31,33 @@ fi
# Set up select prompt
PS3="Choice? "
+SORT=${EREAD_SORT_ORDER}
+
+find_unsorted() {
+ find . -type f | sed -e "s:\./::g"
+}
+find_by_name() {
+ find . -type f | sort | sed -e "s:\./::g"
+}
+find_by_time() {
+ find . -type f | sort -k 3 -t : | sed -e "s:\./::g"
+}
+find_files() {
+ case ${SORT} in
+ alphabet)
+ find_by_name
+ ;;
+ time)
+ find_by_time
+ ;;
+ *)
+ find_unsorted
+ ;;
+ esac
+}
+
select_loop() {
- ANY_FILES=$(find . -type f)
- ANY_FILES=$(echo ${ANY_FILES} | sed -e "s:\./::g")
+ ANY_FILES=$(find_files)
if [[ -z ${ANY_FILES} ]]; then
echo "No log items to read"
@@ -51,6 +76,12 @@ select_loop() {
QUIT="yes"
break
;;
+ a)
+ SORT="alphabet"
+ ;;
+ t)
+ SORT="time"
+ ;;
*)
if [ -f "$FILE" ]; then
${PAGER} ${FILE}