wikimedia/mediawiki-extensions-VisualEditor

View on GitHub
modules/ve-mw/ui/ve.ui.MWWikitextTransferRegistry.js

Summary

Maintainability
A
0 mins
Test Coverage
/*!
 * VisualEditor MediaWiki WikitextTransferRegistry and registrations.
 *
 * @copyright See AUTHORS.txt
 * @license The MIT License (MIT); see LICENSE.txt
 */

/**
 * Heuristic patterns which attempts to discover wikitext, without
 * incurring too many false positives.
 *
 * Rules can be regular expressions or strings
 */
ve.ui.mwWikitextTransferRegistry = new OO.Registry();

ve.ui.mwWikitextTransferRegistry.register(
    'heading',
    // ==...== on a single line of max 80 characters
    /(^\s*(={2,6})[^=\r\n]{1,80}\2\s*$)/m
);

ve.ui.mwWikitextTransferRegistry.register(
    'internalLink',
    '[['
);

ve.init.platform.getInitializedPromise().done( () => {
    ve.ui.mwWikitextTransferRegistry.register(
        'externalLink',
        // [url label]
        new RegExp(
            '\\[' + ve.init.platform.getUnanchoredExternalLinkUrlProtocolsRegExp().source + '\\S+ [^\\]]+\\]',
            'i'
        )
    );
} );

ve.ui.mwWikitextTransferRegistry.register(
    'template',
    '{{'
);