@@ -93,38 +93,38 @@ export class JupyterlabNotebookCodeFormatter extends JupyterlabCodeFormatter {
93
93
}
94
94
95
95
private getNotebookType ( ) : string | null {
96
+ // If there is no current notebook, there is nothing to do
96
97
if ( ! this . notebookTracker . currentWidget ) {
97
98
return null ;
98
99
}
99
100
101
+ // first, check the notebook's metadata for language info
100
102
const metadata =
101
103
this . notebookTracker . currentWidget . content . model ?. sharedModel ?. metadata ;
102
104
103
- if ( ! metadata ) {
104
- return null ;
105
- }
106
-
107
- // prefer kernelspec language
108
- if (
109
- metadata . kernelspec &&
110
- metadata . kernelspec . language &&
111
- typeof metadata . kernelspec . language === 'string'
112
- ) {
113
- return metadata . kernelspec . language . toLowerCase ( ) ;
114
- }
105
+ if ( metadata ) {
106
+ // prefer kernelspec language
107
+ if (
108
+ metadata . kernelspec &&
109
+ metadata . kernelspec . language &&
110
+ typeof metadata . kernelspec . language === 'string'
111
+ ) {
112
+ return metadata . kernelspec . language . toLowerCase ( ) ;
113
+ }
115
114
116
- // otherwise, check language info code mirror mode
117
- if ( metadata . language_info && metadata . language_info . codemirror_mode ) {
118
- const mode = metadata . language_info . codemirror_mode ;
119
- if ( typeof mode === 'string' ) {
120
- return mode . toLowerCase ( ) ;
121
- } else if ( typeof mode . name === 'string' ) {
122
- return mode . name . toLowerCase ( ) ;
115
+ // otherwise, check language info code mirror mode
116
+ if ( metadata . language_info && metadata . language_info . codemirror_mode ) {
117
+ const mode = metadata . language_info . codemirror_mode ;
118
+ if ( typeof mode === 'string' ) {
119
+ return mode . toLowerCase ( ) ;
120
+ } else if ( typeof mode . name === 'string' ) {
121
+ return mode . name . toLowerCase ( ) ;
122
+ }
123
123
}
124
124
}
125
125
126
- // finally, try to get the language from the current session's kernel spec
127
- const sessionContext = this . notebookTracker . currentWidget ? .sessionContext ;
126
+ // in the absence of metadata, look in the current session's kernel spec
127
+ const sessionContext = this . notebookTracker . currentWidget . sessionContext ;
128
128
const kernelName = sessionContext ?. session ?. kernel ?. name ;
129
129
if ( kernelName ) {
130
130
const specs = sessionContext . specsManager . specs ?. kernelspecs ;
0 commit comments