[Lisppaste-cvs] CVS update: lisppaste2/coloring-types.lisp lisppaste2/coloring-css.lisp lisppaste2/web-server.lisp
Brian Mastenbrook
bmastenbrook at common-lisp.net
Thu Jun 17 12:46:59 UTC 2004
Update of /project/lisppaste/cvsroot/lisppaste2
In directory common-lisp.net:/home/bmastenbrook/lisppaste2
Modified Files:
coloring-types.lisp coloring-css.lisp web-server.lisp
Log Message:
Index of paste annotations; adjust Lisp coloring to find less english and MORE CODE; tweak to CSS to not underline links to specifications.
Date: Thu Jun 17 05:46:59 2004
Author: bmastenbrook
Index: lisppaste2/coloring-types.lisp
diff -u lisppaste2/coloring-types.lisp:1.7 lisppaste2/coloring-types.lisp:1.8
--- lisppaste2/coloring-types.lisp:1.7 Tue Jun 15 06:52:52 2004
+++ lisppaste2/coloring-types.lisp Thu Jun 17 05:46:59 2004
@@ -22,10 +22,10 @@
(defparameter *close-parens* '(#\)))
(define-coloring-type :lisp "Basic Lisp"
- :modes (:normal :symbol :escaped-symbol :keyword :string :comment
+ :modes (:first-char-on-line :normal :symbol :escaped-symbol :keyword :string :comment
:multiline :character
:single-escaped :in-list :syntax-error)
- :default-mode :normal
+ :default-mode :first-char-on-line
:transitions
(((:in-list)
((or
@@ -59,10 +59,20 @@
((scan #\()
(set-mode :in-list
:until (scan #\)))))
- (:normal
+ ((:normal :first-char-on-line)
((scan #\()
(set-mode :in-list
:until (scan #\)))))
+ (:first-char-on-line
+ ((scan #\;)
+ (set-mode :comment
+ :until (scan #\newline)))
+ ((scan "#|")
+ (set-mode :multiline
+ :until (scan "|#")))
+ ((advance 1)
+ (set-mode :normal
+ :until (scan #\newline))))
(:multiline
((scan "#|")
(set-mode :multiline
@@ -81,9 +91,10 @@
(loop for i from paren-counter downto 1
collect "</span></span>")))
:formatters
- ((:normal (lambda (type s)
- (declare (ignore type))
- s))
+ (((:normal :first-char-on-line)
+ (lambda (type s)
+ (declare (ignore type))
+ s))
((:in-list)
(lambda (type s)
(declare (ignore type))
Index: lisppaste2/coloring-css.lisp
diff -u lisppaste2/coloring-css.lisp:1.2 lisppaste2/coloring-css.lisp:1.3
--- lisppaste2/coloring-css.lisp:1.2 Tue Jun 8 08:23:04 2004
+++ lisppaste2/coloring-css.lisp Thu Jun 17 05:46:59 2004
@@ -4,10 +4,10 @@
(defparameter *coloring-css*
".symbol { color : #770055; background-color : inherit; }
-a.symbol:link { color : #229955; background-color : inherit; text-decoration: underline; }
-a.symbol:active { color : #229955; background-color : inherit; text-decoration: underline; }
-a.symbol:visited { color : #229955; background-color : inherit; text-decoration: underline; }
-a.symbol:hover { color : #229955; background-color : inherit; text-decoration: underline; }
+a.symbol:link { color : #229955; background-color : inherit; text-decoration: none; }
+a.symbol:active { color : #229955; background-color : inherit; text-decoration: none; }
+a.symbol:visited { color : #229955; background-color : inherit; text-decoration: none; }
+a.symbol:hover { color : #229955; background-color : inherit; text-decoration: none; }
.special { color : #FF5000; background-color : inherit; }
.keyword { color : #770000; background-color : inherit; }
.comment { color : #007777; background-color : inherit; }
Index: lisppaste2/web-server.lisp
diff -u lisppaste2/web-server.lisp:1.56 lisppaste2/web-server.lisp:1.57
--- lisppaste2/web-server.lisp:1.56 Fri Jun 11 10:35:33 2004
+++ lisppaste2/web-server.lisp Thu Jun 17 05:46:59 2004
@@ -1,4 +1,4 @@
-;;;; $Id: web-server.lisp,v 1.56 2004/06/11 17:35:33 bmastenbrook Exp $
+;;;; $Id: web-server.lisp,v 1.57 2004/06/17 12:46:59 bmastenbrook Exp $
;;;; $Source: /project/lisppaste/cvsroot/lisppaste2/web-server.lisp,v $
;;;; See the LICENSE file for licensing information.
@@ -18,7 +18,8 @@
(colorization-mode :initarg :colorization-mode :initform "" :accessor paste-colorization-mode)))
(defmacro make-paste (&rest arguments)
- `(make-instance 'paste , at arguments))
+ `(progn
+ (funcall 'make-instance 'paste , at arguments)))
(defclass new-paste-handler (araneida:handler) ())
@@ -135,7 +136,7 @@
(t (format nil "~A~A" (time-delta-primitive delta level) (if ago-p " ago" ""))))))
(defun irc-log-link (utime channel)
- (format nil "http://meme.b9.com/now?utime=~A&channel=~A"
+ (format nil "http://meme.b9.com/now.html?utime=~A&channel=~A"
utime
(string-left-trim "#" channel)))
@@ -654,12 +655,11 @@
`((tr (td)
((td :align "left" :width "100%")
,@(if (not annotation)
- `((,(encode-for-pre (paste-channel paste)) ,(if *meme-links*
- " | " ""))))
+ `((,(encode-for-pre (paste-channel paste)))))
,@(if (and *meme-links*
(not (and *no-channel-pastes*
(string-equal (paste-channel paste) "None"))))
- `(((a :href ,(irc-log-link (paste-universal-time paste) (paste-channel paste))) "Context in IRC logs")))))))
+ `(" | " ((a :href ,(irc-log-link (paste-universal-time paste) (paste-channel paste))) "Context in IRC logs")))))))
(tr ((td :align "left" :valign "top" :nowrap "nowrap") "Paste contents:")
,@(if this-url
`(((td :width "100%") ((a :href ,(concatenate 'string this-url "/raw")) "(raw source)")))))
@@ -734,6 +734,18 @@
colorize:*coloring-css*))
,(rss-link-header))
(body
+
+ ,@(if (paste-annotations paste)
+ `("Index of paste annotations: "
+ ,@(loop for ann in (reverse (paste-annotations paste))
+ for test from (length (paste-annotations paste)) downto 1
+ appending
+ `(((a :href ,(format nil "#~A"
+ (paste-number ann)))
+ ,(prin1-to-string (paste-number ann))))
+ if (not (eql test 1))
+ appending '(" | "))
+ (p)))
,(format-paste paste (araneida:urlstring (araneida:request-url request)) paste-number nil colorize-as
linenumbers)
,@(if (paste-annotations paste)
More information about the Lisppaste-cvs
mailing list