Changeset 15501


Ignore:
Timestamp:
Nov 21, 2012, 11:07:10 PM (7 years ago)
Author:
gb
Message:

Use gui::*lisp-double-comment-color* (defaults to (#/orangeColor ns:ns-color))
to color ;-comments with exactly 2 leading semicolons;
use gui::*lisp-triple-comment-color* (defaults to (#/redColor ns:ns-color))
to color comments with 3 or more leading semicolons.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/cocoa-ide/cocoa-editor.lisp

    r15426 r15501  
    13291329(defloadvar *lisp-string-color* (#/blueColor ns:ns-color))
    13301330(defloadvar *lisp-comment-color* (#/brownColor ns:ns-color))
     1331(defloadvar *lisp-double-comment-color* (#/orangeColor ns:ns-color))
     1332(defloadvar *lisp-triple-comment-color* (#/redColor ns:ns-color))
    13311333
    13321334;;; LAYOUT is an NSLayoutManager in which we'll set temporary character
     
    13431345    (let* ((color-attribute #&NSForegroundColorAttributeName)
    13441346           (string-color  *lisp-string-color* )
    1345            (comment-color *lisp-comment-color*))
     1347           (comment-color *lisp-comment-color*)
     1348           (double-comment-color *lisp-double-comment-color*)
     1349           (triple-comment-color *lisp-triple-comment-color*))
    13461350      (hi::with-mark ((m (hi::buffer-start-mark hi::*current-buffer*)))
    13471351        (hi::line-start m start-line)
     
    13661370                               (t :comment)))
    13671371                       (start (+ p istart))
    1368                        (len (- iend istart)))
     1372                       (len (- iend istart))
     1373                       (nsemi (if (eq type :comment)
     1374                                (do* ((n 0)
     1375                                      (i istart (1+ i)))
     1376                                     ((= i iend) n)
     1377                                  (unless (eq
     1378                                           (hi:character-attribute :lisp-syntax
     1379                                                                   (hi::line-character line i))
     1380                                           :comment)
     1381                                    (return n))
     1382                                  (when (= (incf n) 3)
     1383                                    (return n))))))
    13691384                  (when type
    13701385                    (when (eq type :string)
     
    13731388                    (setf (ns:ns-range-location range) start
    13741389                          (ns:ns-range-length range) len)
    1375                     (let ((attrs (if (eq type :string) string-color comment-color)))
     1390                    (let ((attrs (if (eq type :string)
     1391                                   string-color
     1392                                   (case nsemi
     1393                                     (2 double-comment-color)
     1394                                     (3 triple-comment-color)
     1395                                     (t comment-color)))))
    13761396                      (#/addTemporaryAttribute:value:forCharacterRange:
    13771397                       layout color-attribute attrs range)))
Note: See TracChangeset for help on using the changeset viewer.