Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml-mode/trunk/sml-mode.el
ViewVC logotype

Diff of /sml-mode/trunk/sml-mode.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1697, Mon Nov 15 22:36:09 2004 UTC revision 1698, Mon Nov 15 23:00:38 2004 UTC
# Line 190  Line 190 
190     ;; The symbols can come from a JIS0208 font.     ;; The symbols can come from a JIS0208 font.
191     (and (fboundp 'make-char) (charsetp 'japanese-jisx0208)     (and (fboundp 'make-char) (charsetp 'japanese-jisx0208)
192          (memq sml-font-lock-symbols '(t japanese-jisx0208))          (memq sml-font-lock-symbols '(t japanese-jisx0208))
193          (list ;; (cons "\\" (make-char 'japanese-jisx0208 38 75))          (list (cons "fn" (make-char 'japanese-jisx0208 38 75))
194                (cons "->" (make-char 'japanese-jisx0208 34 42))                (cons "->" (make-char 'japanese-jisx0208 34 42))
195                ;; (cons "<-" (make-char 'japanese-jisx0208 34 43))                (cons "=>" (make-char 'japanese-jisx0208 34 77))
196                  (cons "<-" (make-char 'japanese-jisx0208 34 43))
197                (cons ">=" (make-char 'japanese-jisx0208 33 102))                (cons ">=" (make-char 'japanese-jisx0208 33 102))
198                (cons "<=" (make-char 'japanese-jisx0208 33 101))                (cons "<=" (make-char 'japanese-jisx0208 33 101))
199                (cons "=>" (make-char 'japanese-jisx0208 34 77))))                ;; Some greek letters for type parameters.
200                  (cons "'a" (make-char 'japanese-jisx0208 38 65))
201                  (cons "'b" (make-char 'japanese-jisx0208 38 66))
202                  (cons "'c" (make-char 'japanese-jisx0208 38 67))
203                  (cons "'d" (make-char 'japanese-jisx0208 38 68))
204                  ))
205     ;; Or a unicode font.     ;; Or a unicode font.
206     (and (fboundp 'decode-char)     (and (fboundp 'decode-char)
207          (memq sml-font-lock-symbols '(t unicode))          (memq sml-font-lock-symbols '(t unicode))
208          (list ;; (cons "\\" (decode-char 'ucs 955))          (list (cons "fn" (decode-char 'ucs 955))
209                  (cons "o"  (decode-char 'ucs 9675))
210                (cons "->" (decode-char 'ucs 8594))                (cons "->" (decode-char 'ucs 8594))
211                ;; (cons "<-" (decode-char 'ucs 8592))                (cons "=>" (decode-char 'ucs 8658))
212                  (cons "<-" (decode-char 'ucs 8592))
213                (cons ">=" (decode-char 'ucs 8805))                (cons ">=" (decode-char 'ucs 8805))
214                (cons "<=" (decode-char 'ucs 8804))                (cons "<=" (decode-char 'ucs 8804))
               (cons "=>" (decode-char 'ucs 8658))  
215                ;; (cons "::" (decode-char 'ucs 8759))                ;; (cons "::" (decode-char 'ucs 8759))
216                  ;; Some greek letters for type parameters.
217                  (cons "'a" (decode-char 'ucs 945))
218                  (cons "'b" (decode-char 'ucs 946))
219                  (cons "'c" (decode-char 'ucs 947))
220                  (cons "'d" (decode-char 'ucs 948))
221                ))))                ))))
222    
223  (defun sml-font-lock-compose-symbol (alist)  (defun sml-font-lock-compose-symbol (alist)
224    "Compose a sequence of ascii chars into a symbol.    "Compose a sequence of ascii chars into a symbol.
225  Regexp match data 0 points to the chars."  Regexp match data 0 points to the chars."
226    ;; Check that the chars should really be composed into a symbol.    ;; Check that the chars should really be composed into a symbol.
227    (let ((start (match-beginning 0))    (let* ((start (match-beginning 0))
228          (end (match-end 0)))           (end (match-end 0))
229      (if (or (memq (char-syntax (or (char-before start) ?\ )) '(?. ?\\))           (syntaxes (if (eq (char-syntax (char-after start)) ?w)
230              (memq (char-syntax (or (char-after end) ?\ )) '(?. ?\\))                         '(?w) '(?. ?\\))))
231        (if (or (memq (char-syntax (or (char-before start) ?\ )) syntaxes)
232                (memq (char-syntax (or (char-after end) ?\ )) syntaxes)
233              (memq (get-text-property start 'face)              (memq (get-text-property start 'face)
234                    '(font-lock-doc-face font-lock-string-face                    '(font-lock-doc-face font-lock-string-face
235                      font-lock-comment-face)))                      font-lock-comment-face)))

Legend:
Removed from v.1697  
changed lines
  Added in v.1698

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0