aboutsummaryrefslogtreecommitdiff
path: root/.config/awesome/quarrel/fs.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/awesome/quarrel/fs.lua')
-rw-r--r--.config/awesome/quarrel/fs.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/.config/awesome/quarrel/fs.lua b/.config/awesome/quarrel/fs.lua
new file mode 100644
index 0000000..89a1bc6
--- /dev/null
+++ b/.config/awesome/quarrel/fs.lua
@@ -0,0 +1,29 @@
+local GFile = require "lgi".Gio.File
+
+local qfs = {}
+
+function qfs.read(path, format)
+ local f = assert(io.open(path, "r"))
+ local c = f:read(format or "a")
+ f:close()
+ return c
+end
+
+function qfs.ls_files(path, absolute)
+ local files = GFile.new_for_path(path):enumerate_children("standard::*", 0)
+ local files_filtered = {}
+
+ if not files then return {} end
+
+ for file in function() return files:next_file() end do
+ if file:get_file_type() == "REGULAR" then
+ local file_name = file:get_display_name()
+ file_name = absolute and (path:gsub("[/]*$", "") .. "/" .. file_name) or file_name
+ table.insert(files_filtered, file_name)
+ end
+ end
+
+ return files_filtered
+end
+
+return qfs