diff --git a/styles/syntaxhighlighter-editor-style.css b/styles/syntaxhighlighter-editor-style.css new file mode 100644 index 0000000..6911837 --- /dev/null +++ b/styles/syntaxhighlighter-editor-style.css @@ -0,0 +1,22 @@ +/** + * SyntaxHighlighter Evolved + * + * A
 specific reset for the WordPress tinymce visual editor
+ * Syntax Hightlighter Evolved passes unescaped output 
+ * to the tiny mce editor within 
 wrapped shortcodes.
+ *
+ * This protects the shortcode content in this instance 
+ * from being styled by user-agent styles
+ * and/or the theme's editor styles.
+ * 
+ */
+
+pre *
+{
+background:inherit;
+color: inherit;
+font: inherit;
+line-height: inherit;
+margin:0;
+padding:0;
+}
\ No newline at end of file
diff --git a/syntaxhighlighter.php b/syntaxhighlighter.php
index 07e3e67..5ad76c4 100644
--- a/syntaxhighlighter.php
+++ b/syntaxhighlighter.php
@@ -76,6 +76,7 @@ function __construct() {
 		add_filter( 'tiny_mce_version',                   array( $this, 'break_tinymce_cache' ) );
 		add_filter( 'save_post',                          array( $this, 'mark_as_encoded' ),                               10, 2 );
 		add_filter( 'plugin_action_links',                array( $this, 'settings_link' ),                                 10, 2 );
+		add_filter( 'mce_css',                            array( $this, 'editor_style' ) );
 
 		// Register widget hooks
 		// Requires change added in WordPress 2.9
@@ -305,6 +306,14 @@ function settings_link( $links, $file ) {
 		return $links;
 	}
 
+	function editor_style( $mce_css ) {
+		if ( ! empty( $mce_css ) )
+			$mce_css .= ',';
+	
+		$mce_css .= plugins_url( 'syntaxhighlighter/styles/syntaxhighlighter-editor-style.css' );
+	
+		return $mce_css;
+	}
 
 	// Output list of shortcode tags for the TinyMCE plugin
 	function output_shortcodes_for_tinymce() {