[#30920] [REQ] Regexp#match! — Minero Aoki <aamine@...>

あおきです。

19 messages 2001/08/16

[#30945] file exist check method? — "Inoue" <inoue@...>

井上です。

98 messages 2001/08/17
[#30947] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/17

こんにちは、なかむら(う)です。

[#30949] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/17

新井です。

[#30950] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/17

こんにちは、なかむら(う)です。

[#30951] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/17

新井です。

[#30953] Re: file exist check method? — nobu.nakada@... 2001/08/17

なかだです。

[#30954] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/17

新井です。

[#30955] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/17

こんにちは、なかむら(う)です。

[#30956] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/17

新井です。

[#30958] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/18

こんにちは、なかむら(う)です。

[#30962] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/18

新井です。

[#30963] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/18

こんにちは、なかむら(う)です。

[#30965] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/18

新井です。

[#30969] Re: file exist check method? — nobu.nakada@... 2001/08/18

なかだです。

[#30970] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/18

新井です。

[#30981] Re: file exist check method? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/18

もりきゅうです。長文ごめんなさい。

[#30983] Re: file exist check method? — IWATSUKI Hiroyuki <don@...> 2001/08/18

岩月と申します。そろそろ寝なくては。

[#30988] Re: file exist check method? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/19

もりきゅうです。

[#30989] Re: file exist check method? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/19

もりきゅうです。

[#30997] Re: file exist check method? — nobu.nakada@... 2001/08/19

なかだです。

[#31020] Re: file exist check method? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/20

もりきゅうです。

[#31022] Re: file exist check method? — maili31s@... (SugHimsi == SUGIHARA Hiroshi) 2001/08/20

すぎむし。

[#31024] Re: file exist check method? — nobu.nakada@... 2001/08/20

なかだです。

[#31025] File#join — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/20

もりきゅうです。subject 変えました。

[#31029] Re: File#join — Kazuhiro NISHIYAMA <zn@...> 2001/08/21

In <200108201823.AA00825@yoshida.nifty.ne.jp>

[#31079] Re: File#join — "K.Umakoshi" <pegacorn@...> 2001/08/22

File#join とか File#split とか使った事ないんですが…

[#31062] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/21

こんにちは、なかむら(う)です。

[#31065] Re: file exist check method? — nobu.nakada@... 2001/08/22

なかだです。

[#31067] Re: file exist check method? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/22

もりきゅうです。

[#31068] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/22

こんにちは、なかむら(う)です。

[#31073] Re: file exist check method? — nobu.nakada@... 2001/08/22

なかだです。

[#31082] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/22

こんにちは、なかむら(う)です。

[#31087] Re: file exist check method? — nobu.nakada@... 2001/08/23

なかだです。

[#31094] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/23

こんにちは、なかむら(う)です。

[#31096] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/23

こんにちは、なかむら(う)です。

[#31005] インストールしました — 嶋崎 正貴 <hayashih@...>

嶋崎と申します

15 messages 2001/08/20

[#31144] create_process または Win での外部コマンド実行 — Take_tk <ggb03124@...>

Windows で外部コマンドを実行するにはどういう方法があるのでしょうか?。

33 messages 2001/08/29
[#31145] Re: create_process または Win での外部コマンド実行 — "U.Nakamura" <usa@...> 2001/08/29

こんにちは、なかむら(う)です。

[#31152] Re: create_process または Win での外部コマンド実行 — nobu.nakada@... 2001/08/29

なかだです。

[#31153] Re: create_process または Win での外部コマンド実行 — Take_tk <ggb03124@...> 2001/08/29

たけ(tk)です。

[ruby-list:30850] ruby-mode.el の改善案

From: sheepman <sheepman@...>
Date: 2001-08-05 03:20:31 UTC
List: ruby-list #30850
こんにちは。

font-lockでの色付けに関する改善案を思いついたので、ruby-mode.elをちょっと
いじってみました。

ひとつめは、正規表現の色付け。
現在は、'/'はすべて正規表現式の開始だと解釈しています。このため、除算の'/'や、
文字列中の'/'まで、正規表現の開始として色付けされてしまっています。これを

「if,while,unless...etcの条件判断か=(,のすぐ後ろにある'/'のみを正規表現式の開始」

と解釈するようにすれば、大抵の場合はほぼ正確に色付けされるはずです。

もうひとつは、文字列。
正規表現式中などに'や"が含まれる場合、以下の行をすべてを文字列として、
色付けしてしまいます。このため、行末に#'とコメントを付け加えているのを
良く見掛けます。
これに対処する方法はすこしトリッキーです。

「font-lockがデフォルトで行なう色付けを、いったん上書きして無効にし、
改めて、自分で定義した色付けを行なう」

です。本当は、font-lock.el自体を何とかするのが筋でしょうが、当方にはその能力がないので。
ruby-mode.el($Date: 2001/06/23 15:14:25 $)へのパッチを添付します。

-- 
sheepman
sheepman@tcn.zaq.ne.jp http://www.tcn.zaq.ne.jp/sheepman/
Key fingerprint = 7975 D321 35FC 18D7 9EE5  D9D0 6BE1 3C6D EDB4 01E6

Attachments (1)

ruby-mode.el.patch (3.03 KB, text/x-diff)
--- ruby-mode.el.bak	Sat Aug  4 23:39:54 2001
+++ ruby-mode.el	Sun Aug  5 11:59:20 2001
@@ -707,6 +707,9 @@
 
   (defvar ruby-font-lock-keywords
     (list
+     ;; trick
+     '("\\s-+" 0 nil t)
+     '("\\S-+" 0 nil t)
      (cons (concat
 	    "\\(^\\|[^_:.@$]\\|\\.\\.\\)\\b\\("
 	    (mapconcat
@@ -750,16 +753,14 @@
 	     "\\|")
 	    "\\)\\>\\([^_]\\|$\\)")
 	   2)
-     ;; regexps
-     '("/\\(\\(\\\\/\\|[^/\n]\\)*\\)/\\([iop]*\\)"
-       (1 font-lock-string-face)
-       (3 font-lock-constant-face))
      ;; variables
      '("\\(^\\|[^_:.@$]\\|\\.\\.\\)\\b\\(nil\\|self\\|true\\|false\\)\\b\\([^_]\\|$\\)"
        2 font-lock-variable-name-face)
      ;; variables
-     '("[$@].\\(\\w\\|_\\)*"
-       0 font-lock-variable-name-face)
+     '("\\(\\$\\(\\W\\|[0-9]\\)\\)\\W"
+       1 font-lock-variable-name-face t)     
+     '("\\($\\|@\\|@@\\)\\(\\w\\(\\w\\|_\\)*\\|#{\\)"
+       0 font-lock-variable-name-face t)
      ;; embedded document
      '(ruby-font-lock-docs
        0 font-lock-comment-face t)
@@ -772,8 +773,36 @@
      '("^\\s *def\\s +\\([^( ]+\\)"
        1 font-lock-function-name-face)
      ;; symbols
-     '("\\(^\\|[^:]\\)\\(:\\([-+/%&|^~`]\\|\\*\\*?\\|<\\(<\\|=>?\\)?\\|>[>=]?\\|===?\\|=~\\|\\[\\]\\|\\(\\w\\|_\\)+\\([!?=]\\|\\b\\)\\)\\)"
-       2 font-lock-reference-face))
+     '("\\(^\\|[^:]\\)\\(:\\([-+/%&|^~`]\\|\\*\\*?\\|<\\(<\\|=>?\\)?\\|>[>=]?\\|===?\\|=~\\|\\[\\]\\|\\(\\w\\|_\\)+\\([!?=]\\|\\b\\)\\|#{[^}\n\\\\]*\\(\\\\.[^}\n\\\\]*\\)*}\\)\\)"
+       2 font-lock-reference-face)
+     ;; strings
+     ;; %Q!   !
+     '("[[\\s <+(,]%[rqQ]?\\(\\([^a-zA-Z0-9 \n]\\)[^\\2\n\\\\]*\\(\\\\.[^\\2\n\\\\]*\\)*\\2\\)" 
+       1 font-lock-string-face t)
+     ;; '...'
+     '("[[\\s <+(,]\\('[^'\n\\\\]*\\(\\\\.[^'\n\\\\]*\\)*'\\)" 
+       1 font-lock-string-face t)
+     ;; "..."
+     '("[[\\s <+(,]\\(\"[^\"\n\\\\]*\\(\\\\.[^\"\n\\\\]*\\)*\"\\)" 
+       1 font-lock-string-face t)
+     ;; `...`
+     '("[\\s <+(,]\\(`[^`\n\\\\]*\\(\\\\.[^`\n\\\\]*\\)*`\\)" 
+       1 font-lock-warning-face t)
+     ;; %x!...!
+     '("[\\s <+(,]%x\\(\\([^a-zA-Z0-9 \n]\\)[^\\2\n\\]*\\(\\\\.[^\\2\n\\]*\\)*\\2\\)" 
+       1 font-lock-warning-face t)
+     ;; regexps
+     '("\\(^\\|[=(,~?:]\\|\\(^\\|\\s \\)\\(if\\|elsif\\|unless\\|while\\|until\\|when\\|and\\|or\\|&&\\|||\\)\\|\\.g?sub!?\\)\\s *\\(/[^/\n\\\\]*\\(\\\\.[^/\n\\\\]*\\)*/\\([iop]*\\)\\)"  
+       (4 font-lock-string-face t)
+       (6 font-lock-constant-face t))
+     '("\\(/[^/\n\\\\]*\\(\\\\.[^/\n\\\\]*\\)*/\\)\\s *[=!][=~]"
+       1 font-lock-string-face t)
+     ;; expression expansion
+     '("#{[^}\n\\\\]*\\(\\\\.[^}\n\\\\]*\\)*}" 
+       0 font-lock-variable-name-face t)
+    ;; comment
+     '("^\\s *\\([^#\n'\"%/]\\|'[^'\n\\]*\\(\\\\.[^'\n\\]*\\)*'\\|\"[^\"\n\\]*\\(\\\\.[^\"\n\\]*\\)*\"\\|%[rqQx]?\\([^a-zA-Z0-9 \n]\\)[^\\4\n\\]*\\(\\\\.[^\\4\n\\]*\\)*\\4\\|/[^/\n\\]*\\(\\\\.[^/\n\\]\\)*/\\|#{[^}\\\\]*\\(\\\\.[^}\\\\]*\\)*}\\)*\\(#\\([^{\n].*\\|$\\)\\)"
+       8 font-lock-comment-face t))
     "*Additional expressions to highlight in ruby mode."))
 
  ((featurep 'hilit19)

In This Thread

Prev Next