From ed566a162c780faa0d6c84fac8fbbd3738586445 Mon Sep 17 00:00:00 2001 From: Kensuke Matsuzaki Date: Mon, 15 Apr 2013 17:39:19 +0900 Subject: [PATCH] Load prettify's lang-*.js extentions. --- src/main/distrib/data/gitblit.properties | 2 +- .../com/gitblit/wicket/pages/BlobPage.html | 28 +++++++++ .../com/gitblit/wicket/pages/BlobPage.java | 13 ++-- .../wicket/pages/prettify/lang-apollo.js | 4 +- .../wicket/pages/prettify/lang-basic.js | 3 + .../gitblit/wicket/pages/prettify/lang-clj.js | 18 ++++++ .../gitblit/wicket/pages/prettify/lang-css.js | 4 +- .../wicket/pages/prettify/lang-dart.js | 3 + .../wicket/pages/prettify/lang-erlang.js | 2 + .../gitblit/wicket/pages/prettify/lang-go.js | 1 + .../gitblit/wicket/pages/prettify/lang-hs.js | 4 +- .../wicket/pages/prettify/lang-lisp.js | 5 +- .../wicket/pages/prettify/lang-llvm.js | 1 + .../gitblit/wicket/pages/prettify/lang-lua.js | 4 +- .../wicket/pages/prettify/lang-matlab.js | 6 ++ .../gitblit/wicket/pages/prettify/lang-ml.js | 4 +- .../wicket/pages/prettify/lang-mumps.js | 2 + .../gitblit/wicket/pages/prettify/lang-n.js | 4 ++ .../wicket/pages/prettify/lang-pascal.js | 3 + .../wicket/pages/prettify/lang-proto.js | 2 +- .../gitblit/wicket/pages/prettify/lang-r.js | 2 + .../gitblit/wicket/pages/prettify/lang-rd.js | 1 + .../wicket/pages/prettify/lang-scala.js | 4 +- .../gitblit/wicket/pages/prettify/lang-sql.js | 4 +- .../gitblit/wicket/pages/prettify/lang-tcl.js | 3 + .../gitblit/wicket/pages/prettify/lang-tex.js | 1 + .../gitblit/wicket/pages/prettify/lang-vb.js | 4 +- .../wicket/pages/prettify/lang-vhdl.js | 6 +- .../wicket/pages/prettify/lang-wiki.js | 4 +- .../gitblit/wicket/pages/prettify/lang-xq.js | 3 + .../wicket/pages/prettify/lang-yaml.js | 4 +- .../wicket/pages/prettify/prettify.css | 2 +- .../gitblit/wicket/pages/prettify/prettify.js | 63 +++++++++---------- .../wicket/pages/prettify/run_prettify.js | 34 ++++++++++ 34 files changed, 182 insertions(+), 66 deletions(-) create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-basic.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-clj.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-dart.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-erlang.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-go.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-llvm.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-matlab.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-mumps.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-n.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-pascal.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-r.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-rd.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-tcl.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-tex.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/lang-xq.js create mode 100644 src/main/java/com/gitblit/wicket/pages/prettify/run_prettify.js diff --git a/src/main/distrib/data/gitblit.properties b/src/main/distrib/data/gitblit.properties index 10e98df0..f47ad078 100644 --- a/src/main/distrib/data/gitblit.properties +++ b/src/main/distrib/data/gitblit.properties @@ -844,7 +844,7 @@ web.luceneIgnoreExtensions = 7z arc arj bin bmp dll doc docx exe gif gz jar jpg # # SPACE-DELIMITED # SINCE 0.5.0 -web.prettyPrintExtensions = c cpp cs css frm groovy htm html java js moxie php pl prefs properties py rb scala sh sql xml vb yaml yml +web.prettyPrintExtensions = aea agc basic c cbm cl clj cpp cs css dart el erl erlang frm fs go groovy hs htm html java js latex lisp ll llvm lsp lua ml moxie mumps n nemerle pascal php pl prefs properties proto py r R rb rd Rd rkt s S scala scm sh Splus sql ss tcl tex vb vbs vhd vhdl wiki xml xq xquery yaml yml ymlapollo # Registered extensions for markdown transformation # diff --git a/src/main/java/com/gitblit/wicket/pages/BlobPage.html b/src/main/java/com/gitblit/wicket/pages/BlobPage.html index 80f061fd..d45e3c3b 100644 --- a/src/main/java/com/gitblit/wicket/pages/BlobPage.html +++ b/src/main/java/com/gitblit/wicket/pages/BlobPage.html @@ -9,6 +9,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/gitblit/wicket/pages/BlobPage.java b/src/main/java/com/gitblit/wicket/pages/BlobPage.java index ab0f0f16..295b2eb7 100644 --- a/src/main/java/com/gitblit/wicket/pages/BlobPage.java +++ b/src/main/java/com/gitblit/wicket/pages/BlobPage.java @@ -39,6 +39,8 @@ import com.gitblit.wicket.panels.PathBreadcrumbsPanel; public class BlobPage extends RepositoryPage { + protected String fileExtension; + public BlobPage(PageParameters params) { super(params); @@ -128,10 +130,11 @@ public class BlobPage extends RepositoryPage { if (source == null) { table = missingBlob(blobPath, commit); } else { - table = generateSourceView(source, type == 1); + table = generateSourceView(source, extension, type == 1); } add(new Label("blobText", table).setEscapeModelStrings(false)); add(new Image("blobImage").setVisible(false)); + fileExtension = extension; } } else { // plain text @@ -140,7 +143,7 @@ public class BlobPage extends RepositoryPage { if (source == null) { table = missingBlob(blobPath, commit); } else { - table = generateSourceView(source, false); + table = generateSourceView(source, null, false); } add(new Label("blobText", table).setEscapeModelStrings(false)); add(new Image("blobImage").setVisible(false)); @@ -156,8 +159,8 @@ public class BlobPage extends RepositoryPage { sb.append(""); return sb.toString(); } - - protected String generateSourceView(String source, boolean prettyPrint) { + + protected String generateSourceView(String source, String extension, boolean prettyPrint) { String [] lines = source.split("\n"); StringBuilder sb = new StringBuilder(); @@ -180,7 +183,7 @@ public class BlobPage extends RepositoryPage { sb.append(""); sb.append("
"); if (prettyPrint) { - sb.append("
");
+			sb.append("
");
 		} else {
 			sb.append("
");
 		}
diff --git a/src/main/java/com/gitblit/wicket/pages/prettify/lang-apollo.js b/src/main/java/com/gitblit/wicket/pages/prettify/lang-apollo.js
index bfc0014c..99e4a97a 100644
--- a/src/main/java/com/gitblit/wicket/pages/prettify/lang-apollo.js
+++ b/src/main/java/com/gitblit/wicket/pages/prettify/lang-apollo.js
@@ -1,2 +1,2 @@
-PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\r\n]*/,null,"#"],["pln",/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],["str",/^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/,
-null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[SE]?BANK\=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^\'(?:-*(?:\w|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?)?/],["pln",/^-*(?:[!-z_]|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?/i],["pun",/^[^\w\t\n\r \xA0()\"\\\';]+/]]),["apollo","agc","aea"])
\ No newline at end of file
+PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\n\r]*/,null,"#"],["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/,
+null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[!-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["apollo","agc","aea"]);
diff --git a/src/main/java/com/gitblit/wicket/pages/prettify/lang-basic.js b/src/main/java/com/gitblit/wicket/pages/prettify/lang-basic.js
new file mode 100644
index 00000000..6b784d43
--- /dev/null
+++ b/src/main/java/com/gitblit/wicket/pages/prettify/lang-basic.js
@@ -0,0 +1,3 @@
+var a=null;
+PR.registerLangHandler(PR.createSimpleLexer([["str",/^"(?:[^\n\r"\\]|\\.)*(?:"|$)/,a,'"'],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^REM[^\n\r]*/,a],["kwd",/^\b(?:AND|CLOSE|CLR|CMD|CONT|DATA|DEF ?FN|DIM|END|FOR|GET|GOSUB|GOTO|IF|INPUT|LET|LIST|LOAD|NEW|NEXT|NOT|ON|OPEN|OR|POKE|PRINT|READ|RESTORE|RETURN|RUN|SAVE|STEP|STOP|SYS|THEN|TO|VERIFY|WAIT)\b/,a],["pln",/^[a-z][^\W_]?(?:\$|%)?/i,a],["lit",/^(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i,a,"0123456789"],["pun",
+/^.[^\s\w"$%.]*/,a]]),["basic","cbm"]);
diff --git a/src/main/java/com/gitblit/wicket/pages/prettify/lang-clj.js b/src/main/java/com/gitblit/wicket/pages/prettify/lang-clj.js
new file mode 100644
index 00000000..1bb539cd
--- /dev/null
+++ b/src/main/java/com/gitblit/wicket/pages/prettify/lang-clj.js
@@ -0,0 +1,18 @@
+/*
+ Copyright (C) 2011 Google Inc.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+var a=null;
+PR.registerLangHandler(PR.createSimpleLexer([["opn",/^[([{]+/,a,"([{"],["clo",/^[)\]}]+/,a,")]}"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/,a],
+["typ",/^:[\dA-Za-z-]+/]]),["clj"]);
diff --git a/src/main/java/com/gitblit/wicket/pages/prettify/lang-css.js b/src/main/java/com/gitblit/wicket/pages/prettify/lang-css.js
index 61157f38..d7a4640c 100644
--- a/src/main/java/com/gitblit/wicket/pages/prettify/lang-css.js
+++ b/src/main/java/com/gitblit/wicket/pages/prettify/lang-css.js
@@ -1,2 +1,2 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[ \t\r\n\f]+/,null," \t\r\n\u000c"]],[["str",/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],["str",/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],["kwd",/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],
-["com",/^(?: