reparse_helpers.ex (747B)
1 defmodule EarmarkParser.Helpers.ReparseHelpers do 2 3 @moduledoc false 4 5 alias EarmarkParser.Line 6 7 @doc """ 8 Extract the verbatim text of `%EarmarkParser.Line.t` elements with less alignment so that 9 it can be reparsed (as elements of footnotes or indented code) 10 """ 11 # Add additional spaces for any indentation past level 1 12 def properly_indent(%Line.Indent{level: level, content: content}, target_level) 13 when level == target_level do 14 content 15 end 16 def properly_indent(%Line.Indent{level: level, content: content}, target_level) 17 when level > target_level do 18 String.duplicate(" ", level-target_level) <> content 19 end 20 def properly_indent(line, _) do 21 line.content 22 end 23 end 24 25 # SPDX-License-Identifier: Apache-2.0