summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@gmail.com>2017-07-08 14:33:41 +0100
committerRichard Maw <richard.maw@gmail.com>2017-07-08 14:42:25 +0100
commitfca3bcf7ec9f368edea838a8a3c57d1e60755d55 (patch)
treecdddc2f6e3da9c270d3e4411e4f91a93779989ab /lib
parenta04ec5eb5319b7b895ff286fb082acfaaefe0534 (diff)
downloadgitano-fca3bcf7ec9f368edea838a8a3c57d1e60755d55.tar.gz
Reduce verbosity of pattern definitionsrichardmaw/unified-patterns
Having both local definitions for each exported pattern and the export in the package was not helpful, and in fact caused accidents while developing where the package was filled with undefined variables.
Diffstat (limited to 'lib')
-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?",
}