     keywords:
         # array
         "join": "split"
-        "push": "pop"
+        "pop": "push"
         "reduce": "reduceRight"
         "shift": "unshift"
         # boolean
         "and": "nand"
         "false": "true"
-        "or": "nor"
+        "nor": "or"
         "xnor": "xor"
         # brackets
         "(": ")"

        for selection in selections
            do (selection) ->
            text = selection.getText()

            # If nothing is selected select the current word
            if !text
                selection.selectWord()
                text = selection.getText()

            # Save the current casing to restore it afterwards
            currentCase = @detectCase(text)

            replacementText = @applyCase(@invertString(text), currentCase)

            if replacementText
                selection.insertText(replacementText, {select: userSelected})
