Sha256: 3e7813585bb51e7157ee2d1d114d10a22a12b88d928995f013e57444a22db441
Contents?: true
Size: 1.88 KB
Versions: 4
Compression:
Stored size: 1.88 KB
Contents
#!/usr/bin/env ruby # Copyright (c) 2010-2019 Kenshi Muto # # This program is free software # You can distribute or modify this program under the terms of # the GNU LGPL, Lesser General Public License version 2.1. # For details of the GNU LGPL, see the file "COPYING". # # simple validator for Re:VIEW $LOAD_PATH.unshift(File.realpath('../lib', __dir__)) require 'review/logger' block = nil maxcolcount = 0 colcount = 0 ln = 0 @logger = ReVIEW.logger ARGF.each do |line| ln += 1 if line =~ %r{\A//([a-z]+)\{\s*\Z} || line =~ %r{\A//([a-z]+)\[.+?\{\s*\Z} # block new_block = $1 if block @logger.warn "#{ln}: block #{new_block} started, but previous block #{block} didn't close yet." end block = new_block elsif line.start_with?('//}') if block.nil? @logger.warn "#{ln}: block ended, but not opened." end block = nil maxcolcount = 0 colcount = 0 elsif line =~ /\A(\d+\.)\s+/ # number unless %w[list emlist listnum emlistnum cmd image table].include?(block) @logger.warn "#{ln}: found '#{$1}' without the head space. Is it correct?" end elsif line =~ /\A\*\s+/ # itemize unless %w[list emlist listnum emlistnum cmd image table].include?(block) @logger.warn "#{ln}: found '*' without the head space. Is it correct?" end elsif line =~ /\A\s+(\d+\.)\s+/ && line =~ /\A\s+\*\s+/ unless %w[list emlist listnum emlistnum cmd image table].include?(block) @logger.warn "#{ln}: found itemized list or numbered list in #{block}. Is it correct?" end elsif block == 'table' next if line.start_with?('#@') if line !~ /\A-----/ # table colcount = line.split("\t").size if maxcolcount == 0 maxcolcount = colcount end if colcount != maxcolcount @logger.warn "#{ln}: the number of table columns seems mismatch. (#{maxcolcount} != #{colcount})" end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
review-5.3.0 | bin/review-validate |
review-5.2.0 | bin/review-validate |
review-5.1.1 | bin/review-validate |
review-5.1.0 | bin/review-validate |