Variable / property namespacing
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 5
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
The discussion around namespacing had some proposals on syntax, but I'm starting to think https://github.com/less/less.js/issues/2767 makes the proposal problematic. https://github.com/less/less.js/issues/1848
Yes, that was part of the namespacing discussion. However, after some of our discussion around unifying mixins and detached ruleset behavior, I'm not sure the syntax really makes sense.
Namespacing
For example, we were talking about:
val: @{#ns var};
val: ${#ns prop};
...with var and prop a variable and property inside that namespace, and the @ and $ applying to the last identifier. But if we make a detached ruleset a kind of (anonymous mixin assigned to a var), then this logic begins to quickly get confusing.
val: @{@dr var}; // which one does @ belong with?
We also talked about the short form #ns@var, which becomes something like @dr1@dr2@var, which conflicts with other syntax.
So, I'm thinking for 3.0, we re-think it to one of the earlier suggestions by @lukeapage which was close to the original Ruby syntax with [] for properties:
val: #ns[@var];
val: #ns[prop];
val: @dr[@var];
val: @dr[prop];
That places the @ symbol closer to the actual variable, and makes the identifier it belongs with less ambiguous.
Interpolation
... Discussion moved to #13, as it's not necessary to do both at the same time, or at all.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the linked discussions in issues 2767 and 1848, then review the namespacing examples and the note moving interpolation discussion to issue 13. Done means agreeing on a viable property and variable namespacing syntax and clarifying its scope for Less 3.0.
Written by the indexing model from the issue text.
Assessment
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100