• Tae Hyung Kim's avatar
    Relax syntax for gen-l10n (#130736) · c6b93b2d
    Tae Hyung Kim authored
    To preserve backward compatibility with the old parser which would
    ignore syntax errors, this PR introduces a way to treat the special
    characters `{` and `}` in the following way:
    1. If we encounter a `{` which searching for a string token and this `{`
    is not followed by a valid placeholder, then we treat the `{` as a
    string and continue lexing for strings.
    2. If we encounter a `}` while not within some expression (i.e.
    placeholders, arguments, plurals, or selects), then we treat the `}` as
    a string and continue lexing for strings.
    
    This makes it so that
    ```
    "helloWorld": "{ } { placeholder }",
    "@@helloWorld": {
      "placeholders": {
        "placeholder" {}
      }
    }
    ```
    treats the `{ }` as a string while `{ placeholder } ` is treated as a
    placeholder.
    
    Fixes https://github.com/flutter/flutter/issues/122404.
    c6b93b2d
Name
Last commit
Last update
.github Loading commit data...
.vscode Loading commit data...
bin Loading commit data...
dev Loading commit data...
examples Loading commit data...
packages Loading commit data...
.ci.yaml Loading commit data...
.cirrus.yml Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CODEOWNERS Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
PATENT_GRANT Loading commit data...
README.md Loading commit data...
TESTOWNERS Loading commit data...
analysis_options.yaml Loading commit data...
dartdoc_options.yaml Loading commit data...
flutter_console.bat Loading commit data...