[Mapcss] Little syntax easement

Thomas Davie tom.davie at gmail.com
Mon Feb 6 15:41:18 GMT 2012


I'm much less keen on this proposal – it makes parsing the language significantly harder, and makes it significantly less like CSS.

I'm not completely sure yet, but I also suspect that there's ambiguities between specifying a list of specifiers, and eval syntax which would totally rule this out.

Bob
if (*ra4 != 0xffc78948) { return false; }

On 6 Feb 2012, at 14:35, Paul Hartmann wrote:

> On 02/06/2012 10:27 AM, Richard Fairhurst wrote:
>> Hi all,
>> 
>> I'd like to suggest a little 'easement' to make MapCSS syntax less
>> verbose in one particular case.
>> 
>> Right now, if you want to use a tag value in a declaration, you need to
>> fire up the eval parser:
>>    way[highway] { width: eval("tag('lanes')"); }
>> 
>> It'd be more pleasant, and more efficient, to allow this too:
>>    way[highway] { width: tag('lanes'); }
>> 
>> and it's quite CSS-like, because you can of course use a similar syntax
>> in Real CSS:
>>    way[highway] { color: rgb(0,0,0); }
> 
> +1
> 
> I'd go one or two steps further:
> 
>  (1) Get rid of eval:
> 
> width: eval("tag('lanes') * 5");
> 
> would become
> 
> width: tag('lanes') * 5;
> 
> 
>  (2) Interpret any keyword FOO in an expression as prop("FOO") unless
> it matches a build-in keyword. (This adds support for global constants.)
> 
> way {
>  RESIDENTIAL_COLOR: #AAAAAA;
>  LANE_WIDTH: 3;
> }
> way[highway=residential] {
>  color: RESIDENTIAL_COLOR;
>  width: tag("lanes") * LANE_WIDTH;
> }
> way[highway=residential][oneway=yes] {
>  width: width - 2;
> }
> 
> Paul
> 
> _______________________________________________
> Mapcss mailing list
> Mapcss at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/mapcss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/mapcss/attachments/20120206/907d14e0/attachment-0001.html>


More information about the Mapcss mailing list