{ *************************************************************************** }
{                                                                             }
{ EControl Syntax Editor SDK                                                  }
{                                                                             }
{ Copyright (c) 2004 - 2008 EControl Ltd., Zaharov Michael                    }
{     www.econtrol.ru                                                         }
{     support@econtrol.ru                                                     }
{                                                                             }
{ *************************************************************************** }
{$I ecSyntEdit.INC}

unit ecCmdConst;

interface

const
  ecSyntaxEditorVersion = '2.50';
  ecSyntaxEditorDate    = '02.06.2008';

const
  // Caret movement commands
  smLeft            = 1;    // Move cursor left one char
  smRight           = 2;    // Move cursor right one char
  smUp              = 3;    // Move cursor up one line
  smDown            = 4;    // Move cursor down one line
  smWordLeft        = 5;    // Move cursor left one word
  smWordRight       = 6;    // Move cursor right one word
  smLineStart       = 7;    // Move cursor to beginning of line
  smLineEnd         = 8;    // Move cursor to end of line
  smPageUp          = 9;    // Move cursor up one page
  smPageDown        = 10;   // Move cursor down one page
  smPageLeft        = 11;   // Move cursor right one page
  smPageRight       = 12;   // Move cursor left one page
  smPageTop         = 13;   // Move cursor to top of page
  smPageBottom      = 14;   // Move cursor to bottom of page
  smEditorTop       = 15;   // Move cursor to absolute beginning
  smEditorBottom    = 16;   // Move cursor to absolute end
  smGotoXY          = 17;   // Move cursor to specific coordinates, Data = PPoint
  smFirstLetter     = 18;   // Move cursor to first non space char of line
  smLastLetter      = 19;   // Move cursor to last non space char of line
  smLeftUp          = 20;   // Move cursor left and up at line start

  // Caret movement with selection
  smSelection       = 100;  // Base offset for caret moving with selection
  smSelLeft         = smLeft      + smSelection;
  smSelRight        = smRight     + smSelection;
  smSelUp           = smUp        + smSelection;
  smSelDown         = smDown      + smSelection;
  smSelWordLeft     = smWordLeft  + smSelection;
  smSelWordRight    = smWordRight + smSelection;
  smSelLineStart    = smLineStart + smSelection;
  smSelLineEnd      = smLineEnd   + smSelection;
  smSelPageUp       = smPageUp    + smSelection;
  smSelPageDown     = smPageDown  + smSelection;
  smSelPageLeft     = smPageLeft  + smSelection;
  smSelPageRight    = smPageRight + smSelection;
  smSelPageTop      = smPageTop   + smSelection;
  smSelPageBottom   = smPageBottom+ smSelection;
  smSelEditorTop    = smEditorTop + smSelection;
  smSelEditorBottom = smEditorBottom + smSelection;
  smSelGotoXY       = smGotoXY    + smSelection;
  smSelFirstLetter  = smFirstLetter  + smSelection;
  smSelLastLetter   = smLastLetter + smSelection;
  smSelLeftUp       = smLeftUp    + smSelection;

  // Caret movement with column selection
  smColSelection  = 200;  // Base offset for caret moving with column selection
  smColSelLeft         = smLeft      + smColSelection;
  smColSelRight        = smRight     + smColSelection;
  smColSelUp           = smUp        + smColSelection;
  smColSelDown         = smDown      + smColSelection;
  smColSelWordLeft     = smWordLeft  + smColSelection;
  smColSelWordRight    = smWordRight + smColSelection;
  smColSelLineStart    = smLineStart + smColSelection;
  smColSelLineEnd      = smLineEnd   + smColSelection;
  smColSelPageUp       = smPageUp    + smColSelection;
  smColSelPageDown     = smPageDown  + smColSelection;
  smColSelPageLeft     = smPageLeft  + smColSelection;
  smColSelPageRight    = smPageRight + smColSelection;
  smColSelPageTop      = smPageTop   + smColSelection;
  smColSelPageBottom   = smPageBottom+ smColSelection;
  smColSelEditorTop    = smEditorTop + smColSelection;
  smColSelEditorBottom = smEditorBottom + smColSelection;
  smColSelGotoXY       = smGotoXY    + smColSelection;  // Data = PPoint
  smColFirstLetter     = smFirstLetter  + smColSelection;
  smColLastLetter      = smLastLetter + smColSelection;
  smColLeftUp          = smLeftUp    + smColSelection;

  smCopy            = 301;  // Copy selection to clipboard
  smCut             = 302;  // Cut selection to clipboard
  smPaste           = 303;  // Paste clipboard to current position
  smUndo            = 304;  // Perform undo if available
  smRedo            = 305;  // Perform redo if available
  smSelectAll       = 306;  // Select entire contents of editor, cursor to end
  smClearSelection  = 307;  // Clear current selection
  smCopyAsRTF       = 308;  // Copy to clipboard in RTF format

  smScrollUp        = 311;  // Scroll up one line leaving cursor position unchanged.
  smScrollDown      = 312;  // Scroll down one line leaving cursor position unchanged.
  smScrollLeft      = 313;  // Scroll left one char leaving cursor position unchanged.
  smScrollRight     = 314;  // Scroll right one char leaving cursor position unchanged.
  smScrollPageUp    = 315;  // Scroll up one page leaving cursor position unchanged.
  smScrollPageDown  = 316;  // Scroll down one page leaving cursor position unchanged.
  smScrollPageLeft  = 317;  // Scroll left one screen leaving cursor position unchanged.
  smScrollPageRight = 318;  // Scroll right one screen leaving cursor position unchanged.
  smScrollAbsUp     = 319;  // Scroll to absolute beginning leaving cursor position unchanged.
  smScrollAbsDown   = 320;  // Scroll to absolute end leaving cursor position unchanged.
  smScrollAbsLeft   = 321;  // Scroll to absolute left leaving cursor position unchanged.
  smScrollAbsRight  = 322;  // Scroll to absolute right leaving cursor position unchanged.

  smDeleteLastChar  = 331;  // Delete last char (i.e. backspace key)
  smDeleteChar      = 332;  // Delete char at cursor (i.e. delete key)
  smDeleteWord      = 333;  // Delete from cursor to end of word
  smDeleteLastWord  = 334;  // Delete from cursor to start of word
  smDeleteBOL       = 335;  // Delete from cursor to beginning of line
  smDeleteEOL       = 336;  // Delete from cursor to end of line
  smDeleteLine      = 337;  // Delete current line
  smClearAll        = 338;  // Delete everything

  smLineBreak       = 339;  // Break line at current position, move caret to new line
  smInsertLine      = 340;  // Break line at current position, leave caret
  smChar            = 341;  // Insert a character at current position (Data = PChar)
  smString          = 342;  // Insert a whole string (Data = PChar)
  smBlockIndent     = 350;  // Indent selection
  smBlockUnindent   = 351;  // Unindent selection
  smTab             = 352;  // Tab key
  smTabChar         = 353;  // Insert Tab char

  smUpperCase       = 360; // Upper case to current or previous word
  smLowerCase       = 361; // Lower case to current or previous word
  smToggleCase      = 362; // Toggle case to current or previous word
  smTitleCase       = 363; // Title case to current or previous word
  smUpperCaseBlock  = 365; // Upper case to current selection or current char
  smLowerCaseBlock  = 366; // Lower case to current selection or current char
  smToggleCaseBlock = 367; // Toggle case to current selection or current char
  smTitleCaseBlock  = 368; // Title case to current selection or current char

  smInsertMode      = 371;  // Set insert mode
  smOverwriteMode   = 372;  // Set overwrite mode
  smToggleMode      = 373;  // Toggle ins/ovr mode
  smNormalSelect    = 374;  // Normal selection mode
  smColumnSelect    = 375;  // Column selection mode
  smLineSelect      = 376;  // Line selection mode
  smMarkSelStart    = 377;  // Marks the beginning of a block
  smMarkSelEnd      = 378;  // Marks the end of a block
  smResetSelection  = 379;  // Reset selection

  smGotoBookmark0   = 401;  // Goto Bookmark 0
  smGotoBookmark1   = 402;  // Goto Bookmark 1
  smGotoBookmark2   = 403;  // Goto Bookmark 2
  smGotoBookmark3   = 404;  // Goto Bookmark 3
  smGotoBookmark4   = 405;  // Goto Bookmark 4
  smGotoBookmark5   = 406;  // Goto Bookmark 5
  smGotoBookmark6   = 407;  // Goto Bookmark 6
  smGotoBookmark7   = 408;  // Goto Bookmark 7
  smGotoBookmark8   = 409;  // Goto Bookmark 8
  smGotoBookmark9   = 410;  // Goto Bookmark 9
  smSetBookmark0    = 411;  // Toggle Bookmark 0
  smSetBookmark1    = 412;  // Toggle Bookmark 1
  smSetBookmark2    = 413;  // Toggle Bookmark 2
  smSetBookmark3    = 414;  // Toggle Bookmark 3
  smSetBookmark4    = 415;  // Toggle Bookmark 4
  smSetBookmark5    = 416;  // Toggle Bookmark 5
  smSetBookmark6    = 417;  // Toggle Bookmark 6
  smSetBookmark7    = 418;  // Toggle Bookmark 7
  smSetBookmark8    = 419;  // Toggle Bookmark 8
  smSetBookmark9    = 420;  // Toggle Bookmark 9

  smDropMarker       = 430;  // Drops marker to the current position (Data = PPoint)
  smCollectMarker    = 431;  // Collect marker (jump back)
  smSwapMarker       = 432;  // Swap marker (keep position, jump back)

  smChangeRangeSide  = 433;  // Jump caret from one side of the range to other

  smToggleCollapse  = 520;   // Collapse/expand block at current line
  smCollapse        = 521;
  smExpand          = 522;
  smFullCollapse    = 523;
  smFullExpand      = 524;
  smCollapseSelection = 525; // Collapse selected block
  smToggleCollapseNearest = 526; // Collapse/expand nearest block
  smInSelCollapse   = 527;   // Collapse ranges in selection
  smInSelExpand     = 528;   // Expand ranges in selection

  smToggleNonPrinted = 530;
  smToggleWordWrap   = 531;
  smToggleFolding    = 532;
  smToggleLineNumbersVisible = 533;

  smIncrementalSearch = 550; // Incremental Search

  smCommentLines    = 560;  // Comments selected lines
  smUncommentLines  = 561;  // Uncomments selected lines
  smSortAscending   = 562;  // Ascending sort of selected lines
  smSortDescending  = 563;  // Descending sort of selected lines
  smGotoLine        = 564;  // Go to line number
  smAlignTokens     = 565;  // Aligns tokens in selected lines
  smMoveLinesUp     = 566;  // Moves selected lines one line up
  smMoveLinesDown   = 567;  // Moves selected lines one line down
  smDuplicateLine   = 568;  // Duplicates current line

  smMacroRecStart   = 570;  // Start macro recording
  smMacroRecStop    = 571;  // Stop macro recording
  smMacroRecCancel  = 572;  // Cancel macro recording
  smMacroPlay       = 573;  // Play macro (Data = string | nil)

  smFindDialog      = 600;
  smFindNext        = 601;
  smFindPrev        = 602;
  smFindAll         = 603;
  smFindFirst       = 604;
  smFindLast        = 605;
  smSearchAgain     = 606;
  smFindCurrentWordNext  = 607;
  smFindCurrentWordPrior = 608;

  smReplaceDialog   = 610;
  smReplaceNext     = 611;
  smReplacePrev     = 612;
  smReplaceAll      = 613;
  smReplaceFirst    = 614;
  smReplaceLast     = 615;
  smReplaceAgain    = 616;

  smCopyPasteFileEnd    = 620; // Block Copy & Paste end of file
  smCopyPasteFileStart  = 621; // Block Copy & Paste start of file
  smCutPasteFileEnd     = 622; // Block Cut & Paste end of file
  smCutPasteFileStart   = 623; // Block Cut & Paste start of file
  smCopyPasteAbove      = 624; // Block Copy & Paste above selected block
  smCopyPasteBelow      = 625; // Block Copy & Paste below top of file

  smPrint           = 630; // Print all text
  smPrintSelection  = 631; // Print selected text
  smPrintPreview    = 632; // Print preview
  smPageSetup       = 633; // Page Setup dialog

  smSearchMarkReset = 640; // Reset search marks
  smSearchMarkNext  = 641; // Go to next search mark
  smSearchMarkPrev  = 642; // Go to previous search mark

  smAutoComplete    = 700; // Auto completion popup
  smCodeTemplate    = 701; // Code templates popup
  smParameterHint   = 702; // Code parameters tooltip
  smSelCharacter    = 703; // Select character popup
  smAutoCorrectCur  = 704; // Auto correct current word
  smAutoCorrectAll  = 705; // Auto correct all words

implementation

end.

