Devel-IPerl

 view release on metacpan or  search on metacpan

lib/Devel/IPerl/Kernel/Callback.pm  view on Meta::CPAN

use strict;
use warnings;

use Moo;
use Devel::IPerl::Message::Helper;
use namespace::autoclean;

sub msg_kernel_info_request {
	my ($self, $kernel, $msg ) = @_;

	### send kernel status : busy
	my $status_busy = Devel::IPerl::Message::Helper->kernel_status( $msg, 'busy' );
	$kernel->send_message( $kernel->iopub, $status_busy );

	my $reply = $msg->new_reply_to(
		msg_type => 'kernel_info_reply',
		content => {
			protocol_version => '5.0',
			implementation => 'iperl',
			implementation_version => $Devel::IPerl::VERSION // '0.0.0',
			language_info => {
				name => 'perl',
				version => substr($^V, 1), # 1 character past the 'v' prefix

lib/Devel/IPerl/Kernel/Callback.pm  view on Meta::CPAN

	$kernel->send_message( $kernel->shell, $reply );

	### send kernel status : idle
	my $status_idle = Devel::IPerl::Message::Helper->kernel_status( $msg, 'idle' );
	$kernel->send_message( $kernel->iopub, $status_idle );
}

sub msg_shutdown_request {
	my ($self, $kernel, $msg) = @_;

	### send kernel status : busy
	my $status_busy = Devel::IPerl::Message::Helper->kernel_status( $msg, 'busy' );
	$kernel->send_message( $kernel->iopub, $status_busy );

	my $shutdown_reply = $msg->new_reply_to(
		msg_type => 'shutdown_reply',
		content => {
			restart => 0, # TODO take $msg->restart into account
		}
	);
	$kernel->send_message( $kernel->shell, $shutdown_reply );
	$kernel->stop;

lib/Devel/IPerl/Kernel/Callback/REPL.pm  view on Meta::CPAN


sub display_data_from_exec_result {
	my ($self, $kernel, $msg, $exec_result) = @_;
	$self->display_data( @{ $exec_result->results || [] } );
}


sub msg_execute_request {
	my ($self, $kernel, $msg ) = @_;

	### send kernel status : busy
	my $status_busy = Devel::IPerl::Message::Helper->kernel_status( $msg, 'busy' );
	$log->tracef('send kernel status: %s', 'busy');
	$kernel->send_message( $kernel->iopub, $status_busy );

	### Send back execution status
	my $exec_result = $self->execute( $kernel, $msg );
	$self->execute_reply( $kernel, $msg, $exec_result );

	### send kernel status : idle
	my $status_idle = Devel::IPerl::Message::Helper->kernel_status( $msg, 'idle' );
	$log->tracef('send kernel status: %s', 'idle');
	$kernel->send_message( $kernel->iopub, $status_idle );
}

lib/Devel/IPerl/Kernel/Callback/REPL.pm  view on Meta::CPAN

			execution_count => $self->execution_count,
			%extra_fields,
		}
	);
	$kernel->send_message( $kernel->shell, $execute_reply );
}

sub msg_complete_request {
	my ($self, $kernel, $msg, $socket ) = @_;

	### send kernel status : busy
	my $status_busy = Devel::IPerl::Message::Helper->kernel_status( $msg, 'busy' );
	$kernel->send_message( $kernel->iopub, $status_busy );

	my $code = $msg->content->{code};
	my $cursor_pos = $msg->content->{cursor_pos};

	my @matches = ();
	my $metadata = {};
	my ($status, $cursor_start, $cursor_end);
	my $matched_text = "";
	if( $self->backend->can('completion') ) {
		try {

lib/Devel/IPerl/Kernel/Callback/REPL.pm  view on Meta::CPAN

	$kernel->send_message( $kernel->shell, $complete_reply );

	### send kernel status : idle
	my $status_idle = Devel::IPerl::Message::Helper->kernel_status( $msg, 'idle' );
	$kernel->send_message( $kernel->iopub, $status_idle );
}

sub msg_is_complete_request {
    my ($self, $kernel, $msg, $socket ) = @_;

    ### send kernel status : busy
    my $status_busy = Devel::IPerl::Message::Helper->kernel_status( $msg, 'busy' );
    $kernel->send_message( $kernel->iopub, $status_busy );

    my $content;
    if ($self->backend->is_complete( $msg->{content}{code} )) {
        $content = {
            status => 'complete',
        };
    } else {
        $content = {
            status => 'incomplete',
            indent => '',



( run in 0.238 second using v1.01-cache-2.11-cpan-87723dcf8b7 )