diff --git a/tasks/converter/less_conversion.rb b/tasks/converter/less_conversion.rb index 61e2146b..f28f4ee7 100644 --- a/tasks/converter/less_conversion.rb +++ b/tasks/converter/less_conversion.rb @@ -184,9 +184,41 @@ class Converter end def replace_division(less) - re = /(? + (?[[:alpha:]\.]+)? + \( + (?: + (?> + (? + [^()/]+ + | + \([^/]+\) + ) + \s+ + / + \s+ + (? + [^()/]+ + | + \([^/]+\) + ) + ) + | + \g + ) + \) + ) + }x return less if less !~ re - "@use \"sass:math\";\n" + less.gsub(re, 'math.div(\1, \2)') + "@use \"sass:math\";\n" + less.gsub(re) do + named_captures = $~.named_captures + callee = named_captures['callee'] + dividend = named_captures['dividend'] + divisor = named_captures['divisor'] + expression = "math.div(#{dividend}, #{divisor})" + callee.nil? ? expression : "#{callee}(#{expression})" + end end def sass_fn_exists(fn)