- From: Guillaume via GitHub <sysbot+gh@w3.org>
- Date: Tue, 30 Jan 2024 13:47:00 +0000
- To: public-css-archive@w3.org
Fwiw, I think leading and trailing whitespaces can be removed from any list of component values (prelude, declaration value, etc) in *consume a list of component values*, which is a better separation of concerns imo.
<details>
**Consume a list of component values**
1. Discard whitespace from `input`.
2. Process `input`:
- `<EOF-token>` or one of the stop token (if passed): while the last item in `values` is a `<whitespace-token>`, remove that token, return `values`.
- anything else: consume a component value from `input`, and append the result to `values`.
**Consume a declaration**
Steps 4 and 5 are replaced with:
4. Consume a list of component values from `input`, with `<semicolon-token>` as a stop token, and `<}-token>` if `nested` is true.
**Consume a qualified rule**
1. Consume a list of component values from `input`, with `<{-token>` as a stop token, and `<}-token>` and `<semicolor-token>` if `nested` is true. Assign the result to the rule's prelude.
2. Process `input`:
- `<{-token>`: [same as currently written]
- anything else: this is a parse error, return nothing.
**Consume an at-rule**
1. Consume a list of component values from `input`, with `<{-token>` and `<semicolon-token>` as stop tokens, and `<}-token>` if `nested` is true. Assign the result to the rule's prelude.
2. Process `input`:
- `<EOF-token>`, `<semicolon-token>`: [same as currently written]
- `<{-token>`: [same as currently written]
- `<}-token>`:
- if `nested` is true, [same as currently written]
- otherwise: this is a parse error, return nothing
</details>
Basically, it would be invoked with an optional list of stop tokens (without the `nested` argument):
- `,` for a comma-separate list
- `;` and `}` for a declaration value
- `{`, `}`, `;` for the prelude of a nested rule
- `{` for the prelude of a top-level qualified rule
- `{` and `;` for the prelude of a top-level at-rule
--
GitHub Notification of comment by cdoublev
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/9173#issuecomment-1916887949 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 30 January 2024 13:47:03 UTC