;; Ruby Hilite Copyrite by Yukio Sakaue <yukimi_sake@mbi.nifty.com>

(setf
 ruby-str-fore-color  9         ;文字列の色
 ruby-str-back-color  0
 ruby-comment-fore-color 10     ;コメントの色
 ruby-comment-back-color 0
 ruby-rd-fore-color   3         ;RDの色
 ruby-rd-back-color   9
 ruby-rgx-fore-color  3         ;正規表現の色
 ruby-rgx-back-color  0
 )

(setf
 ruby-bold-keywords (mapcar #'symbol-name
							'( ; ボールドにするキーワード
							   ; Ruby 予約語
							  BEGIN
							  class
							  ensure
							  nil
							  self
							  when
							  END
							  def
							  false
							  not
							  super
							  while
							  alias
							  defined?
							  for
							  or
							  then
							  yield
							  and
							  do
							  if
							  redo
							  true
							  begin
							  else
							  in
							  rescue
							  undef
							  break
							  elsif
							  module
							  retry
							  unless
							  case
							  end
							  next
							  return
							  until
							  )))

(defvar *ruby-variables-regexp*
	;変数その他の強調表示 :boldも使えるがRDやstringでもboldのままなので要注意
	(compile-regexp-keyword-list
	 '(
	   ("\$[0-9_&~`'+?!@=/\\\\,;.<>*$:\"]"  t (:color 5))             ;特殊変数
	   ("\$[a-z_][a-z0-9_]*"  t (:color 7))            ;グローバル変数
	   ("@[a-z][a-z0-9_]*" t (:keyword 1))                 ;インスタンス変数
	   ("@@[a-z][a-z0-9_]*" t (:color 1))                 ;クラス変数
	   ("\\b[A-Z][A-Za-z0-9_]*" nil (:color 1))                 ;定数
	   ("0[bodx][0-9a-f]+" t (:color 1))             ;数値リテラル
	   ("[^a-z0-9_]\\([-+]?\\b?[0-9]+\\.?[0-9]*\\)\\b" t (:color 1) t 1)      ;数値リテラル
	   ("\\?\\([a-z]\\|\\\\[MC]-[a-z]\\|\\\\M-\\\\C-[a-z]\\)" t (:color 1))             ;数値リテラル
	   ("[^:]\\(:[a-z_][a-z0-9_]*\\)" t (:color 11 0 ) t 1)  ;シンボル
	   )))

