From 4ac9fa081a7c045f6a9f1cfc529d82423f485b2e Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sun, 8 Dec 2013 09:55:49 +0100 Subject: Update to MediaWiki 1.22.0 --- .../SyntaxHighlight_GeSHi.class.php | 48 +++++----------------- .../SyntaxHighlight_GeSHi.i18n.php | 35 ++++++++++------ .../SyntaxHighlight_GeSHi.php | 5 ++- extensions/SyntaxHighlight_GeSHi/geshi/geshi.php | 2 +- .../SyntaxHighlight_GeSHi/geshi/geshi/haskell.php | 10 ++++- 5 files changed, 46 insertions(+), 54 deletions(-) (limited to 'extensions/SyntaxHighlight_GeSHi') diff --git a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php index 4538a5f1..b1c9851d 100644 --- a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php +++ b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php @@ -28,12 +28,6 @@ class SyntaxHighlight_GeSHi { // Don't trim leading spaces away, just the linefeeds $text = preg_replace( '/^\n+/', '', $text ); - if( $wgUseTidy ) { - // HTML Tidy will convert tabs to spaces incorrectly (bug 30930). - // Preemptively replace the spaces in a more controlled fashion. - $text = self::tabsToSpaces( $text ); - } - // Validate language if( isset( $args['lang'] ) && $args['lang'] ) { $lang = $args['lang']; @@ -101,6 +95,12 @@ class SyntaxHighlight_GeSHi { if( $enclose === GESHI_HEADER_DIV ) { $out = str_replace( "\n", '', $out ); } + // HTML Tidy will convert tabs to spaces incorrectly (bug 30930). + // But the conversion from tab to space occurs while reading the input, + // before the conversion from to tab, so we can armor it that way. + if( $wgUseTidy ) { + $out = str_replace( "\t", ' ', $out ); + } // Register CSS $parser->getOutput()->addHeadItem( self::buildHeadItem( $geshi ), "source-{$lang}" ); @@ -327,6 +327,9 @@ class SyntaxHighlight_GeSHi { * @return GeSHi */ public static function prepare( $text, $lang ) { + + global $wgSyntaxHighlightKeywordLinks; + self::initialise(); $geshi = new GeSHi( $text, $lang ); if( $geshi->error() == GESHI_ERROR_NO_SUCH_LANG ) { @@ -335,7 +338,7 @@ class SyntaxHighlight_GeSHi { $geshi->set_encoding( 'UTF-8' ); $geshi->enable_classes(); $geshi->set_overall_class( "source-$lang" ); - $geshi->enable_keyword_links( false ); + $geshi->enable_keyword_links( $wgSyntaxHighlightKeywordLinks ); // If the source code is over 100 kB, disable higlighting of symbols. // If over 200 kB, disable highlighting of strings too. @@ -485,35 +488,4 @@ class SyntaxHighlight_GeSHi { public static function hOldSpecialVersion_GeSHi( &$sp, &$extensionTypes ) { return self::hSpecialVersion_GeSHi( $extensionTypes ); } - - /** - * Convert tabs to spaces - * - * @param string $text - * @return string - */ - private static function tabsToSpaces( $text ) { - $lines = explode( "\n", $text ); - $lines = array_map( array( __CLASS__, 'tabsToSpacesLine' ), $lines ); - return implode( "\n", $lines ); - } - - /** - * Convert tabs to spaces for a single line - * - * @param $line - * @internal param string $text - * @return string - */ - private static function tabsToSpacesLine( $line ) { - $parts = explode( "\t", $line ); - $width = 8; // To match tidy's config & typical browser defaults - $out = $parts[0]; - foreach( array_slice( $parts, 1 ) as $chunk ) { - $spaces = $width - (strlen( $out ) % $width); - $out .= str_repeat( ' ', $spaces ); - $out .= $chunk; - } - return $out; - } } diff --git a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php index b9a336dd..9b940f3e 100644 --- a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php +++ b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php @@ -78,7 +78,7 @@ $messages['arz'] = array( 'geshi.css' => '/* CSS المحطوطة هنا ح تتطبق على تظليل سينتاكس الGeSHi */', ); -/** Assamese (অসমীয়া) +/** Assamese (অসমীয়া) * @author Bishnu Saikia */ $messages['as'] = array( @@ -199,9 +199,11 @@ $messages['ca'] = array( /** Chechen (нохчийн) * @author Sasan700 + * @author Умар */ $messages['ce'] = array( - 'geshi.css' => '/* CSS-ишар, кху чу хlоттайахь, оцо болх бийра бу сизашдо беснашна хlокхуньца GeSHI */', + 'syntaxhighlight-supported' => 'Ловш долу меттанаш:', + 'geshi.css' => '/* CSS-код, кху чу хlоттайахь, оцо болх бийра бу сизашдо беснашна хlокхуньца GeSHI */', ); /** Czech (česky) @@ -218,10 +220,16 @@ $messages['cs'] = array( ); /** Danish (dansk) + * @author Christian List * @author Sarrus */ $messages['da'] = array( + 'syntaxhighlight-desc' => 'Giver syntaksfremhævning <syntaxhighlight> ved brug af [http://qbnz.com/highlighter/ GeSHi - Generic Syntax Highlighter]', + 'syntaxhighlight-specify' => 'Du skal angive et sprog, sådan her:', + 'syntaxhighlight-supported' => 'Understøttede sprog for syntaksfremhævning:', + 'syntaxhighlight-err-loading' => '(fejl ved indlæsning af listen af understøttede sprog)', 'syntaxhighlight-err-language' => 'Ugyldigt sprog.', + 'geshi.css' => '/* CSS placeret her vil blive anvendt til GeSHi syntaksfremhævning */', ); /** German (Deutsch) @@ -314,7 +322,7 @@ $messages['et'] = array( 'syntaxhighlight-specify' => 'Sa pead täpsustama keelt nõnda:', 'syntaxhighlight-supported' => 'Süntaksi esiletoomise on toetatud järgnevates keeltes:', 'syntaxhighlight-err-loading' => '(toetatud keelte loetelu laadimisel esines viga)', - 'syntaxhighlight-err-language' => 'antud keel on mittekehtiv', + 'syntaxhighlight-err-language' => 'Vigane keel.', 'geshi.css' => '/* CSS mis on asetatud siia, määrab GeSHi süntaksi esiletoomise stiili */', ); @@ -335,7 +343,7 @@ $messages['fa'] = array( 'syntaxhighlight-specify' => 'شما باید به این شکل زبانی را مشخص کنید:', 'syntaxhighlight-supported' => 'زبان‌های پشتیبانی‌شده برای رنگین‌کردن دستورات:', 'syntaxhighlight-err-loading' => '(خطا در بارگذاری فهرست زبان‌های پشتیبانی‌شده)', - 'syntaxhighlight-err-language' => 'زبان غیرمجاز.', + 'syntaxhighlight-err-language' => 'زبان نامجاز.', 'geshi.css' => '/* دستورات CSS اینجا توسط سامانه رنگین‌کردن دستورات GeSHi به کار گرفته می‌شوند */', ); @@ -657,10 +665,10 @@ $messages['km'] = array( * @author 아라 */ $messages['ko'] = array( - 'syntaxhighlight-desc' => '<syntaxhighlight> 태그로 [http://qbnz.com/highlighter/ GeSHi Highlighter]를 이용해 문법 강조 기능을 지원합니다.', - 'syntaxhighlight-specify' => '오른쪽과 같이 언어를 설정해야 합니다:', - 'syntaxhighlight-supported' => '문법 강조가 지원되는 언어 목록', - 'syntaxhighlight-err-loading' => '(지원하는 언어 목록을 불러오는 중 오류 발생)', + 'syntaxhighlight-desc' => '[http://qbnz.com/highlighter/ GeSHi Highlighter]를 사용해 <syntaxhighlight>로 문법 강조를 제공합니다', + 'syntaxhighlight-specify' => '다음과 같이 언어를 지정해야 합니다:', + 'syntaxhighlight-supported' => '문법 강조가 지원되는 언어 목록:', + 'syntaxhighlight-err-loading' => '(지원되는 언어 목록을 불러오는 중 오류)', 'syntaxhighlight-err-language' => '잘못된 언어입니다.', 'geshi.css' => '/* 이 문서에서 설정한 CSS는 GeSHi에 적용됩니다. */', ); @@ -680,10 +688,11 @@ $messages['ksh'] = array( /** Luxembourgish (Lëtzebuergesch) * @author Les Meloures * @author Robby + * @author Soued031 */ $messages['lb'] = array( 'syntaxhighlight-desc' => "Syntax-Ervirhiewung <syntaxhighlight> mat Hëllef vu [http://qbnz.com/highlighter/ 'GeSHi Highlighter']", - 'syntaxhighlight-specify' => 'Déi gewënscht Sprooch muss esou definéiert ginn:', + 'syntaxhighlight-specify' => 'Déi gewënscht Sprooch muss sou definéiert ginn:', 'syntaxhighlight-supported' => "Ënnerstëtzte Sprooche fir d'Syntax faarweg ze markéieren", 'syntaxhighlight-err-loading' => '(Feeler beim Luede vun der Lëscht vun den ënnerstëtzte Sproochen)', 'syntaxhighlight-err-language' => 'Net valabel Sprooch.', @@ -790,7 +799,7 @@ $messages['nah'] = array( 'syntaxhighlight-err-language' => 'Âmò kualli tlâtòlli', ); -/** Norwegian Bokmål (norsk (bokmål)‎) +/** Norwegian Bokmål (norsk bokmål) */ $messages['nb'] = array( 'syntaxhighlight-desc' => 'Gir syntaks som framhever <syntaxhighlight> ved hjelp av [http://qbnz.com/highlighter/ GeSHi Highlighter]', @@ -813,7 +822,7 @@ $messages['nds'] = array( 'geshi.css' => '/* CSS in disse MediaWiki-Systemnaricht warrt för dat GeSHi-Syntaxrutheven bruukt */', ); -/** Nedersaksies (Nedersaksies) +/** Low Saxon (Netherlands) (Nedersaksies) * @author Servien */ $messages['nds-nl'] = array( @@ -833,7 +842,7 @@ $messages['nl'] = array( 'geshi.css' => '/* Hier geplaatste CSS wordt toegepast op GeSHi Syntax Highlighting */', ); -/** Norwegian Nynorsk (norsk (nynorsk)‎) +/** Norwegian Nynorsk (norsk nynorsk) * @author Frokor */ $messages['nn'] = array( @@ -909,7 +918,7 @@ $messages['pms'] = array( * @author Ahmed-Najib-Biabani-Ibrahimkhel */ $messages['ps'] = array( - 'syntaxhighlight-specify' => 'بايد تاسې يوه ژبه په دې توګه ځانګړې کړی:', + 'syntaxhighlight-specify' => 'بايد تاسې يوه ژبه په دې توگه ځانگړې کړۍ:', 'syntaxhighlight-err-language' => 'ناسمه ژبه.', ); diff --git a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php index 0b6cb0c6..5372342d 100644 --- a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php +++ b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php @@ -48,7 +48,10 @@ $wgExtensionCredits['parserhook']['SyntaxHighlight_GeSHi'] = array( 'url' => 'https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi', ); -$wgSyntaxHighlightDefaultLang = null; //Change this in LocalSettings.php +// Change these in LocalSettings.php +$wgSyntaxHighlightDefaultLang = null; +$wgSyntaxHighlightKeywordLinks = false; + $dir = dirname(__FILE__) . '/'; $wgExtensionMessagesFiles['SyntaxHighlight_GeSHi'] = $dir . 'SyntaxHighlight_GeSHi.i18n.php'; $wgAutoloadClasses['SyntaxHighlight_GeSHi'] = $dir . 'SyntaxHighlight_GeSHi.class.php'; diff --git a/extensions/SyntaxHighlight_GeSHi/geshi/geshi.php b/extensions/SyntaxHighlight_GeSHi/geshi/geshi.php index 60741577..4323d05c 100644 --- a/extensions/SyntaxHighlight_GeSHi/geshi/geshi.php +++ b/extensions/SyntaxHighlight_GeSHi/geshi/geshi.php @@ -41,7 +41,7 @@ // /** The version of this GeSHi file */ -define('GESHI_VERSION', '1.0.8.11'); +define('GESHI_VERSION', '1.0.8.11-wmf1'); // WMF fix for Haskell (bug 52509) // Define the root directory for the GeSHi code tree if (!defined('GESHI_ROOT')) { diff --git a/extensions/SyntaxHighlight_GeSHi/geshi/geshi/haskell.php b/extensions/SyntaxHighlight_GeSHi/geshi/geshi/haskell.php index adae1116..d3b494ed 100644 --- a/extensions/SyntaxHighlight_GeSHi/geshi/geshi/haskell.php +++ b/extensions/SyntaxHighlight_GeSHi/geshi/geshi/haskell.php @@ -13,6 +13,14 @@ * ------- * 2005/08/27 (1.0.0) * - First Release + * 2013/09/28 + * - Single quotes dropped from QUOTEMARKS to resolve . + * Change is local to SyntaxHighlight_GeSHi, made by Ori Livneh (ori@wikimedia.org), based + * on a proposed upstream patch. + * Upstream bug report: + * + * Upstream patch (stalled since 2012): + * * * TODO (updated 2005/08/27) * ------------------------- @@ -46,7 +54,7 @@ $language_data = array ( 3 => "/{-(?:(?R)|.)-}/s", //Nested Comments ), 'CASE_KEYWORDS' => 0, - 'QUOTEMARKS' => array('"',"'"), + 'QUOTEMARKS' => array('"'), // SyntaxHighlight_GeSHi modification; see CHANGES above. 'ESCAPE_CHAR' => '\\', 'KEYWORDS' => array( /* main haskell keywords */ -- cgit v1.2.3-54-g00ecf