Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support one-line pattern matching syntax #9873

Merged
merged 1 commit into from Jun 13, 2021

Commits on Jun 12, 2021

  1. Support one-line pattern matching syntax

    This PR supports one-line pattern matching syntax for `Layout/SpaceAroundKeyword`
    and `Layout/SpaceAroundOperators`.
    
    `match-pattern` node changes differently in Ruby 2.7 and Ruby 3.0.
    
    ## Ruby 2.7 (`Parser::Ruby27`)
    
    ```console
    % ruby-parse -e '42 in foo'
    (match-pattern
      (int 42)
      (match-var :foo))
    ```
    
    ## Ruby 3.0 (`Parser::Ruby30`)
    
    ```console
    % ruby-parse -e '42 => foo'
    (match-pattern
      (int 42)
      (match-var :foo))
    ```
    
    And one-line `in` syntax that represents one-line pattern maching changes
    from `match-pattern` node to `match-pattern-p` in Ruby 3.0.
    
    ```console
    % ruby-parse -e '42 in foo'
    (match-pattern-p
    (int 42)
      (match-var :foo))
    ```
    koic committed Jun 12, 2021
    Copy the full SHA
    b278827 View commit details
    Browse the repository at this point in the history