@@ -31,20 +31,21 @@ $(function () {
3131 else source = 'already exists\n'
3232 let header = sourceLines [ 0 ]
3333 // Remove a newline or similar character at the end of header:
34- if ( header . charCodeAt ( header . length - 1 ) < 32 )
35- header = header . substring ( 0 , header . length - 1 )
34+ if ( header . charCodeAt ( header . length - 1 ) < 32 ) header = header . substring ( 0 , header . length - 1 )
3635 let rest = source . substr ( sourceLines [ 0 ] . length + 1 )
37- let ret = {
36+ let ret = {
3837 version : null ,
3938 lang : '' , // 'vpython' (default) or 'javascript' or a string that is neither (e.g. when editing header)
39+ nodictionary : false ,
4040 source : rest ,
4141 ok : false ,
4242 unpackaged : false ,
4343 isCurrent : false
4444 }
4545 // Here are the possible headers (version can be for example 3.2 or 3.3dev)
4646 // 2 entries: 'JavaScript 3.2', 'GlowScript 3.2'
47- // 3 entries: 'GlowScript 3.2 VPython', 'GlowScript 3.2 JavaScript', 'Web VPython 3.2', Web VPython 3.3dev
47+ // 3 entries: 'GlowScript 3.2 VPython', 'GlowScript 3.2 JavaScript', 'Web VPython 3.2', 'Web VPython 3.3dev'
48+ // 4 entries: 'GlowScript 3.2 VPython nodictionary', 'Web VPython 3.2 nodictionary'
4849 header = header . toLowerCase ( )
4950 header = header . split ( " " )
5051 if ( header . length === undefined ) return ret
@@ -53,14 +54,14 @@ $(function () {
5354 for ( let i = 0 ; i < header . length ; i ++ ) { // remove empty strings corresponding to spaces
5455 if ( header [ i ] != '' ) elements . push ( header [ i ] )
5556 }
56- if ( elements . length < 2 || elements . length > 3 ) return ret
57+ if ( elements . length < 2 || elements . length > 4 ) return ret
5758 if ( elements [ 0 ] != 'glowscript' && elements [ 0 ] != 'web' && elements [ 0 ] != 'javascript' ) return ret
5859 let ver
5960 if ( elements . length == 2 ) {
6061 if ( elements [ 0 ] != 'glowscript' && elements [ 0 ] != 'javascript' ) return ret
6162 ret . lang = 'javascript'
6263 ver = elements [ 1 ]
63- } else {
64+ } else if ( elements . length == 3 ) {
6465 if ( elements [ 0 ] == 'web' && elements [ 1 ] == 'vpython' ) {
6566 ret . lang = 'vpython'
6667 ver = elements [ 2 ]
@@ -70,15 +71,25 @@ $(function () {
7071 ret . lang = elements [ 2 ]
7172 ver = elements [ 1 ]
7273 }
74+ } else { // 4 elements
75+ if ( elements [ 0 ] == 'web' && elements [ 1 ] == 'vpython' ) {
76+ ret . lang = 'vpython'
77+ ver = elements [ 2 ]
78+ if ( elements [ 3 ] == 'nodictionary' ) ret . nodictionary = true
79+ else return ret
80+ }
7381 }
82+
7483 let okv = parseVersionHeader . okVersions [ ver ]
7584 if ( okv === undefined ) okv = false
7685 // Prior to version 3.0, we stripped the header line from the source:
7786 else if ( Number ( okv ) < 3.0 ) source = source . substr ( sourceLines [ 0 ] . length + 1 )
7887 let unpackaged = ( okv === "unpackaged" )
88+ console . log ( 'ide 88' , ret )
7989 return {
8090 version : okv ,
8191 lang : ret . lang ,
92+ nodictionary : ret . nodictionary ,
8293 source : source ,
8394 ok : okv ,
8495 unpackaged :unpackaged ,
@@ -1133,7 +1144,9 @@ $(function () {
11331144 var header = parseVersionHeader ( progData . source )
11341145 if ( header . ok ) {
11351146 haveScreenshot = progData . screenshot != ""
1136- sendMessage ( JSON . stringify ( { program : header . source , version : header . version , lang : header . lang , unpackaged : header . unpackaged , autoscreenshot :isWritable && ! haveScreenshot } ) )
1147+ sendMessage ( JSON . stringify ( { program : header . source , version : header . version ,
1148+ lang : header . lang , nodictionary : header . nodictionary , unpackaged : header . unpackaged ,
1149+ autoscreenshot :isWritable && ! haveScreenshot } ) )
11371150 } else {
11381151 if ( $dialog ) $dialog . dialog ( "close" )
11391152 $dialog = $ ( "#version-error-dialog" ) . clone ( ) . removeClass ( "template" )
@@ -1324,9 +1337,11 @@ $(function () {
13241337 if ( header . source . indexOf ( 'MathJax' ) >= 0 )
13251338 mathjax = '<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML"></script>\n'
13261339
1327- var embedScript = window . glowscript_compile ( header . source ,
1328- { lang : header . lang , version : header . version . substr ( 0 , 3 ) , run : false } )
1329- var divid = "glowscript"
1340+ var embedScript = window . glowscript_compile ( header . source ,
1341+ { lang : header . lang , version : header . version . substr ( 0 , 3 ) ,
1342+ run : false , nodictionary : header . nodictionary } )
1343+ console . log ( 'ide 1343' , embedScript )
1344+ var divid = "glowscript"
13301345 var remove = header . version === '0.3' ? '' : '.removeAttr("id")'
13311346 var main
13321347 var v = Number ( header . version . substr ( 0 , 3 ) )
0 commit comments