variable values cannot be selectors without escaping #1328

Open
maniqui opened this Issue May 16, 2013 · 3 comments

Projects

None yet

2 participants

@maniqui
maniqui commented May 16, 2013

Example code (taken from less2css.org):

// Selector interpolation only works in 1.3.1+. Try it!
@theGoodThings: ~".food, .beer, .sleep, .javascript";

@{theGoodThings} {
  font-weight: bolder;
}

The value assigned to variable will also work if written this way (not escaped):

@theGoodThings: .food, .beer, .sleep, .javascript;

But will fail with a ParseError: Unrecognised input if any term has an hyphen (-) on it, like this:

@theGoodThings: .tasty-food;
@lukeapage
Member

because it parses it as a css value. we do not parse for css selectors as variable values because we do not know what the variable is to be used as.

having said that maybe we should support a selector() function and everything inside is parsed as a selector?

@maniqui
maniqui commented May 21, 2013

Thanks for the answer, lukeapage, though I must admit I might not have understood it.
Let me try to rephrase the question:

Why this one works:

@somevar: .food;

but this one throws an ParseError: Unrecognised input:

@somevar: .tasty-food;

?

Both strings seems almost equal to me, only difference is that little hyphen on the second one, and that's enough to throw the error.

@lukeapage
Member

because of a fluke. - might mean maths or it might be part of a value so the value needs to be parsed properly. parsing properly we realise it isn't a css value.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment