انتقل إلى المحتوى

مستخدم:HitomiAkane/ar2arz.js

من ويكيبيديا، الموسوعه الحره

ملحوظه: بعد التسييف، ممكن تحتاج تفضى كاش البراوزر بتاعك عشان تشوف التغييرات اللى عملتها، بالطريقه دى:

  • فايرفوكس وسفارى: دوس ⇧ Shift مع Reload او Ctrl-F5 او Ctrl-R (اللى هو: Command-R على ماكنتوش)
  • جوجل كروم: دوس Ctrl-Shift-R (اللى هو: Command-Shift-R على ماكنتوش)
  • انترنت اكسبلورر: دوس Ctrl مع Refresh فى نفس الوقت، او Ctrl-F5
  • كونكرر: دوس Reload او F5
  • اوبرا: فضى الكاش من Tools → Preferences
mw.loader.load('//arz.wikipedia.org/wiki/User:HitomiAkane/ar2arzReplace.js?action=raw&ctype=text/javascript');
ve.ui.myARZCommand = function VeUimyARZCommand() {
	ve.ui.myARZCommand.super.call(this,'myARZ' /*Command name*/);
};
OO.inheritClass( ve.ui.myARZCommand, ve.ui.Command );
ve.ui.myARZCommand.prototype.execute = function () {
	searchAndReplace();
	return true;
};
ve.ui.commandRegistry.register( new ve.ui.myARZCommand() );
ve.ui.myARZTool = function VeUimyARZTool() {
	ve.ui.myARZTool.super.apply( this, arguments );
};
OO.inheritClass( ve.ui.myARZTool, ve.ui.Tool );
ve.ui.myARZTool.static.name = 'myARZ';
ve.ui.myARZTool.static.group = 'insert';
ve.ui.myARZTool.static.title = 'تمصير';
ve.ui.myARZTool.static.icon = 'hieroglyph';
ve.ui.myARZTool.static.commandName = 'myARZ';
ve.ui.toolFactory.register( ve.ui.myARZTool );
function searchAndReplace( fromText, toText, replaceAll, matchCase ) {
	var surfaceModel, fragment, wikitext, data = [], onCompleteText;
	surfaceModel = ve.init.target.getSurface().getModel();
	fragment = surfaceModel.getFragment();
	if ( fragment.getSelection().isCollapsed() ) {
		surfaceModel.setLinearSelection(
			new ve.Range( 0, surfaceModel.getDocument().data.getLength() )
		);
		fragment = surfaceModel.getFragment();
		onCompleteText = true;
	}
	if ( ve.init.target.getSurface().getMode() === 'source' ) {
		// Source mode
		wikitext = fragment.getText( true ).replace( /^\n/, '' ).replace( /\n\n/g, '\n' );
		wikitext = replaceThis( wikitext );
		wikitext.split( '' ).forEach( function ( c ) {
			if ( c === '\n' ) {
				data.push( { type: '/paragraph' } );
				data.push( { type: 'paragraph' } );
			} else {
				data.push( c );
			}
		} );
		if ( onCompleteText ) {
			fragment.insertContent( wikitext );
		} else {
			fragment.insertContent( data );
		}
		if ( onCompleteText ) {
			fragment.collapseToStart().select();
		}
		return true;
	}
}

ve.ui.triggerRegistry.register(
	'myARZ',{
		mac: new ve.ui.Trigger( 'cmd+shift+y' ),
		pc: new ve.ui.Trigger( 'ctrl+shift+y' )
	}
);