   onMousewheel: (event) ->
     @refs.verticalScrollbar.getDOMNode().scrollTop -= event.wheelDeltaY
     event.preventDefault()
+
+  onInput: (char, replaceLastChar) ->
+    console.log char, replaceLastChar
+
+    @props.editor.insertText(char)
 
   onScreenLinesChanged: ({start, end}) ->
     [visibleStart, visibleEnd] = @getVisibleRowRange()

    followingHeight = (lineCount - endRow) * @state.lineHeight

    div className: 'lines', ref: 'lines', style: {WebkitTransform: "translateY(#{-@state.scrollTop}px)"}, [
      div className: 'spacer', key: 'top-spacer', style: {height: precedingHeight}
      (for tokenizedLine in @props.editor.linesForScreenRows(startRow, endRow - 1)
        LineComponent({tokenizedLine, key: tokenizedLine.id}))...

punycode = require 'punycode'
{React, div, span, input} = require 'reactionary'
{last} = require 'underscore-plus'
{$$} = require 'space-pencil'

