Sha256: bdc0c10b8b0d98706e914ec20b4f6fce8e60d50c46ff8aaf4cd4cdf461fceb88

Contents?: true

Size: 779 Bytes

Versions: 1

Compression:

Stored size: 779 Bytes

Contents

# frozen_string_literal: true

module Asciidoctor::Reducer
  module ConditionalDirectiveTracker
    def preprocess_conditional_directive keyword, target, delimiter, text
      skip_active = @skipping
      depth = @conditional_stack.size
      directive_lineno = @lineno
      result = super
      return result if @skipping && skip_active
      drop = @include_replacements.current[:drop] ||= []
      if (depth_change = @conditional_stack.size - depth) < 0
        if skip_active
          drop.push(*(drop.pop..directive_lineno))
        else
          drop << directive_lineno
        end
      elsif depth_change > 0 || directive_lineno == @lineno
        drop << directive_lineno
      else
        drop << [directive_lineno, text]
      end
      result
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
asciidoctor-reducer-1.0.1 lib/asciidoctor/reducer/conditional_directive_tracker.rb