3 Star 9 Fork 7

Gitee 极速下载/WinMerge

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
.github/workflows
ArchiveSupport/Merge7z
ColorSchemes
Docs
Externals
Filters
Installer
Plugins
ShellExtension
Src
Common
CompareEngines
diffutils
res
7zCommon.cpp
7zCommon.h
AboutDlg.cpp
AboutDlg.h
BasicFlatStatusBar.cpp
BasicFlatStatusBar.h
COPYING
ClipboardHistory.cpp
ClipboardHistory.h
ColorSchemes.cpp
ColorSchemes.h
CompareOptions.cpp
CompareOptions.h
CompareStatisticsDlg.cpp
CompareStatisticsDlg.h
CompareStats.cpp
CompareStats.h
Concurrent.cpp
Concurrent.h
ConfigLog.cpp
ConfigLog.h
ConfirmFolderCopyDlg.cpp
ConfirmFolderCopyDlg.h
ConflictFileParser.cpp
ConflictFileParser.h
Constants.h
DDXHelper.h
Diff3.h
DiffContext.cpp
DiffContext.h
DiffFileData.cpp
DiffFileData.h
DiffFileInfo.cpp
DiffFileInfo.h
DiffItem.cpp
DiffItem.h
DiffItemList.cpp
DiffItemList.h
DiffList.cpp
DiffList.h
DiffTextBuffer.cpp
DiffTextBuffer.h
DiffThread.cpp
DiffThread.h
DiffViewBar.cpp
DiffViewBar.h
DiffWrapper.cpp
DiffWrapper.h
DirActions.cpp
DirActions.h
DirAdditionalPropertiesDlg.cpp
DirAdditionalPropertiesDlg.h
DirCmpReport.cpp
DirCmpReport.h
DirCmpReportDlg.cpp
DirCmpReportDlg.h
DirColsDlg.cpp
DirColsDlg.h
DirCompProgressBar.cpp
DirCompProgressBar.h
DirDoc.cpp
DirDoc.h
DirFilterDlg.cpp
DirFilterDlg.h
DirFrame.cpp
DirFrame.h
DirItem.cpp
DirItem.h
DirItemIterator.h
DirReportTypes.h
DirScan.cpp
DirScan.h
DirSelectFilesDlg.cpp
DirSelectFilesDlg.h
DirTravel.cpp
DirTravel.h
DirView.cpp
DirView.h
DirViewColItems.cpp
DirViewColItems.h
DirWatcher.cpp
DirWatcher.h
DropHandler.cpp
DropHandler.h
EditPluginDlg.cpp
EditPluginDlg.h
EditorFilepathBar.cpp
EditorFilepathBar.h
EncodingErrorBar.cpp
EncodingErrorBar.h
Environment.cpp
Environment.h
Exceptions.h
FileActionScript.cpp
FileActionScript.h
FileFilter.cpp
FileFilter.h
FileFilterHelper.cpp
FileFilterHelper.h
FileFilterMgr.cpp
FileFilterMgr.h
FileFiltersDlg.cpp
FileFiltersDlg.h
FileFlags.cpp
FileFlags.h
FileLoadResult.h
FileLocation.h
FileOpenFlags.h
FileOrFolderSelect.cpp
FileOrFolderSelect.h
FileTextEncoding.cpp
FileTextEncoding.h
FileTextStats.h
FileTransform.cpp
FileTransform.h
FileVersion.cpp
FileVersion.h
FilepathEdit.cpp
FilepathEdit.h
FilterList.cpp
FilterList.h
FolderCmp.cpp
FolderCmp.h
FrameWndHelper.cpp
FrameWndHelper.h
GhostTextBuffer.cpp
GhostTextBuffer.h
GhostTextView.cpp
GhostTextView.h
HashCalc.cpp
HashCalc.h
HexMergeDoc.cpp
HexMergeDoc.h
HexMergeFrm.cpp
HexMergeFrm.h
HexMergeView.cpp
HexMergeView.h
IAbortable.h
IDirDoc.h
IListCtrl.h
IListCtrlImpl.h
IMergeDoc.h
IOptionsPanel.h
ImgMergeFrm.cpp
ImgMergeFrm.h
IntToIntMap.h
InternalPlugins.cpp
InternalPlugins.h
JumpList.cpp
JumpList.h
LineFiltersDlg.cpp
LineFiltersDlg.h
LineFiltersList.cpp
LineFiltersList.h
LoadSaveCodepageDlg.cpp
LoadSaveCodepageDlg.h
LocationBar.cpp
LocationBar.h
LocationView.cpp
LocationView.h
Logger.cpp
Logger.h
MainFrm.cpp
MainFrm.h
MenuBar.cpp
MenuBar.h
Merge.cpp
Merge.h
Merge.rc
Merge.vcxproj
Merge.vcxproj.filters
Merge2.rc
Merge7zFormatMergePluginImpl.cpp
Merge7zFormatMergePluginImpl.h
Merge7zFormatRegister.h
Merge7zFormatShellImpl.cpp
Merge7zFormatShellImpl.h
MergeApp.cpp
MergeApp.h
MergeAppCOMClass.cpp
MergeAppCOMClass.h
MergeAppLib.h
MergeAppLib.idl
MergeCmdLineInfo.cpp
MergeCmdLineInfo.h
MergeDoc.cpp
MergeDoc.h
MergeDocDiffCopy.cpp
MergeDocDiffSync.cpp
MergeDocEncoding.cpp
MergeDocLineDiffs.cpp
MergeEditFrm.cpp
MergeEditFrm.h
MergeEditSplitterView.cpp
MergeEditSplitterView.h
MergeEditStatus.h
MergeEditView.cpp
MergeEditView.h
MergeFrameCommon.cpp
MergeFrameCommon.h
MergeLang.vcxproj
MergeLang.vcxproj.filters
MergeLineFlags.h
MergeStatusBar.cpp
MergeStatusBar.h
MouseHook.cpp
MouseHook.h
MovedBlocks.cpp
MovedLines.cpp
MovedLines.h
MyReBar.cpp
MyReBar.h
OpenDoc.cpp
OpenDoc.h
OpenFrm.cpp
OpenFrm.h
OpenTableDlg.cpp
OpenTableDlg.h
OpenView.cpp
OpenView.h
OptionsCustomColors.cpp
OptionsCustomColors.h
OptionsDef.h
OptionsDiffColors.cpp
OptionsDiffColors.h
OptionsDiffOptions.cpp
OptionsDiffOptions.h
OptionsDirColors.cpp
OptionsDirColors.h
OptionsEditorSyntax.cpp
OptionsEditorSyntax.h
OptionsFont.cpp
OptionsFont.h
OptionsInit.cpp
OptionsInit.h
OptionsPanel.cpp
OptionsPanel.h
OptionsProject.cpp
OptionsProject.h
OptionsSyntaxColors.cpp
OptionsSyntaxColors.h
OutputBar.cpp
OutputBar.h
OutputDoc.cpp
OutputDoc.h
OutputView.cpp
OutputView.h
PatchDlg.cpp
PatchDlg.h
PatchHTML.cpp
PatchHTML.h
PatchTool.cpp
PatchTool.h
PathContext.cpp
PathContext.h
PluginManager.cpp
PluginManager.h
Plugins.cpp
Plugins.h
PluginsListDlg.cpp
PluginsListDlg.h
ProjectFile.cpp
ProjectFile.h
PropArchive.cpp
PropArchive.h
PropBackups.cpp
PropBackups.h
PropCodepage.cpp
PropCodepage.h
PropColorSchemes.cpp
PropColorSchemes.h
PropCompare.cpp
PropCompare.h
PropCompareBinary.cpp
PropCompareBinary.h
PropCompareFolder.cpp
PropCompareFolder.h
PropCompareImage.cpp
PropCompareImage.h
PropCompareTable.cpp
PropCompareTable.h
PropCompareWebPage.cpp
PropCompareWebPage.h
PropDirColors.cpp
PropDirColors.h
PropEditor.cpp
PropEditor.h
PropEditorCompareMerge.cpp
PropEditorCompareMerge.h
PropEditorSyntax.cpp
PropEditorSyntax.h
PropGeneral.cpp
PropGeneral.h
PropMarkerColors.cpp
PropMarkerColors.h
PropMergeColors.cpp
PropMergeColors.h
PropMessageBoxes.cpp
PropMessageBoxes.h
PropProject.cpp
PropProject.h
PropRegistry.cpp
PropRegistry.h
PropShell.cpp
PropShell.h
PropSyntaxColors.cpp
PropSyntaxColors.h
PropSysColors.cpp
PropSysColors.h
PropTextColors.cpp
PropTextColors.h
PropertySystem.cpp
PropertySystem.h
SaveClosingDlg.cpp
SaveClosingDlg.h
SelectPluginDlg.cpp
SelectPluginDlg.h
SharedFilterDlg.cpp
SharedFilterDlg.h
StdAfx.cpp
StdAfx.h
SubeditList.cpp
SubeditList.h
SubstitutionFiltersDlg.cpp
SubstitutionFiltersDlg.h
SubstitutionFiltersList.cpp
SubstitutionFiltersList.h
SubstitutionList.cpp
SubstitutionList.h
TFile.h
TempFile.cpp
TempFile.h
Test.cpp
TestFilterDlg.cpp
TestFilterDlg.h
TestMain.cpp
TestMain.h
TitleBarHelper.cpp
TitleBarHelper.h
TrDialogs.cpp
TrDialogs.h
WMGotoDlg.cpp
WMGotoDlg.h
WebPageDiffFrm.cpp
WebPageDiffFrm.h
WildcardDropList.cpp
WildcardDropList.h
WinIMergeLib.h
WinMergePluginBase.h
WinWebDiffLib.h
Win_VersionHelper.h
WindowsManagerDialog.cpp
WindowsManagerDialog.h
charsets.c
charsets.h
codepage_detect.cpp
codepage_detect.h
dllpstub.cpp
dllpstub.h
heksedit.h
locality.cpp
locality.h
markdown.cpp
markdown.h
paths.cpp
paths.h
pch.cpp
pch.h
resource.h
stringdiffs.cpp
stringdiffs.h
stringdiffsi.h
xdiff_gnudiff_compat.cpp
xdiff_gnudiff_compat.h
Testing
Tools/Scripts
Translations
.gitattributes
.gitignore
.gitmodules
ALL.vs2017.sln
ALL.vs2019.sln
ALL.vs2022.sln
BuildAll.vs2017.cmd
BuildAll.vs2019.cmd
BuildAll.vs2022.cmd
BuildAll.vs2022x64_vs2017Win32.cmd
BuildArc.cmd
BuildBin.vs2017.cmd
BuildBin.vs2019.cmd
BuildBin.vs2022.cmd
BuildInstaller.cmd
BuildManual.cmd
CreateRelease.cmd
DownloadDeps.cmd
ExpandEnvironmenStrings.js
LICENSE.md
README.md
SetVersion.cmd
UploadToVirusTotal.cmd
Version.h
Version.in
WinMerge.vs2017.sln
WinMerge.vs2019.sln
WinMerge.vs2022.sln
appveyor.yml
runastyle.bat
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/winmerge/winmerge
克隆/下载
FileFilter.h 2.74 KB
一键复制 编辑 原始数据 按行查看 历史
// SPDX-License-Identifier: GPL-2.0-or-later
/**
* @file FileFilter.h
*
* @brief Declaration file for FileFilter
*/
#pragma once
#include <vector>
#include <memory>
#define POCO_NO_UNWINDOWS 1
#include <Poco/RegularExpression.h>
#include "UnicodeString.h"
/**
* @brief FileFilter rule.
*
* Contains one filtering element definition (rule). In addition to
* regular expression there is boolean value for defining if rule
* is inclusive or exclusive. File filters have global inclusive/exclusive
* selection but this per-rule setting overwrites it.
*
* We are using PCRE for regular expressions and pRegExp points to compiled
* regular expression. pRegExpExtra contains additional information about
* the expression used to optimize matching.
*/
struct FileFilterElement
{
Poco::RegularExpression regexp; /**< Compiled regular expression */
std::string _regex; /**< Regular expression string to set to Poco::RegularExpression */
int _reOpts; /**< Options to set to Poco::RegularExpression */
bool _fileNameOnly; /**< If true, indicates that the filter matches only filenames */
FileFilterElement(const std::string& regex, int reOpts, bool fileFilter) :
regexp(regex, reOpts), _regex(regex), _reOpts(reOpts), _fileNameOnly(fileFilter && regex.find("\\\\", 0) == String::npos && regex.find_first_of(":/") == String::npos)
{
}
FileFilterElement(const FileFilterElement* element) :
regexp(element->_regex, element->_reOpts), _regex(element->_regex), _reOpts(element->_reOpts), _fileNameOnly(element->_fileNameOnly)
{
}
};
typedef std::shared_ptr<FileFilterElement> FileFilterElementPtr;
/**
* @brief One actual filter.
*
* For example, this might be a GNU C filter, excluding *.o files and CVS
* directories. That is to say, a filter is a set of file masks and
* directory masks. Usually FileFilter contains rules from one filter
* definition file. So it can be thought as filter file contents.
* @sa FileFilterList
*/
struct FileFilter
{
bool default_include; /**< If true, filter rules are inclusive by default */
String name; /**< Filter name (shown in UI) */
String description; /**< Filter description text */
String fullpath; /**< Full path to filter file */
std::vector<FileFilterElementPtr> filefilters; /**< List of rules for files */
std::vector<FileFilterElementPtr> filefiltersExclude; /**< List of rules for files (exclude) */
std::vector<FileFilterElementPtr> dirfilters; /**< List of rules for directories */
std::vector<FileFilterElementPtr> dirfiltersExclude; /**< List of rules for directories (exclude) */
FileFilter() : default_include(true) { }
~FileFilter();
static void EmptyFilterList(std::vector<FileFilterElementPtr> *filterList);
void CloneFrom(const FileFilter* filter);
};
typedef std::shared_ptr<FileFilter> FileFilterPtr;
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/mirrors/WinMerge.git
git@gitee.com:mirrors/WinMerge.git
mirrors
WinMerge
WinMerge
master

搜索帮助