hunk.code_window:   // Resolve the selection keys into paths.
     if (properties.anchorKey) {
       properties.anchorPath = document.getPath(properties.anchorKey)
       delete properties.anchorKey
     }
     if (prevProps.anchorKey) {
       prevProps.anchorPath = document.getPath(prevProps.anchorKey)
       delete prevProps.anchorKey
  
hunk.labels: keep replace replace replace keep keep keep keep keep
hunk.after_edit:   if (props.anchorKey) {
       props.anchorPath = document.getPath(props.anchorKey)
       delete props.anchorKey
  
hunk.file_path: src/transforms/operations.js
hunk.type: replace
file: 
  import assert from 'assert'
  
  export default function (state) {
    const { document, selection } = state
    const texts = document.getTexts()
    const first = texts.first()
    const range = selection.merge({
      anchorKey: first.key,
      anchorOffset: 0,
      focusKey: first.key,
      focusOffset: 0
    })
  
    const next = state
      .transform()
      .moveTo(range)
      .insertInline({
        type: 'hashtag',
        isVoid: true
      })
      .apply()
  
    assert.deepEqual(
      next.selection.toJS(),
      range.toJS()
    )
  
    return next
  }
  