Plug-in Reference — Inline Functions — Editor_Filter

# Editor_Filter

Filters the document with the specified string and settings. You can use this inline function or explicitly send the EE_FILTER message.

Editor_Filter( HWND hwnd, LPCWSTR szFilter, int iColumn, UINT64 nFlags, INT_PTR xBegin, INT_PTR xEnd );

## Parameters

hwnd

Specifies the window handle of the view or frame of EmEditor.

szFilter

Specifies a string to search for.

iColumn

Specifies the index of the column of the text you want to search, or -1 if you want to search whole lines.

nFlags

You can specify a combination of the following values.

FLAG_FIND_BOOKMARKED_ONLY | Matches bookmarked lines only. This flag cannot be combined with FLAG_FIND_UNBOOKMARKED_ONLY.
FLAG_FIND_CASE | Matches cases.
FLAG_FIND_CONTINUE | Specifies the EE_FILTER message called next time should not clear the filter. This filter is not applied immediately after this message is called. This flag is used when you want to create multiple levels of the filter. It is similar to the FLAG_FIND_KEEP_PREVIOUS flag, but since the actual filter is not applied each time the message is called, this method works faster if there are multiple filter levels.
FLAG_FIND_CR_LF | Matches lines of which the newline character is CR and LF. This flag must be combined with FLAG_FIND_MATCH_NL.
FLAG_FIND_CR_ONLY | Matches lines of which the newline character is CR only. This flag must be combined with FLAG_FIND_MATCH_NL.
FLAG_FIND_ESCAPE | Uses escape sequences.
FLAG_FIND_FUZZY | Uses fuzzy matching.
FLAG_FIND_KEEP_PREVIOUS | Specifies the EE_FILTER message should not clear the existing filter before applying the new filter. This flag is used when you want to create multiple levels of the filter.
FLAG_FIND_LOGICAL_OR | Specifies a logical disjunction (logical OR) to the previous level in case of multiple levels of the filter.
FLAG_FIND_LF_ONLY | Matches lines of which the newline character is LF only. This flag must be combined with FLAG_FIND_MATCH_NL.
FLAG_FIND_LINK_FILE | Specifies pszFilter is the file path to a linked file that contains multiple search strings divided by newlines. If a tab character is included in a line, the search string is the first string not including the tab character. pszFilter may be a relative path from the EmEditor install path. It may contain environment variables such as %USERPROFILE%.
FLAG_FIND_MATCH_NL | Matches specified newline characters. This flag should be combined with FLAG_FIND_CR_LF, FLAG_FIND_CR_ONLY, FLAG_FIND_LF_ONLY, and/or FLAG_FIND_NL_OTHERS.
FLAG_FIND_NEGATIVE | Shows the Filter toolbar and excludes the lines that match the specified string.
FLAG_FIND_NL_OTHERS | Matches lines without a newline character. These lines includes the last line of the file and very long lines that continue to the next line without a newline character. This flag must be combined with FLAG_FIND_MATCH_NL.
FLAG_FIND_NUMBER_RANGE | Matches a number range. This flag cannot be combined with FLAG_FIND_ESCAPE or FLAG_FIND_REG_EXP.
FLAG_FIND_ONLY_WORD | Searches only words.
FLAG_FIND_REG_EXP | Uses a regular expression.
FLAG_FIND_REMOVE_LAST | Removes the last added filter level.
FLAG_FIND_UNBOOKMARKED_ONLY | Matches unbookmarked lines only. This flag cannot be combined with FLAG_FIND_BOOKMARKED_ONLY.
FLAG_FIND_WHOLE_STRING | Matches whole strings.

xBegin

Specifies the index of beginning of the column (in logical characters) of the text you want to search, or -1 if you want to count the last portion of the text and specify as xEnd.

xEnd

Specifies the index of ending of the column (in logical characters) of the text you want to search, or -1 if you want to search all the rest of the text.

## Return Values

The return value is the number of the lines that match the specified string. If the specified string is an empty string, the return value is -1. If FLAG_FIND_CONTINUE is specified, the return value is 0.

## Version

Supported on EmEditor Professional Version 14.7 or later.