summaryrefslogtreecommitdiff
path: root/config/ibuffer/config-ibuffer-human-readable-size.el
diff options
context:
space:
mode:
authorJohn Turner <jturner.usa@gmail.com>2022-08-25 22:58:11 -0400
committerJohn Turner <jturner.usa@gmail.com>2022-08-25 22:58:11 -0400
commit895bccda9e79d172935d1a99b99b4ed75e4b517c (patch)
treeb39df825398ea0a6b0cb0a800cfc72757b2e4336 /config/ibuffer/config-ibuffer-human-readable-size.el
parent04f350f889db7e2c73e7be48797a5ba83b891dc7 (diff)
downloademacs.d-895bccda9e79d172935d1a99b99b4ed75e4b517c.tar.gz
setup ibuffer
Diffstat (limited to 'config/ibuffer/config-ibuffer-human-readable-size.el')
-rw-r--r--config/ibuffer/config-ibuffer-human-readable-size.el16
1 files changed, 16 insertions, 0 deletions
diff --git a/config/ibuffer/config-ibuffer-human-readable-size.el b/config/ibuffer/config-ibuffer-human-readable-size.el
new file mode 100644
index 0000000..5cec3a9
--- /dev/null
+++ b/config/ibuffer/config-ibuffer-human-readable-size.el
@@ -0,0 +1,16 @@
+(define-ibuffer-column size-human-readable
+ (:name "Size" :inline t)
+ (let ((size (buffer-size)))
+ (cond
+ ((> size (expt 1000 4))
+ (error "buffer is over 1TB large!"))
+ ((> size (expt 1000 3))
+ (format "%sG" (/ size (expt 1000 3))))
+ ((> size (expt 1000 2))
+ (format "%sM" (/ size (expt 1000 2))))
+ ((> size 1000)
+ (format "%sK" (/ size 1000)))
+ (t
+ (format "%sB" size)))))
+
+(provide 'config-ibuffer-human-readable-size)