Max Gurelaandfisker 2c689f3e30 fix(printer-glimmer): preserve path literal segments (#15605)
* fix(glimmer): preserve path literal segments

This change fixes scenarios where an input handlebars file containing literal segments would be
reformatted to unwrap the literal segments, causing syntax errors in the resulting output. An
example of this is below:

```
<!-- wrong: input.funky<api!response -->
{{input.[funky<api!response]}}
<!-- wrong: input.this one has spaces -->
{{input.[this one has spaces]}}
```

This also handles a scenario where the input contained deprecated '/' delimited paths, ensuring
that those paths are not wrapped with brackets. This exists to prevent breaking an existing test
`sub-expressions.hbs`. Handling it this way does lead to some minor ambiguity since glimmer does
not support these paths, but the ambiguity is probably better than breaking them entirely.

fixes #14207, preventing removal of brackets where necessary

---------

Co-authored-by: fisker <lionkay@gmail.com>
2023-12-13 16:18:24 +08:00
2023-12-10 17:33:43 +09:00
2023-09-04 19:54:16 +08:00
2023-12-10 17:33:43 +09:00
2023-12-05 15:39:24 +08:00
2022-10-16 14:56:02 +09:00
2023-12-10 17:37:52 +09:00
2022-10-17 08:25:32 +08:00
2023-12-05 14:39:11 +08:00
2023-12-10 17:37:52 +09:00
2018-12-08 18:28:29 +08:00
2022-08-06 11:25:34 +08:00
2023-07-16 13:54:58 +09:00
2023-09-04 19:54:16 +08:00
2023-11-20 20:55:44 +08:00
2023-12-10 17:33:43 +09:00
2019-01-03 07:21:32 -05:00
2022-12-01 15:22:35 +08:00
2023-11-04 23:59:03 +08:00

Prettier Banner

Opinionated Code Formatter

JavaScript · TypeScript · Flow · JSX · JSON
CSS · SCSS · Less
HTML · Vue · Angular
GraphQL · Markdown · YAML
Your favorite language?

Github Actions Build Status Github Actions Build Status Github Actions Build Status Codecov Coverage Status Blazing Fast
npm version weekly downloads from npm code style: prettier Follow Prettier on Twitter

Intro

Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.

Input

foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());

Output

foo(
  reallyLongArg(),
  omgSoManyParameters(),
  IShouldRefactorThis(),
  isThereSeriouslyAnotherOne(),
);

Prettier can be run in your editor on-save, in a pre-commit hook, or in CI environments to ensure your codebase has a consistent style without devs ever having to post a nit-picky comment on a code review ever again!


Documentation

Install · Options · CLI · API

Playground


Badge

Show the world you're using Prettier → code style: prettier

[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)

Contributing

See CONTRIBUTING.md.

Languages
JavaScript 98.6%
CSS 0.9%
Vue 0.2%
HTML 0.2%
MDX 0.1%