                      cb()
              ])
             )()
+
+        if mesg.show?
+            if opts.mark?
+                line = opts.mark.find()?.from.line
+                if line?
+                    cell = @cell(line)
+                    if cell?
+                        switch mesg.show
+                            when 'input'
+                                cell.remove_cell_flag(FLAGS.hide_input)
+                            when 'output'
+                                cell.remove_cell_flag(FLAGS.hide_output)
+
+        if mesg.hide?
+            if opts.mark?
+                line = opts.mark.find()?.from.line
+                if line?
+                    cell = @cell(line)
+                    if cell?
+                        switch mesg.hide
+                            when 'input'
+                                cell.set_cell_flag(FLAGS.hide_input)
+                            when 'output'
+                                cell.set_cell_flag(FLAGS.hide_output)
+
+        if mesg.auto?
+            if opts.mark?
+                line = opts.mark.find()?.from.line
+                if line?
+                    cell = @cell(line)
+                    if cell?
+                        if mesg.auto
+                            cell.set_cell_flag(FLAGS.auto)
+                        else
+                            cell.remove_cell_flag(FLAGS.auto)
 
         if mesg.done? and mesg.done
             output.removeClass('sagews-output-running')

async = require('async')

{ MARKERS, FLAGS, ACTION_FLAGS } = require('diffsync')

{SynchronizedDocument} = require('./syncdoc')


            @process_html_output(e)

        if mesg.interact?
            @interact(output, mesg.interact, opts.mark)

        if mesg.d3?
            e = $("<span>")
