hunk.code_window:     // Otherwise, determine the Slate selection from the native one.
       else {
         const { anchorNode, anchorOffset, focusNode, focusOffset } = native
         const anchor = this.getPoint(anchorNode, anchorOffset)
         const focus = this.getPoint(focusNode, focusOffset)
         // There are valid situations where a select event will fire when we're
         // already at that position (for example when entering a character), since
  
hunk.labels: keep keep keep keep add keep keep keep
hunk.after_edit:       if (!anchor || !focus) return
  
hunk.file_path: src/components/content.js
hunk.type: add
file: 
  import assert from 'assert'
  import path from 'path'
  import readMetadata from 'read-metadata'
  import { Raw } from '../../../../../..'
  
  export default function (state) {
    const file = path.resolve(__dirname, 'fragment.yaml')
    const raw = readMetadata.sync(file)
    const fragment = Raw.deserialize(raw, { terse: true }).document
  
    const { document, selection } = state
    const texts = document.getTexts()
    const second = texts.get(1)
    const range = selection.merge({
      anchorKey: second.key,
      anchorOffset: second.length,
      focusKey: second.key,
      focusOffset: second.length
    })
  
    const next = state
      .transform()
      .moveTo(range)
      .insertFragment(fragment)
      .apply()
  
    const last = next.document.getTexts().last()
  
    assert.deepEqual(
      next.selection.toJS(),
      range.merge({
        anchorKey: last.key,
        anchorOffset: last.length,
        focusKey: last.key,
        focusOffset: last.length
      }).toJS()
    )
  
    return next
  }
  