def around_lines(needle)

      file   = @file
      pos    = file.pos
      result = ""

      # scan min
      file.seek(pos)
      min = seek_contiguous_min(needle) || pos

      # scan max
      file.seek(pos)
      max = seek_contiguous_max(needle) || pos

      # for debug
      # p [
      #     pos: pos,
      #     min: min,
      #     max: max
      #   ].to_s
      # sleep 0.05

      # read
      # - require succeed scan processes
      if max > min
        file.seek(min)
        result = file.read(max - min)
      end

      result
    end
def around_lines(needle)

      file   = @file
      pos    = file.pos
      result = ""

      # scan min
      file.seek(pos)
      min = seek_contiguous_min(needle) || pos

      # scan max
      file.seek(pos)
      max = seek_contiguous_max(needle) || pos

      # for debug
      # p [
      #     pos: pos,
      #     min: min,
      #     max: max
      #   ].to_s
      # sleep 0.05

      # read
      # - require succeed scan processes
      if max > min
        file.seek(min)
        result = file.read(max - min)
      end

      result
    end
get lines around for passed file#pos

 args
   pos    ... starting point for file#pos
              require to be within contiguous range
   needle ... RegExp object for contiguous check

 returner
   String object as lines