Index: Padre-Plugin-JavaScript/lib/Padre/Plugin/JavaScript.pm
===================================================================
--- Padre-Plugin-JavaScript/lib/Padre/Plugin/JavaScript.pm	(Revision 9309)
+++ Padre-Plugin-JavaScript/lib/Padre/Plugin/JavaScript.pm	(Arbeitskopie)
@@ -30,19 +30,14 @@
 	return ('JavaScript' => [
 		'JavaScript Beautifier', sub { $self->js_eautifier },
 		'JavaScript Minifier',   sub { $self->js_minifier },
+		'JavaScript Syntax Check', sub { $self->js_syntax_check },
 	]);
 }
 
 sub js_eautifier {
 	my ( $self ) = @_;
-	my $main = $self->main;
+	my ($main,$src,$doc,$code) = $self->_get_code; return unless $code;
 
-	my $src = $main->current->text;
-	my $doc = $main->current->document;
-	return unless $doc;
-	my $code = $src ? $src : $doc->text_get;
-	return unless ( defined $code and length($code) );
-
 	require JavaScript::Beautifier;
 	JavaScript::Beautifier->import('js_beautify');
 		
@@ -61,14 +56,8 @@
 
 sub js_minifier {
 	my ( $self ) = @_;
-	my $main = $self->main;
+	my ($main,$src,$doc,$code) = $self->_get_code; return unless $code;
 
-	my $src = $main->current->text;
-	my $doc = $main->current->document;
-	return unless $doc;
-	my $code = $src ? $src : $doc->text_get;
-	return unless ( defined $code and length($code) );
-
 	require JavaScript::Minifier::XS;
 	JavaScript::Minifier::XS->import('minify');
 		
@@ -82,6 +71,36 @@
 	}
 }
 
+sub js_syntax_check
+{
+	my ( $self ) = @_;
+	my ($main,$src,$doc,$code) = $self->_get_code; return unless $code;
+
+	require JE;
+
+	if ( JE->new->parse($code) )
+	{
+		$main->message( Wx::gettext('Syntax ok'), 'Info' );
+	}
+	else
+	{
+		$main->message( Wx::gettext($@), 'Info' );
+	}
+}
+
+sub _get_code
+{
+	my ( $self ) = @_;
+	my $main = $self->main;
+
+	my $src = $main->current->text;
+	my $doc = $main->current->document;
+	return unless $doc;
+	my $code = $src ? $src : $doc->text_get;
+	return unless ( defined $code and length($code) );
+	return ($main,$src,$doc,$code);
+}
+
 1;
 __END__
 
Index: Padre-Plugin-JavaScript/Makefile.PL
===================================================================
--- Padre-Plugin-JavaScript/Makefile.PL	(Revision 9309)
+++ Padre-Plugin-JavaScript/Makefile.PL	(Arbeitskopie)
@@ -12,6 +12,7 @@
 requires       'Class::Autouse'          => '1.26';
 requires       'JavaScript::Beautifier'  => '0.03';
 requires       'JavaScript::Minifier::XS';
+requires       'JE';
 
 test_requires  'Test::More'              => '0.47';
 test_requires  'Test::NeedsDisplay'      => '1.05';
Index: Padre-Plugin-JavaScript/Changes
===================================================================
--- Padre-Plugin-JavaScript/Changes	(Revision 9309)
+++ Padre-Plugin-JavaScript/Changes	(Arbeitskopie)
@@ -1,4 +1,6 @@
-
+0.26    2009.11.30
+        add JE (Syntax Check)
+        
 0.25    2009.2.1
         for Padre 0.26
 
