Sha256: a4ac0954ded344bd287c0350041a4c76d4c1cc313e6630a5abbd35e9243ff992

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

#! /usr/bin/env ruby
# coding: utf-8

# split a line to lines.

require "pp"
require "optparse"
require "rubygems"
require "tefil"


# option analysis
options = {
  #:period => true,
  :separator => ".",
  :except => "" 
}
op = OptionParser.new
#op.banner = [
#  "Usage: #{File.basename("#{__FILE__}")} [options] [files]",
#].join("\n")
op.on("-o"     , "--overwrite" , "Overwrite."){ options[:overwrite] =    true}
op.on("-t str" , "--separator=str"  , "Target strings. Default value is '.'"){ |v| options[:separator] = v}
op.on("-e str" , "--except=str"  , "Except strings."){ |v| options[:except] = v}
op.on("-s"     , "--space"     , "Add space to separators."){ options[:space] = true}
op.on("-S"     , "--strip"     , "Strip extra space at head and tail of line."){ options[:strip] = true}
op.parse!(ARGV)

options[:overwrite] ||= false

#EXCEPT_WORDS = ["Fig.", "FIG."]

separators = []
separators += options[:separator].split(" ")
separators << ' ' if options[:space]
separators.uniq!

indent_mode = :no
indent_mode = :strip if options[:strip]

#pp separators; exit

is = Tefil::LineSplitter.new(separators: separators,
                             except_words: options[:except].split(" "),
                             indent_mode: indent_mode,
                             options: options)
#pp is; exit
is.filter(ARGV)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tefil-0.1.5 bin/linesplit