The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Win32::Mechanize::NotepadPlusPlus::Editor::Messages - Define values for using messages, notifications, and their arguments

SYNOPSIS

    use Win32::Mechanize::NotepadPlusPlus ':vars';
    print "$_\n" for sort { $SCIMSG{$a} <=> $SCIMSG{$b} } keys %SCIMSG;             # prints all message keys in numerical order

DESCRIPTION

Scintilla uses message-based communication, which is described in the ScintillaDoc.

The hashes in Win32::Mechanize::NotepadPlusPlus::Editor::Messages give named access to the underlying messages, as well as named versions of the constants used as arguments for those messages.

MESSAGES

%SCIMSG

Many of the Scintilla Messages are already implemented in the Win32::Mechanize::NotepadPlusPlus::Editor interface, and under normal circumstances, the end-user should never need to access this %SCIMSG hash directly.

However, if you have a reason to use editor->SendMessage directly, you can use the values from this hash. Usually, this would only be done if you want a unique wrapper around the message, or want to implement a new or unimplemented message.

%SC_ACCESSIBILITY

Used by setAccessibility.

    Key                         | Value | Description
    ----------------------------+-------+---------------------------
    SC_ACCESSIBILITY_DISABLED   | 0     | Accessibility is disabled
    SC_ACCESSIBILITY_ENABLED    | 1     | Accessibility is enabled

All of these values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_ALPHA

Used by setSelAlpha and many other methods that set or retrieve transparency settings.

These actally indicate the range, from SC_ALPHA_TRANSPARENT (100% transparent) to SC_ALPHA_OPAQUE (100% opaque), with SC_ALPHA_NOALPHA (which also indicates 100% opaque, but might make for a more efficient drawing of the Scintilla window because ALPHA is disabled, rather than just being 100% opaque.)

When setting transparency, any value from SC_ALPHA_TRANSPARENT through SC_ALPHA_OPAQUE (or SC_ALPHA_NOALPHA) can be used; alpha settings do not have to be one of these three defined values.

%SC_ANNOTATION

Used by annotationSetVisible

    Key                 |   | Description
    --------------------+---+-------------------------------------
    ANNOTATION_HIDDEN   | 0 | Annotations are not displayed.
    ANNOTATION_STANDARD | 1 | Annotations are drawn left justified with no adornment.
    ANNOTATION_BOXED    | 2 | Annotations are indented to match the text and are surrounded by a box.
    ANNOTATION_INDENTED | 3 | Annotations are indented to match the text.
%SC_AUTOC_ORDER

Used by autoCSetOrder.

    Key                  |   | Description
    ---------------------|---|-------------
    SC_ORDER_PRESORTED   | 0 | List must be already sorted alphabetically
    SC_ORDER_PERFORMSORT | 1 | Scintilla will sort the list
    SC_ORDER_CUSTOM      | 2 | Use a custom order
%SC_AUTOCOMPLETE

Used by autoCSetOptions.

    Key                             | Value | Description
    --------------------------------|-------|-------------
    SC_AUTOCOMPLETE_NORMAL          | 0     | Display autocompletion using default settings.
    SC_AUTOCOMPLETE_FIXED_SIZE      | 1     | Use a fixed size list instead of one that can be resized by the user. This also avoids a header rectangle above the list.

Message requires at least Scintilla v5.2, found in Notepad++ v8.4 and newer.

%SC_AUTOMATICFOLD

Used by setAutomaticFold

    Key                     |   | Description
    ------------------------+---+-------------
    SC_AUTOMATICFOLD_NONE   | 0 | Value with no automatic behaviour.
    SC_AUTOMATICFOLD_SHOW   | 1 | Automatically show lines as needed. This avoids sending the SCN_NEEDSHOWN notification.
    SC_AUTOMATICFOLD_CLIC   | 2 | Handle clicks in fold margin automatically. This avoids sending the SCN_MARGINCLICK notification for folding margins.
    SC_AUTOMATICFOLD_CHANGE | 4 | Show lines as needed when fold structure is changed. The SCN_MODIFIED notification is still sent unless it is disabled by the container.
%SC_BIDIRECTIONAL

Used by setBidirectional.

The default $SC_BIDIRECTIONAL{SC_BIDIRECTIONAL_DISABLED} (0) means that only one direction is supported.

Enabling $SC_BIDIRECTIONAL{SC_BIDIRECTIONAL_L2R} (1) means that left-to-right is the normal active direction, but UTF sequences can change text to right-to-left.

Enabling $SC_BIDIRECTIONAL{SC_BIDIRECTIONAL_R2L} (2) means that right-to-left is the normal active direction, but UTF sequences can change text to left-to-right.

    Key                       |   | Description
    --------------------------+---+-------------
    SC_BIDIRECTIONAL_DISABLED | 0 | Not bidirectional
    SC_BIDIRECTIONAL_L2R      | 1 | Bidirectional, with left-to-right as normal direction
    SC_BIDIRECTIONAL_R2L      | 2 | Bidirectional, with right-to-left as normal direction

All of these values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_CACHE

Used by setLayoutCache

    Key                 |   | Description
    --------------------+---+-------------
    SC_CACHE_NONE       | 0 | No lines are cached.
    SC_CACHE_CARET      | 1 | The line containing the text caret. This is the default.
    SC_CACHE_PAGE       | 2 | Visible lines plus the line containing the caret.
    SC_CACHE_DOCUMENT   | 3 | All lines in the document.
%SC_CARETPOLICY

Used by setXCaretPolicy and related.

    CARET_SLOP      | 0x01 | Will honor the $caretSlop setting
    CARET_STRICT    | 0x04 | If set, CARET_SLOP is strictly enforced
    CARET_EVEN      | 0x08 | If set, use symmetric zones; if unset, shift the zones
    CARET_JUMPS     | 0x10 | Caret moves more "energetically"

See Scintilla documentation for SCI_SETXCARETPOLICY for details, and how they work in combination.

%SC_CARETSTICKY

Used by setCaretSticky

    Key                         |   | Description
    ----------------------------+---+-------------
    SC_CARETSTICKY_OFF          | 0 | All moves or text changes will change caret's horizontal position (default)
    SC_CARETSTICKY_ON           | 1 | Only cursor movements will change the caret position
    SC_CARETSTICKY_WHITESPACE   | 2 | Like OFF, but whitespace-only insertion will not change caret position
%SC_CARETSTYLE

Used by setCaretStyle.

    Key                         |       | Description
    ----------------------------+-------+------------------------
    CARETSTYLE_INVISIBLE        | 0     | No visible caret
    ----------------------------+-------+------------------------
    CARETSTYLE_LINE             | 1     | Caret is a line (in insert mode)
    CARETSTYLE_BLOCK            | 2     | Caret is a block (in insert mode)
    CARETSTYLE_INS_MASK         | 0xF   | Mask used for the insert mode bits, above [npp7.8]
    ----------------------------+-------+------------------------
    CARETSTYLE_OVERSTRIKE_BAR   | 0     | Caret is a bar (in overtype mode) [npp7.8]
    CARETSTYLE_OVERSTRIKE_BLOCK | 16    | Caret is a block (in overtype mode) [npp7.8]
    ----------------------------+-------+------------------------
    CARETSTYLE_CURSES           | 32    | Draws carets in curses-style [npp8.4]
    ----------------------------+-------+------------------------
    CARETSTYLE_BLOCK_AFTER      | 0x100 | Option for how the block is drawn [npp7.8]

For insert mode, the style of the caret can be set to a line caret (CARETSTYLE_LINE=1) or a block caret (CARETSTYLE_BLOCK=2) for insert mode (lower 4-bits, CARETSTYLE_INS_MASK) combined with a bar caret (CARETSTYLE_OVERSTRIKE_BAR=0) or a block caret (CARETSTYLE_OVERSTRIKE_BLOCK=16) for overtype mode (bit 4), or to not draw at all (CARETSTYLE_INVISIBLE=0). The default value for insert mode is the line caret (CARETSTYLE_LINE=1).

For overtype mode, the style of the caret can be set to the bar caret (CARETSTYLE_OVERSTRIKE_BAR=0) or a block caret (CARETSTYLE_OVERSTRIKE_BLOCK)=16).

When the caret end of a range is at the end and a block caret style is chosen, the block is drawn just inside the selection instead of after. This can be switched with an option (CARETSTYLE_BLOCK_AFTER=256).

The value passed can be a bitwise-or of the insert-mode choice, the overtype mode choice, and the option value.

[npp7.8]: Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer. [npp8.4]: Noted values require at least Scintilla v5.2, found in Notepad++ v8.4 and newer.

%SC_CASE

Used by styleSetCase

    Key             |   | Description
    ----------------+---+-------------
    SC_CASE_MIXED   | 0 | Displays normally (same case as stored in text)
    SC_CASE_UPPER   | 1 | Displays as all upper case, even if there are lower case characters
    SC_CASE_LOWER   | 2 | Displays as all lower case, even if there are upper case characters
    SC_CASE_CAMEL   | 3 | Displays as Camel Case, regardless of underlying text case [npp7.8]

[npp7.8] Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_CASEINSENSITIVE

Used by autoCSetCaseInsensitiveBehaviour

    Key                                         |   | Description
    --------------------------------------------+---+-------------
    SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE     | 0 | Respect case
    SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE      | 1 | Ignore case
%SC_CHANGE_HISTORY

Used by setChangeHistory.

    Key                             | Value | Description
    --------------------------------|-------|-------------
    SC_CHANGE_HISTORY_DISABLED      | 0     | The default: change history turned off.
    SC_CHANGE_HISTORY_ENABLED       | 1     | Track changes to the document.
    SC_CHANGE_HISTORY_MARKERS       | 2     | Display changes in the margin using the SC_MARKNUM_HISTORY markers.
    SC_CHANGE_HISTORY_INDICATORS    | 4     | Display changes in the text using the INDICATOR_HISTORY indicators.

Message requires at least Scintilla v5.2, found in Notepad++ v8.4 and newer.

%SC_CHARSET

Used by styleSetCharacterSet

    Key                     | Value
    ------------------------+-------
    SC_CHARSET_ANSI         | 0
    SC_CHARSET_DEFAULT      | 1
    SC_CHARSET_SYMBOL       | 2
    SC_CHARSET_MAC          | 77
    SC_CHARSET_SHIFTJIS     | 128
    SC_CHARSET_HANGUL       | 129
    SC_CHARSET_JOHAB        | 130
    SC_CHARSET_GB2312       | 134
    SC_CHARSET_CHINESEBIG5  | 136
    SC_CHARSET_GREEK        | 161
    SC_CHARSET_TURKISH      | 162
    SC_CHARSET_VIETNAMESE   | 163
    SC_CHARSET_HEBREW       | 177
    SC_CHARSET_ARABIC       | 178
    SC_CHARSET_BALTIC       | 186
    SC_CHARSET_RUSSIAN      | 204
    SC_CHARSET_THAI         | 222
    SC_CHARSET_EASTEUROPE   | 238
    SC_CHARSET_OEM          | 255
    SC_CHARSET_OEM866       | 866       [npp7.8]
    SC_CHARSET_8859_15      | 1000
    SC_CHARSET_CYRILLIC     | 1251

$SC_CHARSET{SC_CHARSET_ANSI} and $SC_CHARSET{SC_CHARSET_DEFAULT} specify European Windows code page 1252 unless the code page is set.

[npp7.8] Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_CODEPAGE

Used by setCodePage

    Key                                 |       | Description
    ------------------------------------+-------+-------------
    SC_CP_UTF8                          | 65501 | Unicode
    UNOFFICIAL_SHIFT_JIS                | 932   | Japanese Shift-JIS
    UNOFFICIAL_SIMPLIFIED_CHINESE_GBK   | 936   | Simplified Chinese GBK
    UNOFFICIAL_KOREAN_UNIFIED_HANGUL    | 949   | Korean Unified Hangul Code
    UNOFFICIAL_TRADITIONAL_CHINESE_BIG5 | 950   | Traditional Chinese Big5
    UNOFFICIAL_KOREAN_JOHAB             | 1361  | Korean Johab

SC_CP_UTF8 is the only SC_CODEPAGE value defined by Scintilla. The others were added unofficially to support codepages listed in the SCI_SETCODEPAGE documentation from Scintilla.

%SC_CURSOR

Used by setMarginCursorN and setCursor

SC_CURSORARROW and SC_CURSORREVERSEARROW will set the direction of the arrow in the margin with setMarginCursorN().

with setCursor(), SC_CURSORNORMAL (-1) will set the normal cursor behavior, and SC_CURSORWAIT (4) will set the cursor to a spinning "waiting for action" cursor

%SC_DOCUMENTOPTION

Use by createDocument

    Key                             |       | Description
    --------------------------------+-------+-------------
    SC_DOCUMENTOPTION_DEFAULT       | 0     | Standard behaviour
    SC_DOCUMENTOPTION_STYLES_NONE   | 0x1   | Stop allocation of memory for styles and treat all text as style 0.
    SC_DOCUMENTOPTION_TEXT_LARGE    | 0x100 | Allow document to be larger than 2 GB. (Experimental as of Scintilla v4.2.0, Notepad++ v7.8)

All of these values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_EDGEMODE

Used by setEdgeMode

    Key             |   | Description
    ----------------+---+-------------
    EDGE_NONE       | 0 | Long lines are not marked. This is the default state.
    EDGE_LINE       | 1 | A vertical line is drawn at the column number set by SCI_SETEDGECOLUMN. This works well for monospaced fonts. The line is drawn at a position based on the width of a space character in STYLE_DEFAULT, so it may not work very well if your styles use proportional fonts or if your style have varied font sizes or you use a mixture of bold, italic and normal text.
    EDGE_BACKGROUND | 2 | The background colour of characters after the column limit is changed to the colour set by SCI_SETEDGECOLOUR. This is recommended for proportional fonts.
    EDGE_MULTILINE  | 3 | This is similar to EDGE_LINE but in contrary to showing only one single line a configurable set of vertical lines can be shown simultaneously. This edgeMode uses a completely independent dataset that can only be configured by using the SCI_MULTIEDGE* messages. [npp7.8]

[npp7.8] Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_ELEMENT

Used by setElementColour.

    Key                                     | Value | Opaque?   | Description
    ----------------------------------------|-------|-----------|-------------
    SC_ELEMENT_LIST                         | 0     | Opaque    | Text colour in autocompletion lists
    SC_ELEMENT_LIST_BACK                    | 1     | Opaque    | Background colour of autocompletion lists
    SC_ELEMENT_LIST_SELECTED                | 2     | Opaque    | Text colour of selected item in autocompletion lists
    SC_ELEMENT_LIST_SELECTED_BACK           | 3     | Opaque    | Background colour of selected item in autocompletion lists
    ----------------------------------------|-------|-----------|-------------
    SC_ELEMENT_SELECTION_TEXT               | 10    |           | Text colour of main selection
    SC_ELEMENT_SELECTION_BACK               | 11    |           | Background colour of main selection
    SC_ELEMENT_SELECTION_ADDITIONAL_TEXT    | 12    |           | Text colour of additional selections
    SC_ELEMENT_SELECTION_ADDITIONAL_BACK    | 13    |           | Background colour of additional selections
    SC_ELEMENT_SELECTION_SECONDARY_TEXT     | 14    |           | Text colour of selections when another window contains the primary selection
    SC_ELEMENT_SELECTION_SECONDARY_BACK     | 15    |           | Background colour of selections when another window contains the primary selection
    SC_ELEMENT_SELECTION_INACTIVE_TEXT      | 16    |           | Text colour of selections when another window has focus
    SC_ELEMENT_SELECTION_INACTIVE_BACK      | 17    |           | Background colour of selections when another window has focus
    ----------------------------------------|-------|-----------|-------------
    SC_ELEMENT_CARET                        | 40    |           | Colour of caret for main selection
    SC_ELEMENT_CARET_ADDITIONAL             | 41    |           | Colour of caret for additional selections
    ----------------------------------------|-------|-----------|-------------
    SC_ELEMENT_CARET_LINE_BACK              | 50    |           | Colour of caret line background
    ----------------------------------------|-------|-----------|-------------
    SC_ELEMENT_WHITE_SPACE                  | 60    |           | Colour of visible white space
    SC_ELEMENT_WHITE_SPACE_BACK             | 61    | Opaque    | Colour of visible white space background
    ----------------------------------------|-------|-----------|-------------
    SC_ELEMENT_HOT_SPOT_ACTIVE              | 70    |           | Text colour of active hot spot
    SC_ELEMENT_HOT_SPOT_ACTIVE_BACK         | 71    |           | Background colour of active hot spot
    ----------------------------------------|-------|-----------|-------------
    SC_ELEMENT_FOLD_LINE                    | 80    |           | Colour of fold lines
    SC_ELEMENT_HIDDEN_LINE                  | 81    |           | Colour of line drawn to show there are lines hidden at that point

If it's not marked as Opaque, it is Translucent.

Message requires at least Scintilla v5.2, found in Notepad++ v8.4 and newer.

%SC_EOL

Used by the line endings methods.

    Key         |   | Description
    ------------+---+-------------
    SC_EOL_CRLF | 0 | Use Windows EOL (CRLF = "\r\n")
    SC_EOL_CR   | 1 | Use old Mac EOL (CR = "\r")
    SC_EOL_LF   | 2 | Use Unix/Linx EOL (LF = "\n")
%SC_EOLANNOTATION

Used by the eolAnnotationGetStyle and related.

    Key                           |       | Description
    ------------------------------+-------+-------------
    EOLANNOTATION_HIDDEN          | 0x0   | End of Line Annotations are not displayed.
    EOLANNOTATION_STANDARD        | 0x1   | End of Line Annotations are drawn left justified with no adornment.
    EOLANNOTATION_BOXED           | 0x2   | End of Line Annotations are indented to match the text and are surrounded by a box.
    EOLANNOTATION_STADIUM         | 0x100 | Surround with a ◖stadium◗ - a rectangle with rounded ends.
    EOLANNOTATION_FLAT_CIRCLE     | 0x101 | Surround with a |shape◗ with flat left end and curved right end.
    EOLANNOTATION_ANGLE_CIRCLE    | 0x102 | Surround with a ◄shape◗ with angled left end and curved right end.
    EOLANNOTATION_CIRCLE_FLAT     | 0x110 | Surround with a ◖shape| with curved left end and flat right end.
    EOLANNOTATION_FLATS           | 0x111 | Surround with a |shape| with flat ends.
    EOLANNOTATION_ANGLE_FLAT      | 0x112 | Surround with a ◄shape| with angled left end and flat right end.
    EOLANNOTATION_CIRCLE_ANGLE    | 0x120 | Surround with a ◖shape▶ with curved left end and angled right end.
    EOLANNOTATION_FLAT_ANGLE      | 0x121 | Surround with a |shape▶ with flat left end and angled right end.
    EOLANNOTATION_ANGLES          | 0x122 | Surround with a ◄shape▶ with angles on each end.

(Require at least Scintilla v5.2, found in Notepad++ v8.4 and newer.)

%SC_EOLSUPPORT

Used by getLineEndTypesSupported

    Key                      |   | Line ending support
    -------------------------+---+----------------------------
    SC_LINE_END_TYPE_DEFAULT | 0 | Just normal line-endings
    SC_LINE_END_TYPE_UNICODE | 1 | Extra Unicode line-endings
%SC_FIND

Used by findText

The values should be bitwise-or'd together to form the findText argument.

    %scimsg key         | Value      | Description
    --------------------+------------+-----------------------------------------------------------------
    SCFIND_NONE         | 0x00000000 | (default) Case-insentitive, literal match
    SCFIND_MATCHCASE    | 0x00000004 | Case-sensitive
    SCFIND_WHOLEWORD    | 0x00000002 | Matches only whole words ( see editor()->setWordChars )
    SCFIND_WORDSTART    | 0x00100000 | Matches the start of whole words ( see editor()->setWordChars )
    SCFIND_REGEXP       | 0x00200000 | Matches as a Scintilla regular expression
    SCFIND_POSIX        | 0x00400000 | (*) Matches a regular expression, with POSIX () groups
    SCFIND_CXX11REGEX   | 0x00800000 | (*) Matches using C++11 <regex> library

    (*) means it should be used in conjunction with SCFIND_REGEXP

See Scintilla documentation for searchFlags

%SC_FOLDACTION

Used by foldLine and related methods.

    Key                                 |   | Description
    ------------------------------------+---+-------------
    SC_FOLDACTION_CONTRACT              | 0 | Contract
    SC_FOLDACTION_EXPAND                | 1 | Expand
    SC_FOLDACTION_TOGGLE                | 2 | Toggle between contracted and expanded
    SC_FOLDACTION_CONTRACT_EVERY_LEVEL  | 4 | Used for SCI_FOLDALL only, can be combined with SC_FOLDACTION_CONTRACT or SC_FOLDACTION_TOGGLE to contract all levels instead of only top-level. [npp8.4]

[npp8.4]: Noted values require at least Scintilla v5.2, found in Notepad++ v8.4 and newer.

%SC_FOLDDISPLAYTEXT

Used by foldDisplayTextSetStyle.

    %scimsg key                 | Value | Description
    ----------------------------+-------+------------------------------------------------
    SC_FOLDDISPLAYTEXT_HIDDEN   | 0     | Do not display text tags
    SC_FOLDDISPLAYTEXT_STANDARD | 1     | Display text tags
    SC_FOLDDISPLAYTEXT_BOXED    | 2     | Display text tags with a box drawn around them

All of these values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_FOLDFLAG

Used by setFoldFlags.

Use a bitwise-or of one or more of the following flags:

    Key                                 |     | Description
    ------------------------------------+-----+-------------
    SC_FOLDFLAG_NONE                    | 0   | Default value.
    SC_FOLDFLAG_LINEBEFORE_EXPANDED     | 2   | Draw above if expanded
    SC_FOLDFLAG_LINEBEFORE_CONTRACTED   | 4   | Draw above if not expanded
    SC_FOLDFLAG_LINEAFTER_EXPANDED      | 8   | Draw below if expanded
    SC_FOLDFLAG_LINEAFTER_CONTRACTED    | 16  | Draw below if not expanded
    SC_FOLDFLAG_LEVELNUMBERS            | 64  | display hexadecimal fold levels (*)
    SC_FOLDFLAG_LINESTATE               | 128 | display hexadecimal line state (+)

*: The appearance of this feature may change in the future. +: May not be used at the same time as SC_FOLDFLAG_LEVELNUMBERS

%SC_FOLDLEVEL

Used by setFoldLevel.

Use a bitwise-or of one or more of the following flags:

    Key                     |      | Description
    ------------------------+------+-------------
    SC_FOLDLEVELNONE        | 0    | Default level that may occur before folding
    SC_FOLDLEVELBASE        | 1024 | Default fold level setting
    SC_FOLDLEVELNUMBERMASK  | 4095 | Fold level can be set to 0 .. SC_FOLDLEVELNUMBERMASK
    SC_FOLDLEVELWHITEFLAG   | 4096 | Flag bit: line is blank and level is not as important
    SC_FOLDLEVELHEADERFLAG  | 8192 | Flag bit: indicates it's a header (fold point)

You can set the level to anything between 0 .. SC_FOLDLEVELNUMBERMASK, so you are not restricted to using just these hash values.

See Scintilla documentation for SCI_SETFOLDLEVEL

%SC_FONTQUAL

Used by setFontQuality to set the font quality (antialiasing method)

    Key                             |     | Description
    --------------------------------+-----+-------------
    SC_EFF_QUALITY_DEFAULT          | 0   | Default, backward compatible
    SC_EFF_QUALITY_NON_ANTIALIASED  | 1   | Not antialiased
    SC_EFF_QUALITY_ANTIALIASED      | 2   | Antialiased
    SC_EFF_QUALITY_LCD_OPTIMIZED    | 3   | Optimized for LCD
    SC_EFF_QUALITY_MASK             | 0xF | *Only 4 bits apply to antialiasing

(*: In the future, there may be more attributes set by setFontQuality() than just antialiasing, so the SC_EFF_QUALITY_MASK is used to indicate that antialiasing settings will be limited to four bits.)

%SC_FONTSIZE

Referenced by styleSetSizeFractional.

The sole key, SC_FONT_SIZE_MULTIPLIER (100), is used for scaling a fractional number of points to an integer for use in styleSetSizeFractional().

%SC_IDLESTYLING

Used by setIdleStyling.

    Key                         |   | Description
    ----------------------------|---|-------------
    SC_IDLESTYLING_NONE         | 0 | (default) Syntax styling for all visible text (may be slow for large files)
    SC_IDLESTYLING_TOVISIBLE    | 1 | Syntax styling in small increments as background idle-task
    SC_IDLESTYLING_AFTERVISIBLE | 2 | Syntax styling for following text as idle-task
    SC_IDLESTYLING_ALL          | 3 | Syntax styling for preceding and following text as idle-task

All of these values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_IME

Used by setIMEInteraction

    Key             |   | Description
    ----------------+---+-------------
    SC_IME_WINDOWED | 0 | Uses a floating window for IME
    SC_IME_INLINE   | 1 | Puts the IME inline with the text

The SC_IME_INLINE may work better with features like rectangular and multiple selection.

%SC_INDENTGUIDE

Used by setIndentationGuides.

    Key               |   | Description
    ------------------+---+-------------
    SC_IV_NONE        | 0 | Not shown
    SC_IV_REAL        | 1 | Shown inside real indentation white space
    SC_IV_LOOKFORWARD | 2 | Shown beyond the actual indentation
    SC_IV_LOOKBOTH    | 3 | Shown beyond the actual indentation

The diffrence between the last two is subtle, and not single-line explainable; see the Scintilla documentation for SCI_SETINDENTATIONGUIDES for details on the difference.

%SC_INDIC

There is only one predefined flag value defined for indicSetFlags, plus a flag bit and a mask that can be used in conjunction with setIndicatorValue.

    Key                     |           | Description
    ------------------------+-----------+-------------
    SC_INDICFLAG_NONE       | 0         | The indicator foreground depends on the foreground setting
    SC_INDICFLAG_VALUEFORE  | 1         | The indicator foreground depends on file location
    ------------------------+-----------+-------------
    SC_INDICVALUEMASK       | 0x0FFFFFF | Mask for getting value without the flag bit
    SC_INDICVALUEBIT        | 0x1000000 | Flag bit set true in setIndicatorValue()
%SC_INDICSTYLE

Used by indicSetStyle

    -------------------------------------------------+----+--------------------------------------
    INDIC_PLAIN                                      | 0  | A plain underline.
    INDIC_SQUIGGLE                                   | 1  | A squiggly underline.
    INDIC_TT                                         | 2  | A line of small T shapes.
    INDIC_DIAGONAL                                   | 3  | Diagonal hatching.
    INDIC_STRIKE                                     | 4  | Strike out.
    INDIC_HIDDEN                                     | 5  | An indicator with no visual effect.
    INDIC_BOX                                        | 6  | A rectangle around the text.
    INDIC_ROUNDBOX                                   | 7  | A rectangle with rounded corners
    INDIC_STRAIGHTBOX                                | 8  | A rectangle, filled but semi-transparent
    INDIC_FULLBOX                                    | 16 | A rectangle, filled but semi-transparent (larger)
    INDIC_DASH                                       | 9  | A dashed underline.
    INDIC_DOTS                                       | 10 | A dotted underline.
    INDIC_SQUIGGLELOW                                | 11 | Smaller squiggly underline.
    INDIC_DOTBOX                                     | 12 | A dotted rectangle around the text.
    INDIC_GRADIENT                                   | 20 | A vertical gradient, top to bottom.
    INDIC_GRADIENTCENTRE                             | 21 | A vertical gradient, center to outside.
    INDIC_SQUIGGLEPIXMAP                             | 13 | A squiggle drawn more efficiently but not as pretty.
    INDIC_COMPOSITIONTHICK                           | 14 | A 2-pixel underline, lower than INDIC_PLAIN
    INDIC_COMPOSITIONTHIN                            | 15 | A 1-pixel underline.
    INDIC_TEXTFORE                                   | 17 | Change text foreground.
    INDIC_POINT                                      | 18 | A triangle below the start of the indicator.
    INDIC_POINTCHARACTER                             | 19 | A triangle below the center of the first character.
    INDIC_POINT_TOP                                  | 22 | Draw a triangle above the start of the indicator range. [npp8.4]
    INDIC_EXPLORERLINK                               | 23 | Indicator used for hyperlinks [npp7.9]
    -------------------------------------------------+----+--------------------------------------
    INDICATOR_HISTORY_REVERTED_TO_ORIGIN_INSERTION   | 36 | Text was deleted and saved but then reverted to its original state. This text has not been saved to disk.  [npp8.4]
    INDICATOR_HISTORY_REVERTED_TO_ORIGIN_DELETION    | 37 | Text was inserted and saved but then reverted to its original state. There is text on disk that is missing. [npp8.4]
    INDICATOR_HISTORY_SAVED_INSERTION                | 38 | Text was inserted and saved. This text is the same as on disk. [npp8.4]
    INDICATOR_HISTORY_SAVED_DELETION                 | 39 | Text was deleted and saved. This range is the same as on disk. [npp8.4]
    INDICATOR_HISTORY_MODIFIED_INSERTION             | 40 | Text was inserted but not yet saved. This text has not been saved to disk. [npp8.4]
    INDICATOR_HISTORY_MODIFIED_DELETION              | 41 | Text was deleted but not yet saved. There is text on disk that is missing. [npp8.4]
    INDICATOR_HISTORY_REVERTED_TO_MODIFIED_INSERTION | 42 | Text was deleted and saved but then reverted but not to its original state. This text has not been saved to disk. [npp8.4]
    INDICATOR_HISTORY_REVERTED_TO_MODIFIED_DELETION  | 43 | Text was inserted and saved but then reverted but not to its original state. There is text on disk that is missing. [npp8.4]
    -------------------------------------------------+----+--------------------------------------
    INDICATOR_CONTAINER                              | 8  | Containers use indexes 8-31 [npp7.8]
    INDICATOR_IME                                    | 32 | IME use indexes 32 - IME_MAX [npp7.8]
    INDICATOR_IME_MAX                                | 35 | Maximum IME index [npp7.8]
    INDICATOR_MAX                                    | 43 | Maximum indicator index [npp7.8]

Note that the INDICATOR_* values are used as style indexes, not style values. (The Scintilla Documentation also gives older INDIC_ values for those, but claims that the INDICATOR_ name is preferred, so that is all that is implemented here.)

[npp#.#] Value added in particular version of Notepad++; not available in earlier versions. [npp7.8] Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer. [npp8.4] Noted values require at least Scintilla v5.2, found in Notepad++ v8.4 and newer.

%SC_KEY

Used by key binding methods

Available Keys:

    Hash-Key Name | Keycode | Description
    --------------+---------+-------------
    SCK_ESCAPE    | 7       | Esc/Escape
    SCK_BACK      | 8       | Backspace
    SCK_TAB       | 9       | Tab
    SCK_RETURN    | 13      | Return/Enter
    SCK_DOWN      | 300     | Down arrow
    SCK_UP        | 301     | Up arrow
    SCK_LEFT      | 302     | Left arrow
    SCK_RIGHT     | 303     | Right arrow
    SCK_HOME      | 304     | Home
    SCK_END       | 305     | End
    SCK_PRIOR     | 306     | PageUp
    SCK_NEXT      | 307     | PageDown
    SCK_DELETE    | 308     | Del/Delete
    SCK_INSERT    | 309     | Ins/Insert
    SCK_ADD       | 310     | Numeric Keypad +
    SCK_SUBTRACT  | 311     | Numeric Keypad -
    SCK_DIVIDE    | 312     | Numeric Keypad /
    SCK_WIN       | 313     | Windows Key
    SCK_RWIN      | 314     | Right Windows Key
    SCK_MENU      | 315     | Menu Key

Key Modifiers:

    Hash-Key Name | Value   | Description
    --------------+---------+-------------
    SCMOD_NORM    | 0       | Unmodified
    SCMOD_SHIFT   | 1       | Shift
    SCMOD_CTRL    | 2       | Ctrl
    SCMOD_ALT     | 4       | Alt
    SCMOD_SUPER   | 8       | Super can indicate the Windows key as the modifier
    SCMOD_META    | 16      | Some systems may use Meta instead of Ctrl or Alt

For normal keys (letters, numbers, punctuation), the $km ("key+modifier") code is the codepoint for that character. For special keys (arrows, Escape, and similar), use the $SCKEY{SCK_*} entry for that key. If you want to indicate a modified key, add on the $SCKEY{SCK_*} shifted 16 bits up.

    # Ctrl+HOME being assigned to SCI_HOME
    my $km_ctrl_home = $SCKEY{SCK_HOME} + ($SCKEY{SCMOD_CTRL}<<16);
    notepad->assignCmdKey($km_alt_q, $SCIMSG{SCI_HOME});

    # Alt+Q being assigned to SCI_SELECTALL
    my $km_alt_q = ord('Q') + ($SCKEY{SCMOD_ALT}<<16);
    notepad->assignCmdKey($km_alt_q, $SCIMSG{SCI_SELECTALL});
%SC_KEYWORDSET

Used by setKeyWords.

The only key is KEYWORDSET_MAX, which indicates the maximum index for the keywordSet. It is zero based, so there are $KEYWORDSET{KEYWORDSET_MAX}+1 sets of keywords allowed, with indexes from 0 to $KEYWORDSET{KEYWORDSET_MAX}.

This is generally used by lexers, to define the different groups of keywords (like "NUMBER", "INSTRUCTION WORD", "STRING", "REGEX" and similar in the Perl lexer).

%SC_LAYER

Used by setSelectionLayer.

    # with new SCI_SETSELECTIONLAYER
    Key                             | Value | Description
    --------------------------------|-------|-------------
    SC_LAYER_BASE                   |  0    | Draw the selection background opaquely on the base layer
    SC_LAYER_UNDER_TEXT             |  1    | Draw the selection background translucently under the text.
    SC_LAYER_OVER_TEXT              |  2    | Draw the selection background translucently over the text.

Message requires at least Scintilla v5.2, found in Notepad++ v8.4 and newer.

%SC_LINECHARACTERINDEX

Used by getLineCharacterIndex.

    Key                         |   | Description
    ----------------------------|---|-------------
    SC_LINECHARACTERINDEX_NONE  | 0 | If only bytes are indexed
    SC_LINECHARACTERINDEX_UTF32 | 1 | If whole 32bit (4byte) UTF32 characters are indexed
    SC_LINECHARACTERINDEX_UTF16 | 2 | If whole 16bit (2byte) UTF16 code units are indexed

All of these values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_MARGIN

Used by setMarginTypeN and other margin-related commands

    Key                           |   | Description
    ------------------------------+---+-------------
                   margin indexes |   |
    SC_MAX_MARGIN                 | 4 | The initial margins are indexed 0 .. SC_MAX_MARGIN
    ------------------------------+---+-------------
                     margin types |   |
    SC_MARGIN_SYMBOL              | 0 | Use a symbol in the margin
    SC_MARGIN_NUMBER              | 1 | Use line number in the margin
    SC_MARGIN_TEXT                | 4 | Use left-justified text in the margin
    SC_MARGIN_RTEXT               | 5 | Use right-justified text in the margin
    SC_MARGIN_BACK                | 2 | Use STYLE_DEFAULT's background color on a margin-symbol
    SC_MARGIN_FORE                | 3 | Use STYLE_DEFAULT's foreground color on a margin-symbol
    SC_MARGIN_COLOUR              | 6 | Use spefied color on a margin-symbol [npp7.8]
    ------------------------------+---+-------------
                   margin options |   |
    SC_MARGINOPTION_NONE          | 0 | No option set via setMarginOptions()
    SC_MARGINOPTION_SUBLINESELECT | 1 | Affects whole-line selection of wrapped text

If the SUBLINESELECT is enabled, clicking on the margin will only select the visible "line" (even if line-wrap extends the real line to more than one screen line); if disabled (default), clicking on the margin will select the entire real line (even if line-wrap extends the real line to more than one screen line)

See also Scintilla's MARGIN documentation.

[npp7.8] Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_MARK

Used as the $markerSymbol by markerDefine and related metbhods.

    Key                             | Value | Notes
    --------------------------------|-------|-------
    SC_MARK_ARROW                   | 2     |
    SC_MARK_ARROWDOWN               | 6     |
    SC_MARK_ARROWS                  | 24    |
    SC_MARK_AVAILABLE               | 28    |
    SC_MARK_BACKGROUND              | 22    |
    SC_MARK_BOOKMARK                | 31    |
    SC_MARK_BOXMINUS                | 14    |
    SC_MARK_BOXMINUSCONNECTED       | 15    |
    SC_MARK_BOXPLUS                 | 12    |
    SC_MARK_BOXPLUSCONNECTED        | 13    |
    SC_MARK_CHARACTER               | 10000 |
    SC_MARK_CIRCLE                  | 0     |
    SC_MARK_CIRCLEMINUS             | 20    |
    SC_MARK_CIRCLEMINUSCONNECTED    | 21    |
    SC_MARK_CIRCLEPLUS              | 18    |
    SC_MARK_CIRCLEPLUSCONNECTED     | 19    |
    SC_MARK_DOTDOTDOT               | 23    |
    SC_MARK_EMPTY                   | 5     |
    SC_MARK_FULLRECT                | 26    |
    SC_MARK_LCORNER                 | 10    |
    SC_MARK_LCORNERCURVE            | 16    |
    SC_MARK_LEFTRECT                | 27    |
    SC_MARK_MINUS                   | 7     |
    SC_MARK_PIXMAP                  | 25    |
    SC_MARK_PLUS                    | 8     |
    SC_MARK_RGBAIMAGE               | 30    |
    SC_MARK_ROUNDRECT               | 1     |
    SC_MARK_SHORTARROW              | 4     |
    SC_MARK_SMALLRECT               | 3     |
    SC_MARK_TCORNER                 | 11    |
    SC_MARK_TCORNERCURVE            | 17    |
    SC_MARK_UNDERLINE               | 29    |
    SC_MARK_VERTICALBOOKMARK        | 32    | [npp7.8]
    SC_MARK_VLINE                   | 9     |
    SC_MARK_BAR                     | 33    | [npp8.4]

Hopefully, the names describe the symbol. If it's not sufficient, then see the Scintilla documentation for SCI_MARKERDEFINE, which has an image of the marker symbols.

[npp7.8] Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer. [npp8.4] Noted values require at least Scintilla v5.2, found in Notepad++ v8.4 and newer.

%SC_MARKNUM

Used by marker-related methods.

    Key                                     |            | Description
    ----------------------------------------+------------+------------------------------------
    MARKER_MAX                              | 31         | The highest $markerNumber available
    SC_MARKNUM_FOLDEROPEN                   | 31         | Start of uncollapsed folding region
    SC_MARKNUM_FOLDER                       | 30         | Start of collapsed folding region
    SC_MARKNUM_FOLDERSUB                    | 29         | Inside of uncollapsed folding region
    SC_MARKNUM_FOLDERTAIL                   | 28         | End of uncollapsed folding region
    SC_MARKNUM_FOLDEREND                    | 25         | Branch of collapsed folding region (such as "else" block)
    SC_MARKNUM_FOLDEROPENMID                | 26         | Branch of uncollapsed folding region (such as "else" block)
    SC_MARKNUM_FOLDERMIDTAIL                | 27         | Branch-of uncollapsed folding region (such as "else" block)
    ----------------------------------------+------------+------------------------------------
    SC_MARKNUM_HISTORY_REVERTED_TO_ORIGIN   | 21         | A change was made to this line and saved but then reverted to its original state. This line is different to its state on disk. [npp8.4]
    SC_MARKNUM_HISTORY_SAVED                | 22         | This line was modified and saved. This line is the same as its state on disk. [npp8.4]
    SC_MARKNUM_HISTORY_MODIFIED             | 23         | This line was modified but not yet saved. This line is different to its state on disk. [npp8.4]
    SC_MARKNUM_HISTORY_REVERTED_TO_MODIFIED | 24         | A change was made to this line and saved but then reverted but not to its original state. This line is different to its state on disk. [npp8.4]
    ----------------------------------------+------------+------------------------------------
    SC_MASK_FOLDERS                         | 0xFE000000 | Useful for setMarginMaskN

[npp8.4] Noted values require at least Scintilla v5.2, found in Notepad++ v8.4 and newer.

%SC_MOD

Used by setModEventMask and the SCN_MODIFIED notification.

    Key                     | Value    |
    ------------------------+----------+-
    SC_LASTSTEPINUNDOREDO   | 0x100    |
    SC_MULTISTEPUNDOREDO    | 0x80     |
    SC_MULTILINEUNDOREDO    | 0x1000   |
    SC_STARTACTION          | 0x2000   |
    SC_MOD_NONE             | 0x0      |
    SC_MOD_BEFOREDELETE     | 0x800    |
    SC_MOD_BEFOREINSERT     | 0x400    |
    SC_MOD_CHANGEANNOTATION | 0x20000  |
    SC_MOD_CHANGEFOLD       | 0x8      |
    SC_MOD_CHANGEINDICATOR  | 0x4000   |
    SC_MOD_CHANGELINESTATE  | 0x8000   |
    SC_MOD_CHANGEMARGIN     | 0x10000  |
    SC_MOD_CHANGEMARKER     | 0x200    |
    SC_MOD_CHANGESTYLE      | 0x4      |
    SC_MOD_CHANGETABSTOPS   | 0x200000 |
    SC_MOD_CONTAINER        | 0x40000  |
    SC_MOD_DELETETEXT       | 0x2      |
    SC_MOD_INSERTCHECK      | 0x100000 |
    SC_MOD_INSERTTEXT       | 0x1      |
    SC_MOD_LEXERSTATE       | 0x80000  |
    SC_PERFORMED_REDO       | 0x40     |
    SC_PERFORMED_UNDO       | 0x20     |
    SC_PERFORMED_USER       | 0x10     |
    SC_MODEVENTMASKALL      | 0x3FFFFF |

If you details on what they each mean, you should see SCN_MODIFIED in the Scintilla Docs.

%SC_MULTIAUTOC

Used by autoCSetMulti. Affects how autocompletion interacts with multi-selection (having more than one area selelected at once).

    Key                |   | Autocompletion affects ...
    -------------------|---|-------------
    SC_MULTIAUTOC_ONCE | 0 | ... only the first area of a multi-selection (default)
    SC_MULTIAUTOC_EACH | 1 | ... each area of the multi-selection
%SC_MULTIPASTE

Used by setMultiPaste.

    Key                |   | Paste into ...
    -------------------|---|-------------
    SC_MULTIPASTE_ONCE | 0 | ... only the first area of a multi-selection (default)
    SC_MULTIPASTE_EACH | 1 | ... each area of the multi-selection
%SC_PHASES

Used by setPhasesDraw.

    Key                 |   | Description
    --------------------|---|-------------
    SC_PHASES_ONE       | 0 | (deprecated) Single drawing phase
    SC_PHASES_TWO       | 1 | Draw background first, then text above it
    SC_PHASES_MULTIPLE  | 2 | Draw whole area multiple times, once per feature
%SC_POPUP

Used by usePopUp.

    Key             |   | Description
    ----------------|---|-------------
    SC_POPUP_NEVER  | 0 | Never show default editing menu
    SC_POPUP_ALL    | 1 | Show default editing menu if clicking on scintilla
    SC_POPUP_TEXT   | 2 | Show default editing menu only if clicking on text area

All of these values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_PRINTCOLOURMODE

Used by setPrintColourMode.

    Key                             |   | Description
    --------------------------------|---|-------------
    SC_PRINT_NORMAL                 | 0 | Use screen colours, excluding line numbers in margins
    SC_PRINT_INVERTLIGHT            | 1 | For dark background, invert print colour and use white background
    SC_PRINT_BLACKONWHITE           | 2 | All text as black on white
    SC_PRINT_COLOURONWHITE          | 3 | All text as displayed colour, on white
    SC_PRINT_COLOURONWHITEDEFAULTBG | 4 | Use displayed foreground colour, background depends on style
    SC_PRINT_SCREENCOLOURS          | 5 | Use screen colours, including line numbers in margins [npp7.8]

[npp7.8] Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_REPRESENTATION

Used by setRepresentationAppearance.

    Key                             | Value | Description
    --------------------------------|-------|-------------
    SC_REPRESENTATION_PLAIN         | 0     | Draw the representation text with no decorations.
    SC_REPRESENTATION_BLOB          | 1     | Draw the representation text inverted in a rounded rectangle. This is the default appearance.
    SC_REPRESENTATION_COLOUR        | 0x10  | Draw the representation in the colour set with SCI_SETREPRESENTATIONCOLOUR instead of in the colour of the style of the text being represented.

Message requires at least Scintilla v5.2, found in Notepad++ v8.4 and newer.

%SC_SEL

Used by setSelectionMode.

    Key              |   | Description
    -----------------|---|-------------
    SC_SEL_STREAM    | 0 | Stream selection (default)
    SC_SEL_RECTANGLE | 1 | Rectangular (column) selection
    SC_SEL_LINES     | 2 | Select by lines
    SC_SEL_THIN      | 3 | Thin rectangle (allows zero-width column-selection)
%SC_STATUS

Used by getStatus.

    Key                     |      | Description
    ------------------------|------|-------------
    SC_STATUS_OK            | 0    | No failures
    SC_STATUS_FAILURE       | 1    | Generic failure
    SC_STATUS_BADALLOC      | 2    | Memory is exhausted
    SC_STATUS_WARN_REGEX    | 1001 | Regular expression is invalid
%SC_STYLE

Used by Style definition methods.

These styles correspond to Dialog Entries in Settings > Style Configurator > Global Styles

    Key                    |     | Dialog Entry
    -----------------------|-----|-------------
    STYLE_DEFAULT          | 32  | Default Style
    STYLE_LINENUMBER       | 33  | Line number margin
    STYLE_BRACELIGHT       | 34  | Brace highlight style
    STYLE_BRACEBAD         | 35  | Brace bad colour
    STYLE_CONTROLCHAR      | 36  | (*) Control Characters
    STYLE_INDENTGUIDE      | 37  | Indent guideline style
    STYLE_CALLTIP          | 38  | (*) Call tips
    STYLE_FOLDDISPLAYTEXT  | 39  | (*) Call tips [npp7.8]
    -----------------------|-----|-------------
    STYLE_LASTPREDEFINED   | 39  | (*) This is the last of Scintilla's predefined style indexes
    STYLE_MAX              | 255 | (*) This is the last style number index available
    -----------------------|-----|-------------
    NPP_STYLE_MARK5        | 21  | (+) Mark Style 5
    NPP_STYLE_MARK4        | 22  | (+) Mark Style 4
    NPP_STYLE_MARK3        | 23  | (+) Mark Style 3
    NPP_STYLE_MARK2        | 24  | (+) Mark Style 2
    NPP_STYLE_MARK1        | 25  | (+) Mark Style 1
    NPP_STYLE_TAGATTR      | 26  | (+) Tags attribute
    NPP_STYLE_TAGMATCH     | 27  | (+) Tags match highlighting
    NPP_STYLE_HILITE_INCR  | 28  | (+) Incremental highlight all
    NPP_STYLE_HILITE_SMART | 29  | (+) Smart HighLighting
    NPP_STYLE_FINDMARK     | 31  | (+) Find Mark Style

*: these keys do not have a corresponding entry in the Style Configurator.

+: This hash also has values not defined by Scintilla, but used by Notepad++'s Global Styles. It still doesn't cover all of Notepad++'s Global Styles available, because they do not use Scintilla's styler rules to implement those styles (many use the same styleID of 0, and one uses a styleID greater than STYLE_MAX), so you might not be able to set those using the style defintion methods.

[npp7.8] Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_SUPPORTS

Used by scintillaSupportsFeature.

    Key                                     | Value | Description
    ----------------------------------------|-------|-------------
    SC_SUPPORTS_LINE_DRAWS_FINAL            | 0     | Whether drawing a line draws its final position.
    SC_SUPPORTS_PIXEL_DIVISIONS             | 1     | Are logical pixels larger than physical pixels?
    SC_SUPPORTS_FRACTIONAL_STROKE_WIDTH     | 2     | Can lines be drawn with fractional widths like 1.5 or 0.5 pixels?
    SC_SUPPORTS_TRANSLUCENT_STROKE          | 3     | Can translucent lines, polygons, ellipses, and text be drawn?
    SC_SUPPORTS_PIXEL_MODIFICATION          | 4     | Can individual pixels be modified? This is false for character cell platforms like curses.
    SC_SUPPORTS_THREAD_SAFE_MEASURE_WIDTHS  | 5     | Can text measurement be safely performed concurrently on multiple threads?

Message requires at least Scintilla v5.2, found in Notepad++ v8.4 and newer.

%SC_TABDRAW

Used by setTabDrawMode.

    Key            |   | Description
    ---------------|---|-------------
    SCTD_LONGARROW | 0 | Arrow stretching until tabstop
    SCTD_STRIKEOUT | 1 | Horizontal line stretching until tabstop

All of these values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_TECHNOLOGY

Used by setTechnology.

    Key                             |   | Description
    --------------------------------|---|-------------
    SC_TECHNOLOGY_DEFAULT           | 0 | Use standard API
    SC_TECHNOLOGY_DIRECTWRITE       | 1 | Use DirectWrite API
    SC_TECHNOLOGY_DIRECTWRITERETAIN | 2 | Use DirectWrite API, retaining the frame
    SC_TECHNOLOGY_DIRECTWRITEDC     | 3 | use DirectWrite API to draw into a GDI DC

In Windows XP (and earlier), only SC_TECHNOLOGY_DEFAULT is supported.

%SC_TEXTRETRIEVAL

Used internally by Text retrieval and modification methods to indicate an invalid position was passed. Never returned to the user.

%SC_TIMEOUT

Used by setMouseDwellTime.

    Key             |          | Description
    ----------------|----------|-------------
    SC_TIME_FOREVER | 10000000 | No dwell events are generated
%SC_TYPE

Used by propertyType.

    Key             |   | Description
    ----------------|---|-------------
    SC_TYPE_BOOLEAN | 0 | Property is true/false
    SC_TYPE_INTEGER | 1 | Property is integer
    SC_TYPE_STRING  | 2 | Property is string
%SC_UNDO

Used by addUndoAction.

    Key               |   | Description
    ------------------|---|-------------
    UNDO_MAY_COALESCE | 1 | combine this action with insert/delete for single group undo
    UNDO_NONE         | 0 | keep undo separate from insert/delete (default)
%SC_VIRTUALSPACE

Used by setVirtualSpaceOptions

    Key                         |   | Description
    ----------------------------+---+--------------------------------------------------
    SCVS_NONE                   | 0 | Disables all use of virtual space
    SCVS_RECTANGULARSELECTION   | 1 | Enable virtual space for rectangular selections
    SCVS_USERACCESSIBLE         | 2 | Enable virtual space for other circumstances
    SCVS_NOWRAPLINESTART        | 4 | Prevents left-arrow movement from column 0 wrapping to previous line [npp7.8]

[npp7.8] Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_VISIBLE

Used by setVisiblePolicy.

    Key            |   | Description
    ---------------|---|-------------
    VISIBLE_SLOP   | 1 | Adds a buffer zone
    VISIBLE_STRICT | 4 | Enforces the zone strictly; caret is centered in slop
%SC_WEIGHT

Used by styleSetWeight.

    Key                 |     | Description
    --------------------|-----|-------------
    SC_WEIGHT_NORMAL    | 400 | Normal
    SC_WEIGHT_BOLD      | 700 | Bold
    SC_WEIGHT_SEMIBOLD  | 600 | Between normal and bold
%SC_WHITESPACE

Used by setViewWS

    Key                         |   | Description
    ----------------------------+---+--------------------------------------------------
    SCWS_INVISIBLE              | 0 | The normal display mode with white space displayed as an empty background colour.
    SCWS_VISIBLEALWAYS          | 1 | White space characters are drawn as dots and arrows,
    SCWS_VISIBLEAFTERINDENT     | 2 | White space used for indentation is displayed normally but after the first visible character, it is shown as dots and arrows.
    SCWS_VISIBLEONLYININDENT    | 3 | White space used for indentation is displayed as dots and arrows. [npp7.8]

[npp7.8] Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_WRAPINDENT

Used by setWrapIndent.

    Key                         |   | Description
    ----------------------------|---|-------------
    SC_WRAPINDENT_FIXED         | 0 | Wrapped lines are based on setWrapStartIndent
    SC_WRAPINDENT_SAME          | 1 | Wrapped lines match the starting indentation
    SC_WRAPINDENT_INDENT        | 2 | Wrapped sublines are aligned to first subline indent plus one more level of indentation
    SC_WRAPINDENT_DEEPINDENT    | 3 | Wrapped sublines are aligned to first subline indent plus two more levels of indentation [npp7.8]

[npp7.8] Noted values require at least Scintilla v4.2.0, found in Notepad++ v7.8 and newer.

%SC_WRAPMODE

Used by setWrapMode.

    Key                |   | Description
    -------------------|---|-------------
    SC_WRAP_NONE       | 0 | No wrap
    SC_WRAP_WORD       | 1 | Wrap on word or style boundaries
    SC_WRAP_CHAR       | 2 | Wrap between any char
    SC_WRAP_WHITESPACE | 3 | Wrap at whitespace
%SC_WRAPVISUALFLAG

Used by setWrapVisualFlags.

    Key                      |        | Description
    -------------------------|--------|-------------
    SC_WRAPVISUALFLAG_NONE   | 0x0000 | No visual flags
    SC_WRAPVISUALFLAG_END    | 0x0001 | Visual flag at end of each subline
    SC_WRAPVISUALFLAG_START  | 0x0002 | Visual flag at start of each subline
    SC_WRAPVISUALFLAG_MARGIN | 0x0004 | Visual flag in the line-number margin
%SC_WRAPVISUALFLAGLOC

Used by setWrapVisualFlagsLocation.

    Key                                |        | Description
    -----------------------------------|--------|-------------
    SC_WRAPVISUALFLAGLOC_DEFAULT       | 0x0000 | Near border
    SC_WRAPVISUALFLAGLOC_END_BY_TEXT   | 0x0001 | End of subline
    SC_WRAPVISUALFLAGLOC_START_BY_TEXT | 0x0002 | Beginning of subline

NOTIFICATIONS

Not yet used, but the constants are available

%SCINTILLANOTIFICATION

If you are interested, you can find all the message keys with code like the following:

    use Win32::Mechanize::NotepadPlusPlus ':vars';
    printf "%-39s => %d\n", $_, $SCINTILLANOTIFICATION{$_} for sort { $SCINTILLANOTIFICATION{$a} <=> $SCINTILLANOTIFICATION{$b} } keys %SCINTILLANOTIFICATION;   # prints all scintilla notification keys in numerical order
%SCN_ARGS

When notifications are implemented, these will be split into multiple hashes and documented more fully.

INSTALLATION

Installed as part of Win32::Mechanize::NotepadPlusPlus

AUTHOR

Peter C. Jones <petercj AT cpan DOT org>

Please report any bugs or feature requests emailing <bug-Win32-Mechanize-NotepadPlusPlus AT rt.cpan.org> or thru the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Win32-Mechanize-NotepadPlusPlus, or thru the repository's interface at https://github.com/pryrt/Win32-Mechanize-NotepadPlusPlus/issues.

COPYRIGHT

Copyright (C) 2019,2020 Peter C. Jones

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information.