aboutsummaryrefslogtreecommitdiffhomepage
path: root/lexlua/vcard.lua
diff options
context:
space:
mode:
authormitchell <unknown>2020-04-25 16:26:31 -0400
committermitchell <unknown>2020-04-25 16:26:31 -0400
commitfad15f79b1230b3076be515d6894c8919562809b (patch)
tree72c848ef02c3331de5ca54eff7adaea3a9a6fb88 /lexlua/vcard.lua
parent1fd02a367dec125c0b49dd9246a0928433866b96 (diff)
downloadscintilla-mirror-fad15f79b1230b3076be515d6894c8919562809b.tar.gz
Reformatted Lua LPeg lexers and added new convenience functions and pattern.
`lexer.range()` replaces `lexer.delimited_range()` and `lexer.nested_pair()`. `lexer.to_eol()` replaces `patt * lexer.nonnewline^0` constructs. `lexer.number` replaces `lexer.float + lexer.integer`. Also added unit tests for lexer functions.
Diffstat (limited to 'lexlua/vcard.lua')
-rw-r--r--lexlua/vcard.lua23
1 files changed, 9 insertions, 14 deletions
diff --git a/lexlua/vcard.lua b/lexlua/vcard.lua
index 52ca4035a..0ea39b284 100644
--- a/lexlua/vcard.lua
+++ b/lexlua/vcard.lua
@@ -44,35 +44,30 @@ local identifier = lexer.alpha^1 * lexer.digit^0 * (P('-') * lexer.alnum^1)^0
-- Extension.
local extension = token(lexer.TYPE, lexer.starts_line(S('xX') * P('-') *
- identifier * #S(':;')))
+ identifier * #S(':;')))
-- Parameter.
local parameter = token(lexer.IDENTIFIER,
- lexer.starts_line(identifier * #S(':='))) +
- token(lexer.STRING, identifier) * #S(':=')
+ lexer.starts_line(identifier * #S(':='))) + token(lexer.STRING, identifier) *
+ #S(':=')
-- Operators.
local operator = token(lexer.OPERATOR, S('.:;='))
-- Group and property.
local group_sequence = token(lexer.CONSTANT, lexer.starts_line(identifier)) *
- token(lexer.OPERATOR, P('.')) *
- (required_property + supported_property +
- lexer.token(lexer.TYPE, S('xX') * P('-') * identifier) *
- #S(':;'))
+ token(lexer.OPERATOR, P('.')) * (required_property + supported_property +
+ lexer.token(lexer.TYPE, S('xX') * P('-') * identifier) * #S(':;'))
-- Begin vCard, end vCard.
local begin_sequence = token(lexer.KEYWORD, P('BEGIN')) *
- token(lexer.OPERATOR, P(':')) *
- token(lexer.COMMENT, P('VCARD'))
+ token(lexer.OPERATOR, P(':')) * token(lexer.COMMENT, P('VCARD'))
local end_sequence = token(lexer.KEYWORD, P('END')) *
- token(lexer.OPERATOR, P(':')) *
- token(lexer.COMMENT, P('VCARD'))
+ token(lexer.OPERATOR, P(':')) * token(lexer.COMMENT, P('VCARD'))
-- vCard version (in v3.0 and v4.0 must appear immediately after BEGIN:VCARD).
local version_sequence = token(lexer.KEYWORD, P('VERSION')) *
- token(lexer.OPERATOR, P(':')) *
- token(lexer.CONSTANT, lexer.digit^1 *
- (P('.') * lexer.digit^1)^-1)
+ token(lexer.OPERATOR, P(':')) *
+ token(lexer.CONSTANT, lexer.digit^1 * (P('.') * lexer.digit^1)^-1)
-- Data.
local data = token(lexer.IDENTIFIER, lexer.any)