// Copyright (c) 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef EditorCommandNames_h
#define EditorCommandNames_h

namespace blink {

// Must be ordered in a case-folding manner for binary search.
// Covered by unit tests in EditingCommandTest.cpp (not able to use static_assert)
#define FOR_EACH_BLINK_EDITING_COMMAND_NAME(V)      \
    V(AlignCenter)                                  \
    V(AlignJustified)                               \
    V(AlignLeft)                                    \
    V(AlignRight)                                   \
    V(BackColor)                                    \
    V(BackwardDelete)                               \
    V(Bold)                                         \
    V(Copy)                                         \
    V(CreateLink)                                   \
    V(Cut)                                          \
    V(DefaultParagraphSeparator)                    \
    V(Delete)                                       \
    V(DeleteBackward)                               \
    V(DeleteBackwardByDecomposingPreviousCharacter) \
    V(DeleteForward)                                \
    V(DeleteToBeginningOfLine)                      \
    V(DeleteToBeginningOfParagraph)                 \
    V(DeleteToEndOfLine)                            \
    V(DeleteToEndOfParagraph)                       \
    V(DeleteToMark)                                 \
    V(DeleteWordBackward)                           \
    V(DeleteWordForward)                            \
    V(FindString)                                   \
    V(FontName)                                     \
    V(FontSize)                                     \
    V(FontSizeDelta)                                \
    V(ForeColor)                                    \
    V(FormatBlock)                                  \
    V(ForwardDelete)                                \
    V(HiliteColor)                                  \
    V(IgnoreSpelling)                               \
    V(Indent)                                       \
    V(InsertBacktab)                                \
    V(InsertHorizontalRule)                         \
    V(InsertHTML)                                   \
    V(InsertImage)                                  \
    V(InsertLineBreak)                              \
    V(InsertNewline)                                \
    V(InsertNewlineInQuotedContent)                 \
    V(InsertOrderedList)                            \
    V(InsertParagraph)                              \
    V(InsertTab)                                    \
    V(InsertText)                                   \
    V(InsertUnorderedList)                          \
    V(Italic)                                       \
    V(JustifyCenter)                                \
    V(JustifyFull)                                  \
    V(JustifyLeft)                                  \
    V(JustifyNone)                                  \
    V(JustifyRight)                                 \
    V(MakeTextWritingDirectionLeftToRight)          \
    V(MakeTextWritingDirectionNatural)              \
    V(MakeTextWritingDirectionRightToLeft)          \
    V(MoveBackward)                                 \
    V(MoveBackwardAndModifySelection)               \
    V(MoveDown)                                     \
    V(MoveDownAndModifySelection)                   \
    V(MoveForward)                                  \
    V(MoveForwardAndModifySelection)                \
    V(MoveLeft)                                     \
    V(MoveLeftAndModifySelection)                   \
    V(MovePageDown)                                 \
    V(MovePageDownAndModifySelection)               \
    V(MovePageUp)                                   \
    V(MovePageUpAndModifySelection)                 \
    V(MoveParagraphBackward)                        \
    V(MoveParagraphBackwardAndModifySelection)      \
    V(MoveParagraphForward)                         \
    V(MoveParagraphForwardAndModifySelection)       \
    V(MoveRight)                                    \
    V(MoveRightAndModifySelection)                  \
    V(MoveToBeginningOfDocument)                    \
    V(MoveToBeginningOfDocumentAndModifySelection)  \
    V(MoveToBeginningOfLine)                        \
    V(MoveToBeginningOfLineAndModifySelection)      \
    V(MoveToBeginningOfParagraph)                   \
    V(MoveToBeginningOfParagraphAndModifySelection) \
    V(MoveToBeginningOfSentence)                    \
    V(MoveToBeginningOfSentenceAndModifySelection)  \
    V(MoveToEndOfDocument)                          \
    V(MoveToEndOfDocumentAndModifySelection)        \
    V(MoveToEndOfLine)                              \
    V(MoveToEndOfLineAndModifySelection)            \
    V(MoveToEndOfParagraph)                         \
    V(MoveToEndOfParagraphAndModifySelection)       \
    V(MoveToEndOfSentence)                          \
    V(MoveToEndOfSentenceAndModifySelection)        \
    V(MoveToLeftEndOfLine)                          \
    V(MoveToLeftEndOfLineAndModifySelection)        \
    V(MoveToRightEndOfLine)                         \
    V(MoveToRightEndOfLineAndModifySelection)       \
    V(MoveUp)                                       \
    V(MoveUpAndModifySelection)                     \
    V(MoveWordBackward)                             \
    V(MoveWordBackwardAndModifySelection)           \
    V(MoveWordForward)                              \
    V(MoveWordForwardAndModifySelection)            \
    V(MoveWordLeft)                                 \
    V(MoveWordLeftAndModifySelection)               \
    V(MoveWordRight)                                \
    V(MoveWordRightAndModifySelection)              \
    V(Outdent)                                      \
    V(OverWrite)                                    \
    V(Paste)                                        \
    V(PasteAndMatchStyle)                           \
    V(PasteGlobalSelection)                         \
    V(Print)                                        \
    V(Redo)                                         \
    V(RemoveFormat)                                 \
    V(ScrollLineDown)                               \
    V(ScrollLineUp)                                 \
    V(ScrollPageBackward)                           \
    V(ScrollPageForward)                            \
    V(ScrollToBeginningOfDocument)                  \
    V(ScrollToEndOfDocument)                        \
    V(SelectAll)                                    \
    V(SelectLine)                                   \
    V(SelectParagraph)                              \
    V(SelectSentence)                               \
    V(SelectToMark)                                 \
    V(SelectWord)                                   \
    V(SetMark)                                      \
    V(Strikethrough)                                \
    V(StyleWithCSS)                                 \
    V(Subscript)                                    \
    V(Superscript)                                  \
    V(SwapWithMark)                                 \
    V(ToggleBold)                                   \
    V(ToggleItalic)                                 \
    V(ToggleUnderline)                              \
    V(Transpose)                                    \
    V(Underline)                                    \
    V(Undo)                                         \
    V(Unlink)                                       \
    V(Unscript)                                     \
    V(Unselect)                                     \
    V(UseCSS)                                       \
    V(Yank)                                         \
    V(YankAndSelect)

} // namespace blink

#endif // EditorCommandNames_h
