diff options
Diffstat (limited to 'aconf/path/address/special.lua')
-rw-r--r-- | aconf/path/address/special.lua | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/aconf/path/address/special.lua b/aconf/path/address/special.lua new file mode 100644 index 0000000..ab94fce --- /dev/null +++ b/aconf/path/address/special.lua @@ -0,0 +1,35 @@ +--[[ +Copyright (c) 2012-2015 Kaarle Ritvanen +See LICENSE file for license details +--]] + +local M = {} + + +local object = require('aconf.object') +local class = object.class + + +M.SpecialMode = class(require('aconf.path.base').Special) + +M.Value = class(M.SpecialMode) +M.Value.symbol = '&' + +M.Selector = class(M.SpecialMode) + +M.EnumKeys = class(M.Selector) +M.EnumKeys.symbol = '#' + + +M.ValueEquals = class(M.Selector) + +M.ValueEquals.symbol = '@' + +function M.ValueEquals:init(key) self.key = key end + +function M.ValueEquals:tostring() + return object.super(self, M.ValueEquals):tostring()..(self.key or '') +end + + +return M |