Merge pull request #35 from Quitlox/34-capital-in-user-error

Fix error if USER username/group contains capital
This commit is contained in:
Camden Cheek 2023-05-02 20:19:31 -06:00 committed by GitHub
commit fd30df68c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 417 additions and 411 deletions

View file

@ -3,10 +3,16 @@ No group
================== ==================
USER foo USER foo
USER FooBar
USER Foo-Bar
--- ---
(source_file (source_file
(user_instruction
user: (unquoted_string))
(user_instruction
user: (unquoted_string))
(user_instruction (user_instruction
user: (unquoted_string))) user: (unquoted_string)))
@ -15,10 +21,18 @@ With group
================== ==================
USER foo:bar USER foo:bar
USER foo:Bar
USER foo:Bar-Bar
--- ---
(source_file (source_file
(user_instruction
user: (unquoted_string)
group: (unquoted_string))
(user_instruction
user: (unquoted_string)
group: (unquoted_string))
(user_instruction (user_instruction
user: (unquoted_string) user: (unquoted_string)
group: (unquoted_string))) group: (unquoted_string)))

View file

@ -120,7 +120,7 @@ module.exports = grammar({
_user_name_or_group: ($) => _user_name_or_group: ($) =>
seq( seq(
choice(/([a-z][-a-z0-9_]*|[0-9]+)/, $.expansion), choice(/([a-zA-Z][-A-Za-z0-9_]*|[0-9]+)/, $.expansion),
repeat($._immediate_user_name_or_group_fragment) repeat($._immediate_user_name_or_group_fragment)
), ),
@ -130,7 +130,7 @@ module.exports = grammar({
_immediate_user_name_or_group_fragment: ($) => _immediate_user_name_or_group_fragment: ($) =>
choice( choice(
token.immediate(/([a-z][-a-z0-9_]*|[0-9]+)/), token.immediate(/([a-zA-Z][-a-zA-Z0-9_]*|[0-9]+)/),
$._immediate_expansion $._immediate_expansion
), ),

View file

@ -558,7 +558,7 @@
"members": [ "members": [
{ {
"type": "PATTERN", "type": "PATTERN",
"value": "([a-z][-a-z0-9_]*|[0-9]+)" "value": "([a-zA-Z][-A-Za-z0-9_]*|[0-9]+)"
}, },
{ {
"type": "SYMBOL", "type": "SYMBOL",
@ -589,7 +589,7 @@
"type": "IMMEDIATE_TOKEN", "type": "IMMEDIATE_TOKEN",
"content": { "content": {
"type": "PATTERN", "type": "PATTERN",
"value": "([a-z][-a-z0-9_]*|[0-9]+)" "value": "([a-zA-Z][-a-zA-Z0-9_]*|[0-9]+)"
} }
}, },
{ {

File diff suppressed because it is too large Load diff