@@ -21,13 +21,15 @@ function switchToRoutineCode (code) {
2121 return code . replace ( / ^ / , "\t" ) . replace ( / \n / g, "\n\t" ) ;
2222}
2323
24- export function getCodeCaptionView ( { manifest , name , data, savePath } ) {
24+ export function getCodeCaptionView ( { memberManifest , codePropertyName , data, savePath } ) {
2525
2626 let div = block ( `div` , `property-block` ) ,
2727 header = block ( `div` ) ,
2828 editBlock = block ( `div` , `editor` ) ,
29- code = ( data [ name ] || "" ) . replace ( / \r ? \n $ / , `` ) ,
30- returnTypeProp = ( manifest [ name ] || { } ) [ "returnTypeProperty" ] || `` ,
29+ code = ( data [ codePropertyName ] || "" ) . replace ( / \r ? \n $ / , `` ) ,
30+ keywordManifest = ( memberManifest [ codePropertyName ] || { } ) ,
31+ returnTypeProp = keywordManifest [ "returnTypeProperty" ] || `` ,
32+ formalSpecProperty = keywordManifest [ "formalSpecProperty" ] || `` ,
3133 ROUTINE_SUPPORT = hasRoutineCode ( code ) ,
3234 useRoutinesToggle = toggle ( ROUTINE_SUPPORT ) ,
3335 useRoutinesBlock = block ( `div` , `property-block` ) ,
@@ -42,27 +44,36 @@ export function getCodeCaptionView ({ manifest, name, data, savePath }) {
4244
4345 function saveChanges ( ) {
4446 let value = editor . getValue ( ) ;
45- addChange ( savePath . concat ( name ) , ROUTINE_SUPPORT ? value : switchToRoutineCode ( value ) ) ;
47+ addChange (
48+ savePath . concat ( codePropertyName ) ,
49+ ROUTINE_SUPPORT ? value : switchToRoutineCode ( value )
50+ ) ;
4651 }
4752
4853 nb . textContent = `Use Routines` ;
4954 vb . appendChild ( useRoutinesToggle ) ;
5055 useRoutinesBlock . appendChild ( nb ) ;
5156 useRoutinesBlock . appendChild ( vb ) ;
52- signatureElem . appendChild ( block ( `span` , `secondary` , `Takes ` ) ) ;
53- signatureElem . appendChild ( getFormalSpecEditor ( {
54- formalSpec : data [ `FormalSpec` ] ,
55- savePath : savePath . concat ( `FormalSpec` )
56- } ) ) ;
57+ if ( formalSpecProperty ) {
58+ signatureElem . appendChild ( block ( `span` , `secondary` , `Takes ` ) ) ;
59+ signatureElem . appendChild ( getFormalSpecEditor ( {
60+ formalSpec : data [ `FormalSpec` ] ,
61+ savePath : savePath . concat ( `FormalSpec` )
62+ } ) ) ;
63+ }
5764 if ( returnTypeProp ) {
58- signatureElem . appendChild ( block ( `span` , `secondary` , ` Returns ` ) ) ;
65+ signatureElem . appendChild (
66+ block ( `span` , `secondary` , `${ formalSpecProperty ? " " : "" } Returns ` )
67+ ) ;
5968 signatureElem . appendChild ( typeInput ) ;
6069 typeInput . addEventListener ( `input` , ( ) => {
6170 addChange ( savePath . concat ( returnTypeProp ) , typeInput . value ) ;
6271 } ) ;
6372 }
6473 header . appendChild ( signatureElem ) ;
65- header . appendChild ( useRoutinesBlock ) ;
74+
75+ if ( keywordManifest [ "routineSwitchSupport" ] )
76+ header . appendChild ( useRoutinesBlock ) ;
6677
6778 useRoutinesToggle . checkbox . addEventListener ( "change" , ( ) => {
6879 let value = editor . getValue ( ) ,
0 commit comments