diff options
Diffstat (limited to 'lib/sisu/develop/utils.rb')
-rw-r--r-- | lib/sisu/develop/utils.rb | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/lib/sisu/develop/utils.rb b/lib/sisu/develop/utils.rb deleted file mode 100644 index a43154fd..00000000 --- a/lib/sisu/develop/utils.rb +++ /dev/null @@ -1,232 +0,0 @@ -# encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, debug related - -** Author: Ralph Amissah - <ralph@amissah.com> - <ralph.amissah@gmail.com> - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah, - All Rights Reserved. - -** License: GPL 3 or later: - - SiSU, a framework for document structuring, publishing and search - - Copyright (C) Ralph Amissah - - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation, either version 3 of the License, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - You should have received a copy of the GNU General Public License along with - this program. If not, see <http://www.gnu.org/licenses/>. - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - <http://www.fsf.org/licensing/licenses/gpl.html> - <http://www.gnu.org/licenses/gpl.html> - - <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html> - -** SiSU uses: - * Standard SiSU markup syntax, - * Standard SiSU meta-markup syntax, and the - * Standard SiSU object citation numbering and system - -** Hompages: - <http://www.jus.uio.no/sisu> - <http://www.sisudoc.org> - -** Git - <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary> - <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/utils.rb;hb=HEAD> - -=end -module SiSU_Utils - class CodeMarker - def initialize(line,file,color=:red) - @line,@file,@color=line.to_s,file,color - end - def ansi(color=nil) - @color=color ? color : @color - c={} - c[:on]=case @color - when :red then ANSI_C[:red] - when :green then ANSI_C[:green] - when :yellow then ANSI_C[:yellow] - when :blue then ANSI_C[:blue] - when :fuchsia then ANSI_C[:fuchsia] - when :cyan then ANSI_C[:cyan] - when :inv_red then ANSI_C[:inv_red] - when :inv_green then ANSI_C[:inv_green] - when :inv_yellow then ANSI_C[:inv_yellow] - when :inv_blue then ANSI_C[:inv_blue] - when :inv_fuchsia then ANSI_C[:inv_fuchsia] - when :inv_cyan then ANSI_C[:inv_cyan] - when :b_red then ANSI_C[:b_red] - when :b_green then ANSI_C[:b_green] - when :b_yellow then ANSI_C[:b_yellow] - when :b_blue then ANSI_C[:b_blue] - when :b_fuchsia then ANSI_C[:b_fuchsia] - when :b_cyan then ANSI_C[:b_cyan] - else ANSI_C[:red] - end - c[:off]= ANSI_C[:off] - #ansi_color + @line.to_s + ansi_color_off + ' ' + @file.gsub(/([^\/]+$)/,"#{ansi_color}\\1#{ansi_color_off}") - c - end - def var(v,x) - h={ c: nil, m: '' } - if v.is_a?(Hash) - h[:c] = (defined? v[:c]) ? v[:c] : '' - h[:m] = (defined? v[:m]) ? v[:m] : '' - elsif (v.is_a?(Symbol) \ - and x.is_a?(String)) - if v.is_a?(Symbol) - h[:c]=v - elsif v.is_a?(String) - h[:m]=v - end - if x.is_a?(String) - h[:m]=x - end - elsif (v.is_a?(Symbol) \ - or v.is_a?(String)) - if v.is_a?(Symbol) - h[:c]=v - elsif v.is_a?(String) - h[:m]=v - end - end - h[:c] = (defined? h[:c]) ? h[:c] : '' - h[:m] = (defined? h[:m]) ? h[:m] : '' - h[:c]=ansi(h[:c]) - h[:m]=message(h[:m]) - h - end - def message(msg='') - @message=(msg.nil? || msg.empty?) \ - ? '' - : ' ' + msg - end - def set(v=nil,x=nil) - v=var(v,x) - file,path=File.basename(@file),File.dirname(@file) - v[:c][:on] + @line + v[:c][:off] + ' ' \ - + path + '/' \ - + "#{v[:c][:on]}#{file}#{v[:c][:off]}" \ - + v[:m] - end - def mark(v=nil,x=nil) - puts set(v,x) - end - def tell(v=nil,x=nil) - puts set(v,x) - end - def report(v=nil,x=nil) - puts set(v,x) - end - def ok(v=nil,x=nil) - if (v.is_a?(Symbol) \ - and x.is_a?(String)) - x= '*OK* ' + x - elsif v.is_a?(String) - v='*OK* ' + v - x=nil - else - v,x='*OK*',nil - end - puts set(v,x) - end - def warn(v=nil,x=nil) - if (v.is_a?(Symbol) \ - and x.is_a?(String)) - x="\n " + '*WARN* ' + x - elsif v.is_a?(String) - v="\n " + '*WARN* ' + v - x=nil - else - v,x='*WARN*',nil - end - puts set(v,x) - end - def error(v=nil,x=nil) - if (v.is_a?(Symbol) \ - and x.is_a?(String)) - x="\n " + '*ERROR* ' + x - elsif v.is_a?(String) - v="\n " + '*ERROR* ' + v - x=nil - else - v,x='*ERROR*',nil - end - STDERR.puts set(v,x) - end - end - class Path - def initialize(dir=Dir.pwd) - @dir=dir - end - def base_markup(call_path=nil) - call_path = call_path \ - ? call_path \ - : Dir.pwd - (/(\S+?)(?:\/(?:#{Px[:lng_lst_rgx]}))?$/).match(call_path)[1] - end - def base_markup_stub - m=/.+\/(?:src\/)?(\S+)/im - base_markup[m,1] - end - def image_src - if base_markup =~/sisupod\/doc[\/]?$/ - base_markup.gsub(/\/doc[\/]?$/,'/image') - elsif FileTest.directory?("#{base_markup}/_sisu/image") - "#{base_markup}/_sisu/image" - end - end - def bmd - base_markup - end - end -end -__END__ -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark({ m: %{ - code: #{@@flag[:code]}, <-- close "#{t_o}" -}}) -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark({ m: %{ - code: #{@@flag['code']}, <-- close "#{t_o}" -}, c: :green}) -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark({ m: %{ - code: #{@@flag['code']}, open --> "#{t_o}" -}}) if t_o=~/^```/m -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark(%{ code: #{@@flag['code']}, open --> "#{t_o}" }) \ -if t_o=~/^```/m -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark("open -->") -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).mark("open -->") -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark("open -->",:green) -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:green,"open -->") -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark("open -->") -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:green) -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark("open -->") -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark('open -->',:green) -SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:red).mark -puts SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:red).set -puts SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).set('',:green) -puts SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).set('',:fuchsia) -puts ANSI_C[:red] + __LINE__.to_s + ANSI_C[:off] + ' ' + __FILE__ -puts "#{ANSI_C[:red]} #{__LINE__.to_s} #{ANSI_C[:off]} #{__FILE__}" -puts ANSI_C[:fuchsia] + __LINE__.to_s + ANSI_C[:off] + ' ' + __FILE__.gsub(/([^\/]+$)/,"#{ANSI_C[:fuchsia]}\\1#{ANSI_C[:off]}") -puts ANSI_C[:red] + __LINE__.to_s + ANSI_C[:off] + ' ' + __FILE__.gsub(/([^\/]+$)/,"#{ANSI_C[:red]}\\1#{ANSI_C[:off]}") |