               value = c[0] if c?.length
 
           if type == 'ident'
+            editScope.identCompleter(value).find((o) -> o.default)?.select(cell)
             return
 
           switch info.t

                if info.col.first
                  editScope.type = 'ident'
                  editScope.info = info
                else if info.metric.options
                  editScope.type = 'options'
                  editScope.options = info.metric.options

          info = editScope.info
          o = []
          defd = false
          add = (t, f, nd) ->
            o.push
              text: t
              select: (cell) ->
                f(cell ? unedit(false))
                undefined
              default: !nd && !defd
            defd ||= !nd
          if !input && info.r
            add("Remove " + info.record.displayName + " from this session",
              (cell) -> setRecord(cell, info, null))
          else if !info.r || input != info.record.measures[info.metric.id]
            set = (r) -> (cell) ->
              setRecord(cell, info, r)
            for r in editScope.records
              add("Use " + info.category.name + ' ' + r.d, set(r.r), r.v != input) if r.d.includes(input)
            if info.metric.options
              # TODO
            else if input
              if info.r
                add("Change all " + info.record.displayName + " " + info.metric.display + " to '" + input + "'",
                  (cell) -> saveMeasure(cell, info.record, info.metric, input))
              add("Create new " + info.category.name + " with " + info.metric.name + " '" + input + "'",
                (cell) -> setRecord(cell, info).then (r) ->
                  saveMeasure(cell, r, info.metric, input) if r
                  return)
          o

        optionCompletions = (input) ->
