@@ -13,9 +13,16 @@ function updateLanguageJavaScript(regularExpression, text) {
13
13
return "regex = " + regex + ";\ntext = " + text + ";\nalert(RegExp(regex).exec(text))" ;
14
14
}
15
15
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
+
16
22
updateLanguages = [
17
23
{ "name" : "Python" , "update" : updateLanguagePython } ,
18
24
{ "name" : "JavaScript" , "update" : updateLanguageJavaScript } ,
25
+ { "name" : "Grep in Linux Shell" , "update" : updateLanguageGrep } ,
19
26
]
20
27
21
28
function watchLanguageField ( languageField , textElement , regex ) {
@@ -36,7 +43,10 @@ function watchLanguageField(languageField, textElement, regex) {
36
43
for ( var i = 0 ; i < updateLanguages . length ; i ++ ) {
37
44
var textarea = textareas [ i ] ;
38
45
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 ;
40
50
}
41
51
}
42
52
regex . onkeyup = update ;
0 commit comments