summaryrefslogtreecommitdiff
path: root/headers
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2024-08-26 12:51:14 +0200
committerAki <please@ignore.pl>2024-08-26 12:51:14 +0200
commitf7d4ad2f7dd6bf64d13896d3409fde9b5437e374 (patch)
tree61f4de54bd0cb4b7fefdd31310222ee741b07181 /headers
parent0778c66917daba1a0dc948eacdf86578ec4dd2be (diff)
downloadheaders-f7d4ad2f7dd6bf64d13896d3409fde9b5437e374.zip
headers-f7d4ad2f7dd6bf64d13896d3409fde9b5437e374.tar.gz
headers-f7d4ad2f7dd6bf64d13896d3409fde9b5437e374.tar.bz2
Added installation targets
Diffstat (limited to 'headers')
-rw-r--r--headers/db.lua25
-rw-r--r--headers/default_path.lua1
2 files changed, 26 insertions, 0 deletions
diff --git a/headers/db.lua b/headers/db.lua
new file mode 100644
index 0000000..1404608
--- /dev/null
+++ b/headers/db.lua
@@ -0,0 +1,25 @@
+local dir = require "pl.dir"
+local default = require "headers.default_path"
+local parser = require "headers.parser"
+local db = {}
+
+
+function db.path (override)
+ return override or os.getenv "HEADERS_DB_PATH" or default
+end
+
+
+function db.parse_all (override)
+ local parser = parser.new()
+ local definitions = dir.getfiles(db.path(override), "*.lua") -- Will grab anything and error out in +5
+ for _, filename in pairs(definitions) do
+ local handle = io.open(filename)
+ local data = handle:read"a"
+ handle:close()
+ parser:parse(data)
+ end
+ return parser
+end
+
+
+return db
diff --git a/headers/default_path.lua b/headers/default_path.lua
new file mode 100644
index 0000000..bb1cb8a
--- /dev/null
+++ b/headers/default_path.lua
@@ -0,0 +1 @@
+return "db/"