Sha256: 7b91d3ba545e24e0c40eb19848d7b4a38b63cf90aae2b2d1201ef4025c84383b

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

#!/usr/bin/env ruby
require "optparse"
$: << "./lib/"
require "murdoc"
require 'pp'

options = {}
source_type = nil
do_not_count_comment_lines = false

option_parser = OptionParser.new do |opts|
  opts.banner = "murdoc-strip-comments [input file]\n\nWhen no input file is provided, murdoc-strip-comments uses standard input stream."

  opts.on("-t", "--type TYPE", "Source type (html, ruby, javascript)") do |st|
    source_type = st
  end

  opts.on("--do-not-count-comment-lines") do |dncl|
    do_not_count_comment_lines = dncl
  end

  opts.on_tail("-h", "--help", "Show this message") do
    puts opts
    exit
  end
end

option_parser.parse!

annotator = Murdoc::Annotator.from_file(ARGV[0] || "/dev/stdin", source_type, do_not_count_comment_lines)
prev_paragraph = nil
annotator.paragraphs.each do |paragraph|
  if prev_paragraph
    print "\n" * [(paragraph.starting_line - prev_paragraph.starting_line - prev_paragraph.source.lines.count), 0].max
  end

  if !(paragraph.source =~ /\A\s*\z/m)
    puts paragraph.source
  end
  prev_paragraph = paragraph
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
murdoc-0.2.1 bin/murdoc-strip-comments
murdoc-0.2.0 bin/murdoc-strip-comments