about summary refs log tree commit diff
path: root/fnl/nvrc/ui/modules/misc.fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl/nvrc/ui/modules/misc.fnl')
-rw-r--r--fnl/nvrc/ui/modules/misc.fnl14
1 files changed, 14 insertions, 0 deletions
diff --git a/fnl/nvrc/ui/modules/misc.fnl b/fnl/nvrc/ui/modules/misc.fnl
new file mode 100644
index 0000000..24d84f9
--- /dev/null
+++ b/fnl/nvrc/ui/modules/misc.fnl
@@ -0,0 +1,14 @@
+(fn file-size []
+  "feline.nvim's file size calculation module."
+  (let [suffix [:b :k :M :G :T :P :E]]
+    (var index 1)
+    (var fsize (vim.fn.getfsize (vim.api.nvim_buf_get_name 0)))
+    (when (< fsize 0)
+      (set fsize 0))
+    (while (and (> fsize 1024) (< index 7))
+      (set fsize (/ fsize 1024))
+      (set index (+ index 1)))
+    (string.format (or (and (= index 1) "%g%s | ") "%.2f%s | ") fsize
+                   (. suffix index))))
+
+{: file-size}