aboutsummaryrefslogtreecommitdiff
path: root/.config/awesome/quarrel/fs.lua
blob: 89a1bc644ae0f69965eb5766c589a91bc4ab7941 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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