Sha256: 724cea4dc5aaaabb0bb0ada6fa8d05b983e67edfa27f6b365249a2ebca42f1a2

Contents?: true

Size: 749 Bytes

Versions: 5

Compression:

Stored size: 749 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
      cond_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..cond_lineno))
        else
          drop << cond_lineno
        end
      elsif depth_change > 0 || cond_lineno == @lineno
        drop << cond_lineno
      else
        drop << [cond_lineno, text]
      end
      result
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
asciidoctor-reducer-1.0.0 lib/asciidoctor/reducer/conditional_directive_tracker.rb
asciidoctor-reducer-1.0.0-rc.1 lib/asciidoctor/reducer/conditional_directive_tracker.rb
asciidoctor-reducer-1.0.0-beta.1 lib/asciidoctor/reducer/conditional_directive_tracker.rb
asciidoctor-reducer-1.0.0.alpha.10 lib/asciidoctor/reducer/conditional_directive_tracker.rb
asciidoctor-reducer-1.0.0.alpha.9 lib/asciidoctor/reducer/conditional_directive_tracker.rb