# File lib/pry/indent.rb, line 96 def indent(input) output = '' open_tokens = OPEN_TOKENS.keys prefix = indent_level input.lines.each do |line| tokens = CodeRay.scan(line, :ruby) tokens = tokens.tokens.each_slice(2) if tokens.respond_to?(:tokens) # Coderay 1.0.0 before, after = indentation_delta(tokens) before.times{ prefix.sub! SPACES, '' } output += prefix + line.strip + "\n" prefix += SPACES * after end @indent_level = prefix return output.gsub(/\s+$/, '') end