Pastakhov has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/364157 )

Change subject: Add highlighting of double underscore Magic Words as __TOC__
......................................................................

Add highlighting of double underscore Magic Words as __TOC__

For testing:
__NOTOC__
___NOTOC___
____NOTOC____
_____NOTOC_____
______NO!TOC__NOTOC____
______NO{{TOC}}_____
______NO[[TOC]]_____
______NO'''TOC'''_____
__nOtOc__
FFFFF___NOtoc______

Bug: T170041
Change-Id: I0b2cfd02550c2685d241bdf3596507c5972878d5
---
M resources/mode/mediawiki/mediawiki.css
M resources/mode/mediawiki/mediawiki.js
2 files changed, 18 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CodeMirror 
refs/changes/57/364157/1

diff --git a/resources/mode/mediawiki/mediawiki.css 
b/resources/mode/mediawiki/mediawiki.css
index 7a5f98d..b9ae363 100644
--- a/resources/mode/mediawiki/mediawiki.css
+++ b/resources/mode/mediawiki/mediawiki.css
@@ -8,7 +8,7 @@
 
 .cm-mw-skipformatting { background-color: #adf; }
 .cm-mw-list { color: #08f; font-weight: bold; }
-.cm-mw-signature, .cm-mw-hr { color: #08f; font-weight: bold; 
background-color: #eee; }
+.cm-mw-doubleUnderscore, .cm-mw-signature, .cm-mw-hr { color: #08f; 
font-weight: bold; background-color: #eee; }
 .cm-mw-indenting { color: #08f; font-weight: bold; background-color: #ddd; }
 .cm-mw-mnemonic { color: #090; }
 .cm-mw-comment { color: #aaa; font-weight: normal; }
diff --git a/resources/mode/mediawiki/mediawiki.js 
b/resources/mode/mediawiki/mediawiki.js
index 0115b9f..32f4e08 100644
--- a/resources/mode/mediawiki/mediawiki.js
+++ b/resources/mode/mediawiki/mediawiki.js
@@ -807,6 +807,23 @@
                                                        return 'mw-signature';
                                                }
                                                break;
+                                       case '_': // Maybe double undescored 
Magic Word as __TOC__
+                                               tmp = 1;
+                                               while ( stream.eat( '_' ) ) { 
// Optimize processing of many underscore symbols
+                                                       tmp++;
+                                               }
+                                               if ( tmp > 2 ) { // Many 
underscore symbols
+                                                       stream.backUp( 2 ); // 
Leave last two underscore symbols for processing again in next iteration
+                                               } else if ( tmp === 2 ) { // 
Check on double underscore Magic Word
+                                                       name = stream.match( 
/([^\s\u00a0\}\[\]<\{\'\|\&\:]+?)__/ );
+                                                       if ( name && name[ 0 ] 
) {
+                                                               if ( '__' + 
name[ 0 ].toLowerCase() in mwConfig.doubleUnderscore[ 0 ] || '__' + name[ 0 ] 
in mwConfig.doubleUnderscore[ 1 ] ) {
+                                                                       return 
'mw-doubleUnderscore';
+                                                               }
+                                                               stream.backUp( 
2 ); // Two underscore symbols at the end can be begining of other double 
undescored Magic Word
+                                                       }
+                                               }
+                                               return makeStyle( style, state 
);
                                        default:
                                                if ( /[\s\u00a0]/.test( ch ) ) {
                                                        stream.eatSpace();

-- 
To view, visit https://gerrit.wikimedia.org/r/364157
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0b2cfd02550c2685d241bdf3596507c5972878d5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CodeMirror
Gerrit-Branch: master
Gerrit-Owner: Pastakhov <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to