public
Description: Rinari Is Not A Rails IDE
Homepage: http://rinari.rubyforge.org
Clone URL: git://github.com/technomancy/rinari.git
Misc cosmetic cleanup; minor refactorings; added a few keywords.
technomancy (author)
Fri Sep 05 18:05:13 -0700 2008
commit  d317a74bf03eeead2a0266ca6a448918bcc3a64a
tree    bbc469c5b039466da8517f414e9ac48b6b0441ce
parent  4ed92254f59778077a243948ba198b00c8106956
...
103
104
105
106
107
 
108
109
110
111
112
113
114
115
 
 
116
117
118
 
 
 
 
119
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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
179
180
...
250
251
252
 
253
254
255
256
257
 
 
 
258
259
260
261
 
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
 
 
 
 
 
 
 
 
 
 
288
289
 
290
291
292
...
337
338
339
340
341
342
343
344
 
 
 
 
345
346
347
...
492
493
494
495
 
496
497
498
...
831
832
833
834
 
835
836
837
...
1093
1094
1095
1096
 
1097
1098
1099
...
1292
1293
1294
1295
 
 
1296
1297
1298
...
1309
1310
1311
 
1312
1313
1314
1315
 
 
 
1316
1317
1318
...
1326
1327
1328
1329
1330
 
1331
1332
1333
...
103
104
105
 
 
106
107
108
109
110
111
112
 
 
113
114
115
 
 
116
117
118
119
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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
...
250
251
252
253
254
255
256
 
 
257
258
259
260
261
262
263
264
265
266
 
 
 
 
 
 
 
 
 
 
 
 
 
267
 
 
 
 
 
 
 
 
 
 
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
...
328
329
330
 
 
 
 
 
331
332
333
334
335
336
337
...
482
483
484
 
485
486
487
488
...
821
822
823
 
824
825
826
827
...
1083
1084
1085
 
1086
1087
1088
1089
...
1282
1283
1284
 
1285
1286
1287
1288
1289
...
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
...
1321
1322
1323
 
 
1324
1325
1326
1327
0
@@ -103,78 +103,78 @@
0
   (concat "[?$/%(){}#\"'`.:]\\|<<\\|\\[\\|\\]\\|\\<\\("
0
           ruby-block-beg-re
0
           "\\)\\>\\|" ruby-block-end-re
0
- "\\|^=begin\\|" ruby-here-doc-beg-re)
0
- )
0
+ "\\|^=begin\\|" ruby-here-doc-beg-re))
0
 
0
 (defconst ruby-negative
0
   (concat "^[ \t]*\\(\\(" ruby-block-mid-re "\\)\\>\\|"
0
           ruby-block-end-re "\\|}\\|\\]\\)")
0
   "Regexp to match where the indentation gets shallower.")
0
 
0
-(defconst ruby-operator-chars "-,.+*/%&|^~=<>:")
0
-(defconst ruby-operator-re (concat "[" ruby-operator-chars "]"))
0
+(defconst ruby-operator-re "[-,.+*/%&|^~=<>:]"
0
+ "Regexp to match operators.")
0
 
0
-(defconst ruby-symbol-chars "a-zA-Z0-9_")
0
-(defconst ruby-symbol-re (concat "[" ruby-symbol-chars "]"))
0
+(defconst ruby-symbol-chars "a-zA-Z0-9_"
0
+ "List of characters that symbol names may contain.")
0
+(defconst ruby-symbol-re (concat "[" ruby-symbol-chars "]")
0
+ "Regexp to match symbols.")
0
 
0
 (defvar ruby-mode-abbrev-table nil
0
   "Abbrev table in use in ruby-mode buffers.")
0
 
0
 (define-abbrev-table 'ruby-mode-abbrev-table ())
0
 
0
-(defvar ruby-mode-map nil "Keymap used in ruby mode.")
0
-
0
-(if ruby-mode-map
0
- nil
0
- (setq ruby-mode-map (make-sparse-keymap))
0
- (define-key ruby-mode-map "{" 'ruby-electric-brace)
0
- (define-key ruby-mode-map "}" 'ruby-electric-brace)
0
- (define-key ruby-mode-map "\e\C-a" 'ruby-beginning-of-defun)
0
- (define-key ruby-mode-map "\e\C-e" 'ruby-end-of-defun)
0
- (define-key ruby-mode-map "\e\C-b" 'ruby-backward-sexp)
0
- (define-key ruby-mode-map "\e\C-f" 'ruby-forward-sexp)
0
- (define-key ruby-mode-map "\e\C-p" 'ruby-beginning-of-block)
0
- (define-key ruby-mode-map "\e\C-n" 'ruby-end-of-block)
0
- (define-key ruby-mode-map "\e\C-h" 'ruby-mark-defun)
0
- (define-key ruby-mode-map "\e\C-q" 'ruby-indent-exp)
0
- (define-key ruby-mode-map "\t" 'ruby-indent-command)
0
- (define-key ruby-mode-map "\C-c\C-e" 'ruby-insert-end)
0
- (define-key ruby-mode-map "\C-j" 'ruby-reindent-then-newline-and-indent)
0
- (define-key ruby-mode-map "\C-m" 'newline))
0
+(defvar ruby-mode-map
0
+ (let ((map (make-sparse-keymap)))
0
+ (define-key map "{" 'ruby-electric-brace)
0
+ (define-key map "}" 'ruby-electric-brace)
0
+ (define-key map "\M-\C-a" 'ruby-beginning-of-defun)
0
+ (define-key map "\M-\C-e" 'ruby-end-of-defun)
0
+ (define-key map "\M-\C-b" 'ruby-backward-sexp)
0
+ (define-key map "\M-\C-f" 'ruby-forward-sexp)
0
+ (define-key map "\M-\C-p" 'ruby-beginning-of-block)
0
+ (define-key map "\M-\C-n" 'ruby-end-of-block)
0
+ (define-key map "\M-\C-h" 'ruby-mark-defun)
0
+ (define-key map "\M-\C-q" 'ruby-indent-exp)
0
+ (define-key map "\t" 'ruby-indent-line)
0
+ (define-key map "\C-c\C-e" 'ruby-insert-end)
0
+ (define-key map "\C-j" 'ruby-reindent-then-newline-and-indent)
0
+ (define-key map "\C-m" 'newline)
0
+ map)
0
+ "Keymap used in ruby-mode.")
0
 
0
 (defvar ruby-mode-syntax-table nil
0
   "Syntax table in use in ruby-mode buffers.")
0
 
0
-(if ruby-mode-syntax-table
0
- ()
0
- (setq ruby-mode-syntax-table (make-syntax-table))
0
- (modify-syntax-entry ?\' "\"" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?\" "\"" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?\` "\"" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?# "<" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?\n ">" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?\\ "\\" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?$ "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?? "_" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?_ "_" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?< "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?> "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?& "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?| "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?% "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?= "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?/ "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?+ "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?* "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?- "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?\; "." ruby-mode-syntax-table)
0
- (modify-syntax-entry ?\( "()" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?\) ")(" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?\{ "(}" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?\} "){" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?\[ "(]" ruby-mode-syntax-table)
0
- (modify-syntax-entry ?\] ")[" ruby-mode-syntax-table)
0
- )
0
+(defvar ruby-mode-syntax-table
0
+ (let ((table (make-syntax-table)))
0
+ (modify-syntax-entry ?\' "\"" table)
0
+ (modify-syntax-entry ?\" "\"" table)
0
+ (modify-syntax-entry ?\` "\"" table)
0
+ (modify-syntax-entry ?# "<" table)
0
+ (modify-syntax-entry ?\n ">" table)
0
+ (modify-syntax-entry ?\\ "\\" table)
0
+ (modify-syntax-entry ?$ "." table)
0
+ (modify-syntax-entry ?? "_" table)
0
+ (modify-syntax-entry ?_ "_" table)
0
+ (modify-syntax-entry ?< "." table)
0
+ (modify-syntax-entry ?> "." table)
0
+ (modify-syntax-entry ?& "." table)
0
+ (modify-syntax-entry ?| "." table)
0
+ (modify-syntax-entry ?% "." table)
0
+ (modify-syntax-entry ?= "." table)
0
+ (modify-syntax-entry ?/ "." table)
0
+ (modify-syntax-entry ?+ "." table)
0
+ (modify-syntax-entry ?* "." table)
0
+ (modify-syntax-entry ?- "." table)
0
+ (modify-syntax-entry ?\; "." table)
0
+ (modify-syntax-entry ?\( "()" table)
0
+ (modify-syntax-entry ?\) ")(" table)
0
+ (modify-syntax-entry ?\{ "(}" table)
0
+ (modify-syntax-entry ?\} "){" table)
0
+ (modify-syntax-entry ?\[ "(]" table)
0
+ (modify-syntax-entry ?\] ")[" table)
0
+ table)
0
+ "Syntax table to use in ruby-mode.")
0
 
0
 (defcustom ruby-indent-tabs-mode nil
0
   "*Indentation can insert tabs in ruby mode if this is non-nil."
0
@@ -250,43 +250,34 @@ Also ignores spaces after parenthesis when 'space."
0
     index-alist))
0
 
0
 (defun ruby-imenu-create-index ()
0
+ "Create an imenu index of all methods in the buffer."
0
   (nreverse (ruby-imenu-create-index-in-block nil (point-min) nil)))
0
 
0
 (defun ruby-accurate-end-of-block (&optional end)
0
- (let (state)
0
- (or end (setq end (point-max)))
0
+ "TODO: document."
0
+ (let (state
0
+ (end (or end (point-max))))
0
     (while (and (setq state (apply 'ruby-parse-partial end state))
0
                 (>= (nth 2 state) 0) (< (point) end)))))
0
 
0
 (defun ruby-mode-variables ()
0
+ "Set up initial buffer-local variables for ruby-mode."
0
   (set-syntax-table ruby-mode-syntax-table)
0
   (setq local-abbrev-table ruby-mode-abbrev-table)
0
- (setq case-fold-search nil)
0
- (make-local-variable 'indent-line-function)
0
- (setq indent-line-function 'ruby-indent-line)
0
- (make-local-variable 'require-final-newline)
0
- (setq require-final-newline t)
0
- (make-variable-buffer-local 'comment-start)
0
- (setq comment-start "# ")
0
- (make-variable-buffer-local 'comment-end)
0
- (setq comment-end "")
0
- (make-variable-buffer-local 'comment-column)
0
- (setq comment-column ruby-comment-column)
0
- (make-variable-buffer-local 'comment-start-skip)
0
- (setq comment-start-skip "#+ *")
0
   (setq indent-tabs-mode ruby-indent-tabs-mode)
0
- (make-local-variable 'parse-sexp-ignore-comments)
0
- (setq parse-sexp-ignore-comments t)
0
- (make-local-variable 'parse-sexp-lookup-properties)
0
- (setq parse-sexp-lookup-properties t)
0
- (make-local-variable 'paragraph-start)
0
- (setq paragraph-start (concat "$\\|" page-delimiter))
0
- (make-local-variable 'paragraph-separate)
0
- (setq paragraph-separate paragraph-start)
0
- (make-local-variable 'paragraph-ignore-fill-prefix)
0
- (setq paragraph-ignore-fill-prefix t))
0
+ (set (make-local-variable 'indent-line-function) 'ruby-indent-line)
0
+ (set (make-local-variable 'require-final-newline) t)
0
+ (set (make-variable-buffer-local 'comment-start) "# ")
0
+ (set (make-variable-buffer-local 'comment-end) "")
0
+ (set (make-variable-buffer-local 'comment-column) ruby-comment-column)
0
+ (set (make-variable-buffer-local 'comment-start-skip) "#+ *")
0
+ (set (make-local-variable 'parse-sexp-ignore-comments) t)
0
+ (set (make-local-variable 'paragraph-start) (concat "$\\|" page-delimiter))
0
+ (set (make-local-variable 'paragraph-separate) paragraph-start)
0
+ (set (make-local-variable 'paragraph-ignore-fill-prefix) t))
0
 
0
 (defun ruby-mode-set-encoding ()
0
+ "Insert a magic comment header with the proper encoding if necessary."
0
   (save-excursion
0
     (widen)
0
     (goto-char (point-min))
0
@@ -337,11 +328,10 @@ The variable ruby-indent-level controls the amount of indentation.
0
   (setq major-mode 'ruby-mode)
0
   (ruby-mode-variables)
0
 
0
- (make-local-variable 'imenu-create-index-function)
0
- (setq imenu-create-index-function 'ruby-imenu-create-index)
0
-
0
- (make-local-variable 'add-log-current-defun-function)
0
- (setq add-log-current-defun-function 'ruby-add-log-current-method)
0
+ (set (make-local-variable 'imenu-create-index-function)
0
+ 'ruby-imenu-create-index)
0
+ (set (make-local-variable 'add-log-current-defun-function)
0
+ 'ruby-add-log-current-method)
0
 
0
   (add-hook
0
    (cond ((boundp 'before-save-hook)
0
@@ -492,7 +482,7 @@ The variable ruby-indent-level controls the amount of indentation.
0
          (t
0
           (setq in-string (point))
0
           (goto-char end))))
0
- ((looking-at "/=")
0
+ ((looking-at "/=")
0
         (goto-char pnt))
0
        ((looking-at "/")
0
         (cond
0
@@ -831,7 +821,7 @@ The variable ruby-indent-level controls the amount of indentation.
0
                                       (not (looking-at "do\\>[^_]")))))
0
                               (t t))))
0
                        (not (eq ?, c))
0
- (setq op-end t)))))
0
+n (setq op-end t)))))
0
            (setq indent
0
                  (cond
0
                   ((and
0
@@ -1093,7 +1083,7 @@ balanced expression is found."
0
                (concat "^[ \t]*\\(def\\|class\\|module\\)[ \t]+"
0
                        "\\("
0
                        ;; \\. and :: for class method
0
- "\\([A-Za-z_]" ruby-symbol-re "*\\|\\.\\|::" "\\)"
0
+ "\\([A-Za-z_]" ruby-symbol-re "*\\|\\.\\|::" "\\)"
0
                         "+\\)")
0
                nil t)
0
               (progn
0
@@ -1292,7 +1282,8 @@ buffer position `limit' or the end of the buffer."
0
      (cons (concat
0
             "\\(^\\|[^_:.@$]\\|\\.\\.\\)\\b\\(defined\\?\\|"
0
             (regexp-opt
0
- '("alias"
0
+ '("alias_method"
0
+ "alias"
0
                "and"
0
                "begin"
0
                "break"
0
@@ -1309,10 +1300,14 @@ buffer position `limit' or the end of the buffer."
0
                "end"
0
                "if"
0
                "in"
0
+ "module_function"
0
                "module"
0
                "next"
0
                "not"
0
                "or"
0
+ "public"
0
+ "private"
0
+ "protected"
0
                "raise"
0
                "redo"
0
                "rescue"
0
@@ -1326,8 +1321,7 @@ buffer position `limit' or the end of the buffer."
0
                "until"
0
                "when"
0
                "while"
0
- "yield"
0
- )
0
+ "yield")
0
              t)
0
             "\\_>\\)")
0
            2)

Comments

    No one has commented yet.