From 820a8531130f7fa36ead1fb5c1b8f371df160230 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= <skunk@xover.mud.at>
Date: Sat, 2 May 2020 13:02:35 +0200
Subject: [PATCH] Lanes: accept 'lanes:forward' and 'lanes:backward' without
 'lanes' tag

---
 lanes.json | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lanes.json b/lanes.json
index 16a4fd0..d19e05c 100644
--- a/lanes.json
+++ b/lanes.json
@@ -7,6 +7,8 @@
         "17": [
             "(",
             "way[lanes];",
+            "way['lanes:forward'];",
+            "way['lanes:backward'];",
             "way['parking:lane:left'];",
             "way['parking:lane:right'];",
             "way['parking:lane:both'];",
@@ -26,7 +28,7 @@
             "{% set cycletrack_right = attribute(tags, 'cycleway:right') == 'track' ? 2 : ('track' in tags.cycleway|split(';') ? 2 : 0) %}",
             "{% set sidewalk_left = tags.sidewalk in ['both', 'left'] ? 2 : 0 %}",
             "{% set sidewalk_right = tags.sidewalk in ['both', 'right'] ? 2 : 0 %}",
-            "{% set lanes = tags.lanes|default(oneway ? 1 : 2) %}",
+            "{% set lanes = tags.lanes|default(attribute(tags, 'lanes:forward')|default(0) + attribute(tags, 'lanes:backward')|default(0))|default(tags.oneway ? 1 : 2) %}",
             "{% set lanes_width = lanes * 3 %}",
             "{% set forward_lanes = attribute(tags, 'lanes:forward')|default(oneway ? lanes : lanes // 2) %}",
             "{% set backward_lanes = attribute(tags, 'lanes:backward')|default(oneway ? 0 : lanes // 2) %}"