mirror of
https://github.com/jupyter/notebook.git
synced 2025-02-05 12:19:58 +08:00
Move language info from kernelspec to kernel_info_reply
This commit is contained in:
parent
a58b215421
commit
9c7d73a05e
@ -207,9 +207,18 @@ define([
|
||||
});
|
||||
|
||||
this.events.on('spec_changed.Kernel', function(event, data) {
|
||||
that.set_kernelspec_metadata(data);
|
||||
that.metadata.kernelspec =
|
||||
{name: data.name, display_name: data.display_name};
|
||||
});
|
||||
|
||||
this.events.on('kernel_ready.Kernel', function(event, data) {
|
||||
var kinfo = data.kernel.info_reply
|
||||
var langinfo = kinfo.language_info || {};
|
||||
if (!langinfo.name) langinfo.name = kinfo.language;
|
||||
|
||||
that.metadata.language_info = langinfo;
|
||||
// Mode 'null' should be plain, unhighlighted text.
|
||||
cm_mode = data.codemirror_mode || data.language || 'null'
|
||||
var cm_mode = langinfo.codemirror_mode || langinfo.language || 'null'
|
||||
that.set_codemirror_mode(cm_mode);
|
||||
});
|
||||
|
||||
@ -329,21 +338,11 @@ define([
|
||||
md: this.metadata,
|
||||
callback: function (md) {
|
||||
that.metadata = md;
|
||||
},
|
||||
},
|
||||
name: 'Notebook',
|
||||
notebook: this,
|
||||
keyboard_manager: this.keyboard_manager});
|
||||
};
|
||||
|
||||
Notebook.prototype.set_kernelspec_metadata = function(ks) {
|
||||
var tostore = {};
|
||||
$.map(ks, function(value, field) {
|
||||
if (field !== 'argv' && field !== 'env') {
|
||||
tostore[field] = value;
|
||||
}
|
||||
});
|
||||
this.metadata.kernelspec = tostore;
|
||||
}
|
||||
|
||||
// Cell indexing, retrieval, etc.
|
||||
|
||||
@ -1811,6 +1810,14 @@ define([
|
||||
this.events.trigger('spec_changed.Kernel', this.metadata.kernelspec);
|
||||
}
|
||||
|
||||
// Set the codemirror mode from language_info metadata
|
||||
if (this.metadata.language_info !== undefined) {
|
||||
var langinfo = this.metadata.language_info;
|
||||
// Mode 'null' should be plain, unhighlighted text.
|
||||
var cm_mode = langinfo.codemirror_mode || langinfo.language || 'null'
|
||||
this.set_codemirror_mode(cm_mode);
|
||||
}
|
||||
|
||||
// Only handle 1 worksheet for now.
|
||||
var worksheet = content.worksheets[0];
|
||||
if (worksheet !== undefined) {
|
||||
|
@ -46,6 +46,7 @@ define([
|
||||
this.username = "username";
|
||||
this.session_id = utils.uuid();
|
||||
this._msg_callbacks = {};
|
||||
this.info_reply = {}; // kernel_info_reply stored here after starting
|
||||
|
||||
if (typeof(WebSocket) !== 'undefined') {
|
||||
this.WebSocket = WebSocket;
|
||||
@ -398,7 +399,8 @@ define([
|
||||
this.events.trigger('kernel_starting.Kernel', {kernel: this});
|
||||
// get kernel info so we know what state the kernel is in
|
||||
var that = this;
|
||||
this.kernel_info(function () {
|
||||
this.kernel_info(function (reply) {
|
||||
that.info_reply = reply.content;
|
||||
that.events.trigger('kernel_ready.Kernel', {kernel: that});
|
||||
});
|
||||
};
|
||||
@ -925,7 +927,8 @@ define([
|
||||
} else if (execution_state === 'starting') {
|
||||
this.events.trigger('kernel_starting.Kernel', {kernel: this});
|
||||
var that = this;
|
||||
this.kernel_info(function () {
|
||||
this.kernel_info(function (reply) {
|
||||
that.info_reply = reply.content;
|
||||
that.events.trigger('kernel_ready.Kernel', {kernel: that});
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user