Skip to content

Commit

Permalink
Address feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
st0012 committed Dec 13, 2023
1 parent 218f22b commit e02f06e
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
10 changes: 5 additions & 5 deletions lib/irb.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1106,12 +1106,12 @@ def each_top_level_statement
end

COMMAND_FLAG_REGEXP = /(?<cmd_flag>-[a-zA-Z]+( +\S+)*)/
COMMAND_ARG_REGEXP = /(?<cmd_arg>[^-]\S*)/
COMMAND_ARG_REGEXP = /(?<cmd_arg>[^- ]\S*)/
COMMAND_NAME_REGEXP = /(?<cmd_name>\S+)/
SIMPLE_COMMAND_REGEXP = /^#{COMMAND_NAME_REGEXP}$/
COMMAND_WITH_ARGS_REGEXP = /^#{COMMAND_NAME_REGEXP} +#{COMMAND_ARG_REGEXP}$/
COMMAND_WITH_FLAGS_REGEXP = /^#{COMMAND_NAME_REGEXP} +#{COMMAND_FLAG_REGEXP}$/
COMMAND_WITH_ARGS_AND_FLAGS_REGEXP = /^#{COMMAND_NAME_REGEXP} +#{COMMAND_ARG_REGEXP} +#{COMMAND_FLAG_REGEXP}$/
SIMPLE_COMMAND_REGEXP = /^#{COMMAND_NAME_REGEXP}\z/
COMMAND_WITH_ARGS_REGEXP = /^#{COMMAND_NAME_REGEXP} +#{COMMAND_ARG_REGEXP}\z/
COMMAND_WITH_FLAGS_REGEXP = /^#{COMMAND_NAME_REGEXP} +#{COMMAND_FLAG_REGEXP}\z/
COMMAND_WITH_ARGS_AND_FLAGS_REGEXP = /^#{COMMAND_NAME_REGEXP} +#{COMMAND_ARG_REGEXP} +#{COMMAND_FLAG_REGEXP}\z/

COMMAND_REGEXP = Regexp.union(
SIMPLE_COMMAND_REGEXP,
Expand Down
3 changes: 2 additions & 1 deletion test/irb/test_irb.rb
Original file line number Diff line number Diff line change
Expand Up @@ -820,7 +820,8 @@ def test_irb_distinguihes_commands_and_non_commands_correctly
"info if foo",
"info ? foo : bar",
"info ; foo",
"info ,other = expr"
"info ,other = expr",
"info -" # when an input is not a command nor Ruby code, we want to make it Ruby so it raises syntax error
].each do |input|
statement = irb.build_statement(input)
assert_equal(IRB::Statement::Expression, statement.class, "Expected #{input} to not be a command")
Expand Down

0 comments on commit e02f06e

Please sign in to comment.