lib/bauxite/loggers/xterm.rb in bauxite-0.6.18 vs lib/bauxite/loggers/xterm.rb in bauxite-0.6.19
- old
+ new
@@ -1,102 +1,102 @@
-#--
-# Copyright (c) 2014 Patricio Zavolinsky
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-#++
-
-require_relative 'terminal'
-
-# XTerm logger.
-#
-# This logger outputs colorized lines using xterm (VT100/2) escape
-# sequences.
-#
-# XTerm logger options include:
-# [<tt>nc</tt>, <tt>color</tt>] If set to 'no', prints text without using
-# colors. Note that positional escape sequences
-# will still be used to show progress. To disable
-# escape sequences completely, consider using the
-# Bauxite::Loggers::TerminalLogger logger
-# instead.
-#
-class Bauxite::Loggers::XtermLogger < Bauxite::Loggers::TerminalLogger
-
-protected
- COLORS = { # :nodoc:
- :black => '0;30',
- :dark_blue => '0;34',
- :dark_green => '0;32',
- :dark_cyan => '0;36',
- :dark_red => '0;31',
- :dark_purple => '0;35',
- :dark_brown => '0;33',
- :dark_gray => '1;30',
- :gray => '0;37',
- :blue => '1;34',
- :green => '1;32',
- :cyan => '1;36',
- :red => '1;31',
- :purple => '1;35',
- :yellow => '1;33',
- :white => '1;37'
- }
-
- def _fmt(color, text, size = 0)
- text = super(color, text, size)
- if @options[:nc] or @options[:color] == 'no'
- text
- else
- "\033[#{COLORS[color]}m#{text}\033[0m"
- end
- end
-
- def _save_cursor
- print "\033[s"
- true
- end
-
- def _restore_cursor
- print "\033[u"
- true
- end
-
- #--
- # Adapted from:
- # https://github.com/jimweirich/rake/blob/master/lib/rake/application.rb
- # See Rake::Application#terminal_width
- #++
- def _screen_width
- if RbConfig::CONFIG['host_os'] =~
- /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i
- (_dynamic_width_stty.nonzero? || _dynamic_width_tput)
- else
- super
- end
- rescue Exception => e
- super
- end
-
-private
- def _dynamic_width_stty
- %x{stty size 2>/dev/null}.split[1].to_i
- end
- def _dynamic_width_tput
- %x{tput cols 2>/dev/null}.to_i
- end
+#--
+# Copyright (c) 2014 Patricio Zavolinsky
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+#++
+
+require_relative 'terminal'
+
+# XTerm logger.
+#
+# This logger outputs colorized lines using xterm (VT100/2) escape
+# sequences.
+#
+# XTerm logger options include:
+# [<tt>nc</tt>, <tt>color</tt>] If set to 'no', prints text without using
+# colors. Note that positional escape sequences
+# will still be used to show progress. To disable
+# escape sequences completely, consider using the
+# Bauxite::Loggers::TerminalLogger logger
+# instead.
+#
+class Bauxite::Loggers::XtermLogger < Bauxite::Loggers::TerminalLogger
+
+protected
+ COLORS = { # :nodoc:
+ :black => '0;30',
+ :dark_blue => '0;34',
+ :dark_green => '0;32',
+ :dark_cyan => '0;36',
+ :dark_red => '0;31',
+ :dark_purple => '0;35',
+ :dark_brown => '0;33',
+ :dark_gray => '1;30',
+ :gray => '0;37',
+ :blue => '1;34',
+ :green => '1;32',
+ :cyan => '1;36',
+ :red => '1;31',
+ :purple => '1;35',
+ :yellow => '1;33',
+ :white => '1;37'
+ }
+
+ def _fmt(color, text, size = 0)
+ text = super(color, text, size)
+ if @options[:nc] or @options[:color] == 'no'
+ text
+ else
+ "\033[#{COLORS[color]}m#{text}\033[0m"
+ end
+ end
+
+ def _save_cursor
+ print "\033[s"
+ true
+ end
+
+ def _restore_cursor
+ print "\033[u"
+ true
+ end
+
+ #--
+ # Adapted from:
+ # https://github.com/jimweirich/rake/blob/master/lib/rake/application.rb
+ # See Rake::Application#terminal_width
+ #++
+ def _screen_width
+ if RbConfig::CONFIG['host_os'] =~
+ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i
+ (_dynamic_width_stty.nonzero? || _dynamic_width_tput)
+ else
+ super
+ end
+ rescue Exception => e
+ super
+ end
+
+private
+ def _dynamic_width_stty
+ %x{stty size 2>/dev/null}.split[1].to_i
+ end
+ def _dynamic_width_tput
+ %x{tput cols 2>/dev/null}.to_i
+ end
end
\ No newline at end of file