@@ -19,10 +19,38 @@ function updateLanguageGrep(regularExpression, text) {
1919 return "regex='" + regex + "'\ntext='" + text + "'\necho \"$text\" | grep -E \"$text\"" ;
2020}
2121
22+ function updateLanguageGo ( regularExpression , text ) {
23+ var regex = regularExpression . replace ( / " / g, '\"' ) ;
24+ var text = text . replace ( / " / g, '\"' ) ;
25+ return 'package main\n\n' +
26+ 'import "fmt"\n' +
27+ 'import "regexp"\n\n' +
28+ 'func main() {\n' +
29+ ' regex := "' + regex + '"\n' +
30+ ' text := "' + text + '"\n\n' +
31+ ' r, _ := regexp.Compile(regex)\n\n' +
32+ ' fmt.Println(r.FindAllString(text, -1))\n' +
33+ '}' ;
34+ }
35+
2236updateLanguages = [
23- { "name" : "Python" , "update" : updateLanguagePython } ,
24- { "name" : "JavaScript" , "update" : updateLanguageJavaScript } ,
25- { "name" : "Grep in Linux Shell" , "update" : updateLanguageGrep } ,
37+ {
38+ "name" : "Python" ,
39+ "update" : updateLanguagePython ,
40+ "online" : "http://pythontutor.com/visualize.html#mode=edit" ,
41+ } , {
42+ "name" : "JavaScript" ,
43+ "update" : updateLanguageJavaScript ,
44+ "online" : "https://jsfiddle.net/" ,
45+ } , {
46+ "name" : "Grep in Linux Shell" ,
47+ "update" : updateLanguageGrep ,
48+ "online" : "http://www.tutorialspoint.com/execute_bash_online.php" ,
49+ } , {
50+ "name" : "Go" ,
51+ "update" : updateLanguageGo ,
52+ "online" : "https://play.golang.org/" ,
53+ } ,
2654]
2755
2856function watchLanguageField ( languageField , textElement , regex ) {
@@ -34,7 +62,11 @@ function watchLanguageField(languageField, textElement, regex) {
3462 div . classList . add ( "programming-language" )
3563 var heading = document . createElement ( "h2" ) ;
3664 heading . innerText = lang . name ;
37- div . appendChild ( heading ) ;
65+ var link = document . createElement ( "a" ) ;
66+ link . href = lang . online ;
67+ link . appendChild ( heading )
68+ link . target = "_blank" ;
69+ div . appendChild ( link ) ;
3870 var textarea = document . createElement ( "textarea" ) ;
3971 div . appendChild ( textarea ) ;
4072 textareas . push ( textarea ) ;
0 commit comments