summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2012-08-30 15:17:51 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2012-08-30 15:17:51 +0100
commit700802b31be09b915487fe5cb147d8a300d5bb9e (patch)
tree365494d3f57e700cb32e404611f5dfb1d86a85c4
parent81bd23357f2cf288c6b894ff5f886d9e8b9d4498 (diff)
downloadclod-700802b31be09b915487fe5cb147d8a300d5bb9e.tar.gz
Untabify
-rw-r--r--lib/clod.lua184
1 files changed, 92 insertions, 92 deletions
diff --git a/lib/clod.lua b/lib/clod.lua
index 8f9ec7f..d9b4fde 100644
--- a/lib/clod.lua
+++ b/lib/clod.lua
@@ -47,7 +47,7 @@ function settings_mt:__index(subkey)
end
for k in pairs(confmeta.settings) do
if k:sub(1,#key) == key then
- return gen_settings(self, key)
+ return gen_settings(self, key)
end
end
end
@@ -116,23 +116,23 @@ function settings_mt:__newindex(subkey, value)
if value == nil then
-- removing an entry...
if confmeta.settings[key] then
- -- Need to remove *this* entry
- local entry = confmeta.settings[key]
- local prev = entry.prev
- local next = entry.next
- delete_entry(entry)
- if prev and next then
- -- Also delete 'next' if prev is also blank
- if not prev.key and not next.key then
- delete_entry(next)
- end
- elseif prev and not next then
- -- Also delete prev, if it's not the zeroth sentinel
- -- and it's blank, since we've removed the last line
- if not prev.key and prev.lineno > 0 then
- delete_entry(prev)
- end
- end
+ -- Need to remove *this* entry
+ local entry = confmeta.settings[key]
+ local prev = entry.prev
+ local next = entry.next
+ delete_entry(entry)
+ if prev and next then
+ -- Also delete 'next' if prev is also blank
+ if not prev.key and not next.key then
+ delete_entry(next)
+ end
+ elseif prev and not next then
+ -- Also delete prev, if it's not the zeroth sentinel
+ -- and it's blank, since we've removed the last line
+ if not prev.key and prev.lineno > 0 then
+ delete_entry(prev)
+ end
+ end
end
elseif confmeta.settings[key] then
-- Replacing extant entry
@@ -150,48 +150,48 @@ function settings_mt:__newindex(subkey, value)
local longest_prefix_found_at = nil
local entry = confmeta.entries
while entry do
- if entry.key then
- local maxpos = 0
- for i = (#key < #entry.key and #key or #entry.key), 1, -1 do
- if key:sub(1,i) == entry.key:sub(1,i) then
- if key:sub(1,i):find("%.") then
- maxpos = i
- break
- end
- end
- end
- if maxpos > longest_prefix then
- longest_prefix = maxpos
- longest_prefix_found_at = entry
- end
- end
- entry = entry.next
+ if entry.key then
+ local maxpos = 0
+ for i = (#key < #entry.key and #key or #entry.key), 1, -1 do
+ if key:sub(1,i) == entry.key:sub(1,i) then
+ if key:sub(1,i):find("%.") then
+ maxpos = i
+ break
+ end
+ end
+ end
+ if maxpos > longest_prefix then
+ longest_prefix = maxpos
+ longest_prefix_found_at = entry
+ end
+ end
+ entry = entry.next
end
local insert_blank = false
if longest_prefix == 0 then
- local last = confmeta.entries
- while last.next do
- last = last.next
- end
- longest_prefix_found_at = last
- if last.key then
- insert_blank = true
- end
+ local last = confmeta.entries
+ while last.next do
+ last = last.next
+ end
+ longest_prefix_found_at = last
+ if last.key then
+ insert_blank = true
+ end
else
- -- Starting at longest_prefix_found_at, iterate
- -- until it no longer matches the prefix
- local entry = longest_prefix_found_at
- while entry.next and (entry.next.key and
- (entry.next.key:sub(1, longest_prefix) ==
- longest_prefix_found_at.key:sub(1, longest_prefix))) do
- entry = entry.next
- end
- longest_prefix_found_at = entry
+ -- Starting at longest_prefix_found_at, iterate
+ -- until it no longer matches the prefix
+ local entry = longest_prefix_found_at
+ while entry.next and (entry.next.key and
+ (entry.next.key:sub(1, longest_prefix) ==
+ longest_prefix_found_at.key:sub(1, longest_prefix))) do
+ entry = entry.next
+ end
+ longest_prefix_found_at = entry
end
local before = longest_prefix_found_at
if insert_blank then
- insert_after(before, {})
- before = before.next
+ insert_after(before, {})
+ before = before.next
end
insert_after(before, { key = key, value = value })
confmeta.settings[key] = before.next
@@ -207,26 +207,26 @@ function methods:serialise()
local function serialise_entry(entry)
local key, value, line = entry.key, entry.value, ""
if key then
- local wild_prefix = key:match("^(.-)%.i_[0-9]+$")
- if wild_prefix then
- key = wild_prefix .. '["*"]'
- end
- local vtype = type(value)
- assert((vtype == "string" or vtype == "number" or vtype == "boolean"),
- "Unexpected " .. vtype .. " in key: " .. key)
- if vtype == "string" then
- line = ("%s %q"):format(key, value)
- elseif vtype == "number" then
- line = ("%s = %d"):format(key, value)
- elseif vtype == "boolean" then
- line = ("%s = %s"):format(key, value and "true" or "false")
- end
+ local wild_prefix = key:match("^(.-)%.i_[0-9]+$")
+ if wild_prefix then
+ key = wild_prefix .. '["*"]'
+ end
+ local vtype = type(value)
+ assert((vtype == "string" or vtype == "number" or vtype == "boolean"),
+ "Unexpected " .. vtype .. " in key: " .. key)
+ if vtype == "string" then
+ line = ("%s %q"):format(key, value)
+ elseif vtype == "number" then
+ line = ("%s = %d"):format(key, value)
+ elseif vtype == "boolean" then
+ line = ("%s = %s"):format(key, value and "true" or "false")
+ end
end
retstr[#retstr+1] = line
end
while entries do
if entries.lineno ~= 0 then
- serialise_entry(entries)
+ serialise_entry(entries)
end
entries = entries.next
end
@@ -241,12 +241,12 @@ function methods:each(prefix)
local function iterator(confmeta, prev_key)
local next_key, next_value = next(confmeta.settings, prev_key)
if prefix then
- while next_key and not next_key:match(prefix) do
- next_key, next_value = next(confmeta.settings, next_key)
- end
+ while next_key and not next_key:match(prefix) do
+ next_key, next_value = next(confmeta.settings, next_key)
+ end
end
if next_key and next_value then
- return next_key, next_value.value
+ return next_key, next_value.value
end
end
return iterator, metadata[self], nil
@@ -308,8 +308,8 @@ local function parse_config(conf, confname, migrate_lists)
function parse_mt:__index(key)
local prefix = keys[self]
if not prefix then
- -- This is a global indexing, so return a fresh entry
- return gen_hook(key)
+ -- This is a global indexing, so return a fresh entry
+ return gen_hook(key)
end
-- A 'local' indexing, so combine with the key
return gen_hook(("%s.%s"):format(prefix, key))
@@ -317,41 +317,41 @@ local function parse_config(conf, confname, migrate_lists)
function parse_mt:__newindex(key, value)
-- This is the equivalent of 'foo = "bar"' instead of 'foo "bar"'
if migrate_lists and type(value) == "table" then
- for i = 1, #value do
- self[key .. ".*"](value[i],1)
- end
- return
+ for i = 1, #value do
+ self[key .. ".*"](value[i],1)
+ end
+ return
end
if type(value) == "table" or type(value) == "function" then
- error("Clod does not support " .. type(value) .. "s as values")
+ error("Clod does not support " .. type(value) .. "s as values")
end
return self[key](value, 1)
end
function parse_mt:__call(value, offset)
local key = assert(keys[self])
if migrate_lists and type(value) == "table" then
- for i = 1, #value do
- self["*"](value[i],2)
- end
- return
+ for i = 1, #value do
+ self["*"](value[i],2)
+ end
+ return
end
if type(value) == "table" or type(value) == "function" then
- error("Clod does not support " .. type(value) .. "s as values")
+ error("Clod does not support " .. type(value) .. "s as values")
end
local wild_prefix, last_key_element = key:match("^(.-)([^.]+)$")
if last_key_element == "*" then
- -- Wild insert, so calculate a unique key to use
- key = calculate_wild_key({settings=settings}, wild_prefix)
+ -- Wild insert, so calculate a unique key to use
+ key = calculate_wild_key({settings=settings}, wild_prefix)
end
local curline = getinfo(2 + (offset or 0), "Snlf").currentline
local entry = { key = key, value = value, lineno = curline }
while last_entry.lineno < (curline - 1) do
- local empty = {
- lineno = last_entry.lineno + 1,
- prev = last_entry
- }
- last_entry.next = empty
- last_entry = empty
+ local empty = {
+ lineno = last_entry.lineno + 1,
+ prev = last_entry
+ }
+ last_entry.next = empty
+ last_entry = empty
end
last_entry.next = entry
entry.prev = last_entry