   'editor:select-to-previous-word-boundary': -> @selectToPreviousWordBoundary()
   'editor:select-to-first-character-of-line': -> @selectToFirstCharacterOfLine()
   'editor:select-line': -> @selectLinesContainingCursors()
+)
+
+atom.commands.add 'atom-text-editor', stopEventPropagationAndGroupUndo(
+  'core:backspace': -> @backspace()
+  'core:delete': -> @delete()
+  'core:cut': -> @cutSelectedText()
+  'core:copy': -> @copySelectedText()
+  'core:paste': -> @pasteText()
+  'editor:delete-to-beginning-of-word': -> @deleteToBeginningOfWord()
+  'editor:delete-to-beginning-of-line': -> @deleteToBeginningOfLine()
+  'editor:delete-to-end-of-line': -> @deleteToEndOfLine()
+  'editor:delete-to-end-of-word': -> @deleteToEndOfWord()
+  'editor:delete-line': -> @deleteLine()
+  'editor:cut-to-end-of-line': -> @cutToEndOfLine()
   'editor:transpose': -> @transpose()
   'editor:upper-case': -> @upperCase()
   'editor:lower-case': -> @lowerCase()
 )
 
-atom.commands.add 'atom-text-editor:not([mini])', stopEventPropagationAndGroupUndo(
+atom.commands.add 'atom-text-editor:not([mini])', stopEventPropagation(
   'core:move-up': -> @moveUp()
   'core:move-down': -> @moveDown()
   'core:move-to-top': -> @moveToTop()

  'editor:fold-at-indent-level-7': -> @foldAllAtIndentLevel(6)
  'editor:fold-at-indent-level-8': -> @foldAllAtIndentLevel(7)
  'editor:fold-at-indent-level-9': -> @foldAllAtIndentLevel(8)
  'editor:toggle-line-comments': -> @toggleLineCommentsInSelection()
  'editor:log-cursor-scope': -> @logCursorScope()
  'editor:checkout-head-revision': -> atom.project.getRepositories()[0]?.checkoutHeadForEditor(this)
  'editor:copy-path': -> @copyPathToClipboard()
  'editor:move-line-up': -> @moveLineUp()
  'editor:move-line-down': -> @moveLineDown()
  'editor:duplicate-lines': -> @duplicateLines()
  'editor:join-lines': -> @joinLines()
  'editor:toggle-indent-guide': -> atom.config.set('editor.showIndentGuide', not atom.config.get('editor.showIndentGuide'))
  'editor:toggle-line-numbers': -> atom.config.set('editor.showLineNumbers', not atom.config.get('editor.showLineNumbers'))
  'editor:scroll-to-cursor': -> @scrollToCursorPosition()
)

module.exports = TextEditorElement = document.registerElement 'atom-text-editor', prototype: TextEditorElement.prototype

  'core:select-to-bottom': -> @selectToBottom()
  'core:select-page-up': -> @selectPageUp()
  'core:select-page-down': -> @selectPageDown()
  'editor:add-selection-below': -> @addSelectionBelow()
  'editor:add-selection-above': -> @addSelectionAbove()
  'editor:split-selections-into-lines': -> @splitSelectionsIntoLines()
