@@ -13,9 +13,16 @@ function updateLanguageJavaScript(regularExpression, text) {
1313 return "regex = " + regex + ";\ntext = " + text + ";\nalert(RegExp(regex).exec(text))" ;
1414}
1515
16+ function updateLanguageGrep ( regularExpression , text ) {
17+ var regex = regularExpression . replace ( / ' / g, '\'"\'"\'' ) ;
18+ var text = text . replace ( / ' / g, '\'"\'"\'' ) ;
19+ return "regex='" + regex + "'\ntext='" + text + "'\necho \"$text\" | grep -E \"$text\"" ;
20+ }
21+
1622updateLanguages = [
1723 { "name" : "Python" , "update" : updateLanguagePython } ,
1824 { "name" : "JavaScript" , "update" : updateLanguageJavaScript } ,
25+ { "name" : "Grep in Linux Shell" , "update" : updateLanguageGrep } ,
1926]
2027
2128function watchLanguageField ( languageField , textElement , regex ) {
@@ -36,7 +43,10 @@ function watchLanguageField(languageField, textElement, regex) {
3643 for ( var i = 0 ; i < updateLanguages . length ; i ++ ) {
3744 var textarea = textareas [ i ] ;
3845 var programUpdate = updateLanguages [ i ] . update ;
39- textarea . value = programUpdate ( regex . value , textElement . value ) ;
46+ var text = programUpdate ( regex . value , textElement . value ) ;
47+ textarea . value = text ;
48+ var lines = ( text . match ( / \n / g) || [ ] ) . length + 1 ;
49+ textarea . rows = lines ;
4050 }
4151 }
4252 regex . onkeyup = update ;
0 commit comments