Class: Roebe::Shell::ColourizedHelpLine

Inherits:
Base show all
Defined in:
lib/roebe/shell/help/colourized_help_line.rb

Overview

Roebe::Shell::ColourizedHelpLine

Constant Summary

Constants inherited from Base

Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#actions, #append_this_onto_that_file, #append_what_into, #be_silent, #be_verbose?, #beautiful_url, #burlywood, #call_next, #chdir, #cheerful_guy, #cliner, #complex_esystem, #convert_global_env, #copy_directory, #copy_file, #cornflowerblue, #create_directory, #crimson, #current_month?, #current_time?, #current_year?, #darkcyan, #darkgreen, #darkkhaki, #darkslateblue, #deeppink, #delete_symlink, #do_not_use_the_base_colours, #do_use_the_base_colours, #e, #ecomment, #editor_to_use?, #efancy, #eimp, #emphasis, #ensure_main_encoding, #ensure_utf_encoding, #eparse, #erev, #esteelblue, #etomato, #ewarn, #exit_program, #firebrick, #get_current_day, #get_current_month, #get_files_and_directories, #get_files_from, #get_german_name_for_this_weekday, #gold, #green, #grey, #hh_mm_ss, #hh_mm_ss_day_month_year, #home_dir?, #home_directory_of_user_x?, #infer_the_namespace, #internal_hash?, #is_a_directory?, #is_a_file?, #is_a_jpg_file?, #is_an_image_file?, #is_archive?, #is_audio_file?, #is_in_studium_dir?, #is_multimedia_file?, #is_on_roebe?, #is_on_windows?, #is_studium_available?, #is_symlink?, #is_this_a_ruby_file?, #is_video_file?, #iso_encoding?, #le, #left_colour, #lightblue, #lightgreen, #lightseagreen, #lightsteelblue, #lime, #limegreen, #localhost_to_data, #log_directory?, #main_encoding?, #mediumorchid, #mediumpurple, #mediumseagreen, #mediumslateblue, #mediumspringgreen, #mediumturquoise, #mkdir_p, #mv, #n_days_in_this_month, #n_pages_in_this_pdf_file?, #namespace?, #no_file_exists_at, #ogrey, #olive, #olivedrab, #open_in_browser, #opne, #opnesystem, #opnn, #orange, #orchid, #orev, #palegoldenrod, #palevioletred, #pink, #powderblue, #programs_dir?, #project_base_dir?, #random_html_colour, #rds, #read_file_in_iso_encoding, #read_file_via_the_default_encoding, #read_lines_via_iso_encoding, #readlines_with_main_encoding, #red, #register_sigint, #remove, #remove_directory, #remove_file, #rename_kde_konsole_tab, #replace_localhost_with_data, #report_pwd, #require_rescue, #reset_the_internal_hash, #return_all_directories_from_this_directory, #return_all_files_from_this_directory, #return_current_directory, #return_dd_mm_yyyy, #return_file_or_directory_of, #return_files_from_pwd, #return_last_part_of_the_current_directory, #return_utc, #rev, #right_arrow?, #right_colour, #roebe_log_directory?, #rosybrown, #royalblue, #ruby_base_directory?, #run, #run_in_background, #run_rcfiles_then_run_ata_via_qdbus, #sandybrown, #sdir, #seagreen, #set_be_verbose, #set_xorg_buffer, #sfancy, #sfile, #show_help, #silent_redirection?, #simp, #simple_esystem, #skyblue, #slateblue, #slategray, #springgreen, #steelblue, #string_italic, #swarn, #symlink, #teal, #temp_dir?, #to_camelcase, #to_counted_hash, #tomato, #touch, #try_to_require_the_beautiful_url_gem, #try_to_require_the_html_template, #try_to_require_the_open_gem, #try_to_require_the_program_information_gem, #try_to_require_the_xorg_buffer, #verbose_truth, #weekday?, #word_wrap, #write_what_into, #yellow

Methods included from Base::CommandlineArguments

#append_onto_the_commandline_arguments, #clear_commandline_arguments, #commandline_arguments?, #commandline_arguments_as_string?, #commandline_arguments_without_leading_hyphens?, #first_argument?, #first_argument_without_leading_hyphens?, #has_an_argument_been_passed?, #remove_hyphened_arguments_from_the_commandline_arguments, #return_commandline_arguments_with_leading_hyphens, #second_argument?, #set_commandline_arguments

Constructor Details

#initialize(i = nil, options = {}) ⇒ ColourizedHelpLine

#

initialize

#


27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 27

def initialize(
    i       = nil,
    options = {}
  )
  reset
  if options.is_a? Hash
    # ===================================================================== #
    # === :use_colours
    # ===================================================================== #
    if options.has_key? :use_colours
      @use_colours = options.delete :use_colours
    end
  end
  set_input(i)
end

Class Method Details

.[](i = ARGV) ⇒ Object

#

Roebe::Shell::ColourizedHelpLine[]

#


175
176
177
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 175

def self.[](i = ARGV)
  new(i)
end

Instance Method Details

#bold_yellow(i) ⇒ Object

#

bold_yellow

#


99
100
101
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 99

def bold_yellow(i)
  Colours::BOLD_YELLOW+i+rev
end

#brownObject

#

brown

#


113
114
115
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 113

def brown
  Colours::BROWN
end

#cyanObject

#

cyan

#


106
107
108
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 106

def cyan
  Colours::CYAN
end

#disable_coloursObject

#

disable_colours

#


61
62
63
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 61

def disable_colours
  @use_colours = false
end

#enable_coloursObject

#

enable_colours

#


68
69
70
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 68

def enable_colours
  @use_colours = true
end

#input?Boolean Also known as: result?, result, input

#

input?

#

Returns:

  • (Boolean)


166
167
168
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 166

def input?
  @input
end

#resetObject

#

reset (reset tag)

#


46
47
48
49
50
51
52
53
54
55
56
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 46

def reset
  # ======================================================================= #
  # === @use_colours
  # ======================================================================= #
  @use_colours = true
  # ======================================================================= #
  # === @default_colour
  # ======================================================================= #
  @default_colour = ''
  use_default_colour if use_colours?
end

#sanitize_inputObject

#

sanitize_input

#


120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 120

def sanitize_input
  if use_colours?
    # ===================================================================== #
    # === Handle '[' if included
    # ===================================================================== #
    if @input.include? '[' # Assume directory or file.
      @input.gsub!(/(\[.+\])/,
        brown+'\\1'+@default_colour)
    end
    # ===================================================================== #
    # === Handle < if included
    # ===================================================================== #
    if @input.include? '<'
      @input.gsub!(/\<(.+)\>/) {|entry|
        match = $1.to_s.dup
        entry = Colours.sfancy('<'+match+'>')+@default_colour
        entry
      }
    end
    # ===================================================================== #
    # === Handle / if included
    # ===================================================================== #
    if @input.include? '/' # Assume directory or file.
      @input.gsub!(/(\/\w+)/,
        sdir('\\1')+@default_colour) # sdir('/etc/hosts')
    end
    # ===================================================================== #
    # === Handle " if included
    # ===================================================================== #
    if @input.include? '"' # Assume that the user wants to colourize "foo" words here.
      @input.gsub!(/"(.+)"/,
        bold_yellow('"'+'\\1'+'"')+@default_colour)
    end
    # ===================================================================== #
    # === Handle | if included
    # ===================================================================== #
    if @input.include?('|') and @input.count('|') > 1 # Parse the | tokens, if we have at least two of them.
      @input.gsub!(/(\|.+\|)/,
        cyan+'\\1'+@default_colour)
    end
  end
end

#set_input(i = '') ⇒ Object

#

set_input

#


82
83
84
85
86
87
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 82

def set_input(i = '')
  i = i.first if i.is_a? Array
  i = i.to_s.dup
  @input = i
  sanitize_input
end

#use_colours?Boolean Also known as: use_colours

#

use_colours?

#

Returns:

  • (Boolean)


92
93
94
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 92

def use_colours?
  @use_colours
end

#use_default_colourObject

#

use_default_colour

#


75
76
77
# File 'lib/roebe/shell/help/colourized_help_line.rb', line 75

def use_default_colour
  @default_colour = Colours::WHITE
end