75 lines
2.7 KiB
JavaScript
75 lines
2.7 KiB
JavaScript
/**
|
|
* Markdown Language Definition
|
|
*
|
|
* A language definition for string manipulation operations, in this case
|
|
* for the Markdown, uh, markup language. Uses regexes for various functions
|
|
* by default. If regexes won't do and you need to do some serious
|
|
* manipulation, you can declare a function in the object instead.
|
|
*
|
|
* Code example:
|
|
* 'functionbar-id' : {
|
|
* exec: function(text, selectedText) {
|
|
* functionStuffHere();
|
|
* },
|
|
* search: /somesearchregex/gi,
|
|
* replace: 'replace text for RegExp.replace',
|
|
* append: "just add this where the cursor is"
|
|
* }
|
|
*
|
|
**/
|
|
(function($) {
|
|
|
|
var RDoc = {
|
|
|
|
'function-bold' : {
|
|
search: /([^\n]+)([\n\s]*)/g,
|
|
replace: "((*$1*))$2"
|
|
},
|
|
'function-code' : {
|
|
search: /([^\n]+)([\n\s]*)/g,
|
|
replace: "(({$1}))$2"
|
|
},
|
|
|
|
'function-ul' : {
|
|
search: /(.+)([\n]?)/gi,
|
|
replace: "* $1$2"
|
|
},
|
|
|
|
'function-ol' : {
|
|
exec: function( txt, selText, $field ) {
|
|
var count = 1;
|
|
// split into lines
|
|
var repText = '';
|
|
var lines = selText.split("\n");
|
|
var hasContent = /[\w]+/;
|
|
for ( var i = 0; i < lines.length; i++ ) {
|
|
if ( hasContent.test(lines[i]) ) {
|
|
repText += '(' + (i + 1).toString() + ') ' +
|
|
lines[i];
|
|
}
|
|
}
|
|
$.GollumEditor.replaceSelection( repText );
|
|
}
|
|
},
|
|
|
|
'function-h1' : {
|
|
search: /(.+)([\n]?)/gi,
|
|
replace: "= $1$2"
|
|
},
|
|
|
|
'function-h2' : {
|
|
search: /(.+)([\n]?)/gi,
|
|
replace: "== $1$2"
|
|
},
|
|
|
|
'function-h3' : {
|
|
search: /(.+)([\n]?)/gi,
|
|
replace: "=== $1$2"
|
|
}
|
|
|
|
};
|
|
|
|
$.GollumEditor.defineLanguage('rdoc', RDoc);
|
|
|
|
})(jQuery);
|