@@ -19,10 +19,38 @@ function updateLanguageGrep(regularExpression, text) {
19
19
return "regex='" + regex + "'\ntext='" + text + "'\necho \"$text\" | grep -E \"$text\"" ;
20
20
}
21
21
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
+
22
36
updateLanguages = [
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
+ } ,
26
54
]
27
55
28
56
function watchLanguageField ( languageField , textElement , regex ) {
@@ -34,7 +62,11 @@ function watchLanguageField(languageField, textElement, regex) {
34
62
div . classList . add ( "programming-language" )
35
63
var heading = document . createElement ( "h2" ) ;
36
64
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 ) ;
38
70
var textarea = document . createElement ( "textarea" ) ;
39
71
div . appendChild ( textarea ) ;
40
72
textareas . push ( textarea ) ;
0 commit comments