]> git.cworth.org Git - sup/blobdiff - lib/sup/colormap.rb
Merge branch 'cancel-search' into next
[sup] / lib / sup / colormap.rb
index f60f84b240f9a586a68f400fd129305bcf41f777..9c6869a8744989f91f89e7e26eddedd49edfce98 100644 (file)
@@ -22,14 +22,14 @@ class Colormap
                                                    []) + [nil]
   end
 
-  def add sym, fg, bg, *attrs
-    raise ArgumentError, "color for #{sym} already defined" if
-      @entries.member? sym
+  def add sym, fg, bg, attr=nil, opts={}
+    raise ArgumentError, "color for #{sym} already defined" if @entries.member? sym
     raise ArgumentError, "color '#{fg}' unknown" unless CURSES_COLORS.include? fg
     raise ArgumentError, "color '#{bg}' unknown" unless CURSES_COLORS.include? bg
+    attrs = [attr].flatten.compact
 
     @entries[sym] = [fg, bg, attrs, nil]
-    @entries[highlight_sym(sym)] = highlight_for(fg, bg, attrs) + [nil]
+    @entries[highlight_sym(sym)] = opts[:highlight] ? @entries[opts[:highlight]] : highlight_for(fg, bg, attrs) + [nil]
   end
 
   def highlight_sym sym
@@ -51,6 +51,8 @@ class Colormap
       case bg
       when Curses::COLOR_CYAN
         Curses::COLOR_YELLOW
+      when Curses::COLOR_YELLOW
+        Curses::COLOR_BLUE
       else
         Curses::COLOR_CYAN
       end