summaryrefslogtreecommitdiff
path: root/lib/gitano/patterns.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitano/patterns.lua')
-rw-r--r--lib/gitano/patterns.lua95
1 files changed, 27 insertions, 68 deletions
diff --git a/lib/gitano/patterns.lua b/lib/gitano/patterns.lua
index ede4541..e8527a0 100644
--- a/lib/gitano/patterns.lua
+++ b/lib/gitano/patterns.lua
@@ -1,6 +1,6 @@
-- gitano.patterns
--
--- Internal centralised pattern definitions. Not stable ABI.
+-- Centralised pattern definitions. Not stable ABI.
--
-- Copyright 2017 Richard Maw <richard.maw@gmail.com>
-- All rights reserved.
@@ -31,85 +31,44 @@
--
local _NICE_NAME = "[a-z][a-z0-9_.-]+"
-local _STARTS_DOT = "^%."
-local _ENDS_DOTSTAR = "%.%*$"
-local _HEX40 = string.rep("[0-9A-Fa-f]", 40)
-local TEXT_LINE = "([^\n]*)\n"
-
-local DOTFILE = _STARTS_DOT
-
-local VALID_USERNAME = "^" .. _NICE_NAME .. "$"
-local VALID_SSHKEYNAME = "^" .. _NICE_NAME .. "$"
local USER_INFO_PREFIX = "^(users/.-)(".. _NICE_NAME .. ")/"
-local USER_CONF_MATCH = USER_INFO_PREFIX .. "user%.conf$"
-local USER_KEY_MATCH = USER_INFO_PREFIX .. "(" .. _NICE_NAME .. ")%.key$"
-
-local SSH_KEY_CONTENTS = "^([^ ]+) ([^ ]+) ([^ ].*)$"
-
-local VALID_GROUPNAME = "^" .. _NICE_NAME .. "$"
local GROUP_INFO_PREFIX = "^(groups/.-)(".. _NICE_NAME .. ")"
-local GROUP_CONF_MATCH = GROUP_INFO_PREFIX .. "%.conf$"
-
-local VALID_KEY_FINGERPRINT = "^" .. _HEX40 .. "$"
-local VALID_KEYRING_NAME = "^" .. _NICE_NAME .. "$"
local KEYRING_INFO_PREFIX = "^(keyrings/.-)(".. _NICE_NAME .. ")"
-local KEYRING_MATCH = KEYRING_INFO_PREFIX .. "%.gpg$"
-
-local GPG_OUTPUT_FINGERPRINT_MATCH = "fpr:::::::::([0-9A-F]+):"
-
-local HTTP_RESPONSE = "^HTTP/1.[01] (...) ?([^\r\n]+)\r?\n(.-)\r?\n\r?\n(.*)$"
-local HTTP_HEADER = "([^:\r\n]+): *([^\r\n]+)"
-local CONF_ENDS_WILDCARD = _ENDS_DOTSTAR
-local CONF_WILDCARD = "^(.+)" .. CONF_ENDS_WILDCARD
-local CONF_ARRAY_INDEX = "^(.+)%.i_[0-9]+$"
-local CONF_SET_TYPE_PREFIX = "^([sbi]):(.*)$"
+local CONF_ENDS_WILDCARD = "%.%*$"
local GIT_REPO_SUFFIX = "%.git$"
-local GIT_REPO_NAME_MATCH = "^(.+)" .. GIT_REPO_SUFFIX
-
-local LACE_GLOBAL_DEFINITION = "^global:(.+)$"
-
-local PLUGIN_NAME = "^([^_]+)%.lua$"
-
-local REF_IS_NORMALISED = "^refs/"
-
-local PARSE_TIME_AND_TZOFFSET = "^([0-9]+) ([+-][0-9]+)$"
-
-local SUPPLE_MODULE_LOAD_MATCH = "^([^%.]+)%.(.+)$"
-
-local GITHOOK_PARSE_CHANGESET = "([^ ]+) ([^ ]+) ([^\n]+)\n?"
return {
- TEXT_LINE = TEXT_LINE,
- DOTFILE = DOTFILE,
- VALID_USERNAME = VALID_USERNAME,
- VALID_SSHKEYNAME = VALID_SSHKEYNAME,
+ TEXT_LINE = "([^\n]*)\n",
+ DOTFILE = "^%.",
+ VALID_USERNAME = "^" .. _NICE_NAME .. "$",
+ VALID_SSHKEYNAME = "^" .. _NICE_NAME .. "$",
USER_INFO_PREFIX = USER_INFO_PREFIX,
- USER_CONF_MATCH = USER_CONF_MATCH,
- USER_KEY_MATCH = USER_KEY_MATCH,
- SSH_KEY_CONTENTS = SSH_KEY_CONTENTS,
- VALID_GROUPNAME = VALID_GROUPNAME,
+ USER_CONF_MATCH = USER_INFO_PREFIX .. "user%.conf$",
+ USER_KEY_MATCH = USER_INFO_PREFIX .. "(" .. _NICE_NAME .. ")%.key$",
+ SSH_KEY_CONTENTS = "^([^ ]+) ([^ ]+) ([^ ].*)$",
+ VALID_GROUPNAME = "^" .. _NICE_NAME .. "$",
GROUP_INFO_PREFIX = GROUP_INFO_PREFIX,
- GROUP_CONF_MATCH = GROUP_CONF_MATCH,
- VALID_KEY_FINGERPRINT = VALID_KEY_FINGERPRINT,
- VALID_KEYRING_NAME = VALID_KEYRING_NAME,
+ GROUP_CONF_MATCH = GROUP_INFO_PREFIX .. "%.conf$",
+ VALID_KEY_FINGERPRINT = "^" .. string.rep("[0-9A-Fa-f]", 40) .. "$",
+ VALID_KEYRING_NAME = "^" .. _NICE_NAME .. "$",
KEYRING_INFO_PREFIX = KEYRING_INFO_PREFIX,
- KEYRING_MATCH = KEYRING_MATCH,
- GPG_OUTPUT_FINGERPRINT_MATCH = GPG_OUTPUT_FINGERPRINT_MATCH,
- HTTP_RESPONSE = HTTP_RESPONSE,
- HTTP_HEADER = HTTP_HEADER,
+ KEYRING_MATCH = KEYRING_INFO_PREFIX .. "%.gpg$",
+ GPG_OUTPUT_FINGERPRINT_MATCH = "fpr:::::::::([0-9A-F]+):",
+ HTTP_RESPONSE = "^HTTP/1.[01] (...) ?([^\r\n]+)\r?\n(.-)\r?\n\r?\n(.*)$",
+ HTTP_HEADER = "([^:\r\n]+): *([^\r\n]+)",
CONF_ENDS_WILDCARD = CONF_ENDS_WILDCARD,
- CONF_WILDCARD = CONF_WILDCARD,
- CONF_ARRAY_INDEX = CONF_ARRAY_INDEX,
- CONF_SET_TYPE_PREFIX = CONF_SET_TYPE_PREFIX,
+ CONF_WILDCARD = "^(.+)" .. CONF_ENDS_WILDCARD,
+ CONF_ARRAY_INDEX = "^(.+)%.i_[0-9]+$",
+ CONF_SET_TYPE_PREFIX = "^([sbi]):(.*)$",
GIT_REPO_SUFFIX = GIT_REPO_SUFFIX,
- GIT_REPO_NAME_MATCH = GIT_REPO_NAME_MATCH,
- LACE_GLOBAL_DEFINITION = LACE_GLOBAL_DEFINITION,
- PLUGIN_NAME = PLUGIN_NAME,
- REF_IS_NORMALISED = REF_IS_NORMALISED,
- PARSE_TIME_AND_TZOFFSET = PARSE_TIME_AND_TZOFFSET,
- SUPPLE_MODULE_LOAD_MATCH = SUPPLE_MODULE_LOAD_MATCH,
- GITHOOK_PARSE_CHANGESET = GITHOOK_PARSE_CHANGESET,
+ GIT_REPO_NAME_MATCH = "^(.+)" .. GIT_REPO_SUFFIX,
+ LACE_GLOBAL_DEFINITION = "^global:(.+)$",
+ PLUGIN_NAME = "^([^_]+)%.lua$",
+ REF_IS_NORMALISED = "^refs/",
+ PARSE_TIME_AND_TZOFFSET = "^([0-9]+) ([+-][0-9]+)$",
+ SUPPLE_MODULE_LOAD_MATCH = "^([^%.]+)%.(.+)$",
+ GITHOOK_PARSE_CHANGESET = "([^ ]+) ([^ ]+) ([^\n]+)\n?",
}