summaryrefslogtreecommitdiff
path: root/init/ibuffer/init-ibuffer-human-readable-size.el
blob: 6d625217c99fac4421ba9ccc0a538ca04efaacb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 'init-ibuffer-human-readable-size)