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.