Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
d4727b4
マルチスレッド、除外ファイルの正規化
hpmy-dev May 21, 2026
bea6726
grep用テスト
hpmy-dev May 21, 2026
9493256
#2459指摘、Grep並列化: RunParallelGrep 切り出し・デッドロック対策・カバレッジ追加 + SonarQube セキ…
hpmy-dev Jun 11, 2026
5461b02
カバレッジ改善、SonarQube改善対応
hpmy-dev Jun 12, 2026
c8989f7
除外ファイルに正規表現のチェックボックスを追加及び機能改善
hpmy-dev Jun 19, 2026
e7c984d
SonarCloud対応
hpmy-dev Jun 22, 2026
6b7e23b
BOM付に変更
hpmy-dev Jun 24, 2026
d05711d
Merge branch 'master' into feature/grepmatulithreads
hpmy-dev Jun 24, 2026
e4dbcc5
SonarQube
hpmy-dev Jul 2, 2026
d11d9ba
Merge branch 'master' into feature/grepmatulithreads
hpmy-dev Jul 3, 2026
e47bd3e
Copyrightの修正
hpmy-dev Jul 3, 2026
15fa171
Merge branch 'feature/grepmatulithreads' of https://github.com/hpmy-d…
hpmy-dev Jul 3, 2026
d276676
コメントでの対応
hpmy-dev Jul 3, 2026
c8a79ca
改善1
Jul 5, 2026
9297564
改善2
Jul 5, 2026
f5c09a8
改善3
hpmy-dev Jul 7, 2026
96fe690
Merge branch 'master' into feature/grepmatulithreads
hpmy-dev Jul 8, 2026
4bbcaf7
Merge branch 'master' into feature/grepmatulithreads
hpmy-dev Jul 9, 2026
32ca169
Merge branch 'master' into feature/grepmatulithreads
hpmy-dev Jul 11, 2026
a57785f
Merge branch 'master' into feature/grepmatulithreads
hpmy-dev Jul 11, 2026
3d6f70e
Merge branch 'master' into feature/grepmatulithreads
hpmy-dev Jul 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion sakura_core/_main/CCommandLine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
Copyright (C) 2005, D.S.Koba, genta, susu
Copyright (C) 2006, ryoji
Copyright (C) 2007, ryoji
Copyright (C) 2018-2022, Sakura Editor Organization
Copyright (C) 2018-2026, Sakura Editor Organization

This source code is designed for sakura editor.
Please contact the copyright holder to use this code for other purpose.
Expand Down Expand Up @@ -484,6 +484,8 @@ void CCommandLine::ParseCommandLine( LPCWSTR pszCmdLineSrc, bool bResponse )
m_gi.bGrepPaste = true; break;
case 'O':
m_gi.bGrepBackup = true; break;
case 'E':
m_gi.bGrepExcludeFileRegexp = true; break;
default:
break;
}
Expand Down
25 changes: 13 additions & 12 deletions sakura_core/_main/CControlTray.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -138,18 +138,19 @@ void CControlTray::DoGrepCreateWindow(HINSTANCE hinst, HWND msgParent, CDlgGrep&

//GOPTオプション
WCHAR pOpt[64] = L"";
if( cDlgGrep.m_bSubFolder )wcscat( pOpt, L"S" ); // サブフォルダーからも検索する
if( cDlgGrep.m_sSearchOption.bLoHiCase )wcscat( pOpt, L"L" ); // 英大文字と英小文字を区別する
if( cDlgGrep.m_sSearchOption.bRegularExp )wcscat( pOpt, L"R" ); // 正規表現
if( cDlgGrep.m_nGrepOutputLineType == 1 )wcscat( pOpt, L"P" ); // 行を出力する
if( cDlgGrep.m_nGrepOutputLineType == 2 )wcscat( pOpt, L"N" ); // 否ヒット行を出力する 2014.09.23
if( cDlgGrep.m_sSearchOption.bWordOnly )wcscat( pOpt, L"W" ); // 単語単位で探す
if( 1 == cDlgGrep.m_nGrepOutputStyle )wcscat( pOpt, L"1" ); // Grep: 出力形式
if( 2 == cDlgGrep.m_nGrepOutputStyle )wcscat( pOpt, L"2" ); // Grep: 出力形式
if( 3 == cDlgGrep.m_nGrepOutputStyle )wcscat( pOpt, L"3" );
if( cDlgGrep.m_bGrepOutputFileOnly )wcscat( pOpt, L"F" );
if( cDlgGrep.m_bGrepOutputBaseFolder )wcscat( pOpt, L"B" );
if( cDlgGrep.m_bGrepSeparateFolder )wcscat( pOpt, L"D" );
if( cDlgGrep.m_bSubFolder )wcscat_s( pOpt, L"S" ); // サブフォルダーからも検索する
if( cDlgGrep.m_sSearchOption.bLoHiCase )wcscat_s( pOpt, L"L" ); // 英大文字と英小文字を区別する
if( cDlgGrep.m_sSearchOption.bRegularExp )wcscat_s( pOpt, L"R" ); // 正規表現
if( cDlgGrep.m_nGrepOutputLineType == 1 )wcscat_s( pOpt, L"P" ); // 行を出力する
if( cDlgGrep.m_nGrepOutputLineType == 2 )wcscat_s( pOpt, L"N" ); // 否ヒット行を出力する 2014.09.23
if( cDlgGrep.m_sSearchOption.bWordOnly )wcscat_s( pOpt, L"W" ); // 単語単位で探す
if( 1 == cDlgGrep.m_nGrepOutputStyle )wcscat_s( pOpt, L"1" ); // Grep: 出力形式
if( 2 == cDlgGrep.m_nGrepOutputStyle )wcscat_s( pOpt, L"2" ); // Grep: 出力形式
if( 3 == cDlgGrep.m_nGrepOutputStyle )wcscat_s( pOpt, L"3" );
if( cDlgGrep.m_bGrepOutputFileOnly )wcscat_s( pOpt, L"F" );
if( cDlgGrep.m_bGrepOutputBaseFolder )wcscat_s( pOpt, L"B" );
if( cDlgGrep.m_bGrepSeparateFolder )wcscat_s( pOpt, L"D" );
if( cDlgGrep.m_bExcludeFileRegularExp )wcscat_s( pOpt, L"E" ); // 除外ファイルを正規表現として扱う
if( pOpt[0] != L'\0' ){
cCmdLine.AppendString( L" -GOPT=" );
cCmdLine.AppendString( pOpt );
Expand Down
47 changes: 25 additions & 22 deletions sakura_core/_main/CNormalProcess.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
Copyright (C) 2007, ryoji
Copyright (C) 2008, Uchi
Copyright (C) 2009, syat, ryoji
Copyright (C) 2018-2022, Sakura Editor Organization
Copyright (C) 2018-2026, Sakura Editor Organization

This source code is designed for sakura editor.
Please contact the copyright holder to use this code for other purpose.
Expand Down Expand Up @@ -211,27 +211,30 @@ bool CNormalProcess::InitializeProcess()
SetMainWindow( pEditWnd->GetHwnd() );
::ReleaseMutex( hMutex );
::CloseHandle( hMutex );
this->m_pcEditApp->m_pcGrepAgent->DoGrep(
&pEditWnd->GetActiveView(),
gi.bGrepReplace,
&gi.cmGrepKey,
&gi.cmGrepRep,
&gi.cmGrepFile,
&gi.cmGrepFolder,
gi.bGrepCurFolder,
gi.bGrepSubFolder,
gi.bGrepStdout,
gi.bGrepHeader,
gi.sGrepSearchOption,
gi.nGrepCharSet, // 2002/09/21 Moca
gi.nGrepOutputLineType,
gi.nGrepOutputStyle,
gi.bGrepOutputFileOnly,
gi.bGrepOutputBaseFolder,
gi.bGrepSeparateFolder,
gi.bGrepPaste,
gi.bGrepBackup
);
{
const SGrepInput grepInput{ &gi.cmGrepKey, &gi.cmGrepRep, &gi.cmGrepFile, &gi.cmGrepFolder };
SGrepOption sGrepOption;
sGrepOption.bGrepReplace = gi.bGrepReplace;
sGrepOption.bGrepSubFolder = gi.bGrepSubFolder != FALSE;
sGrepOption.bGrepStdout = gi.bGrepStdout;
sGrepOption.bGrepHeader = gi.bGrepHeader;
sGrepOption.nGrepCharSet = gi.nGrepCharSet;
sGrepOption.nGrepOutputLineType = gi.nGrepOutputLineType;
sGrepOption.nGrepOutputStyle = gi.nGrepOutputStyle;
sGrepOption.bGrepOutputFileOnly = gi.bGrepOutputFileOnly;
sGrepOption.bGrepOutputBaseFolder = gi.bGrepOutputBaseFolder;
sGrepOption.bGrepSeparateFolder = gi.bGrepSeparateFolder;
sGrepOption.bGrepPaste = gi.bGrepPaste;
sGrepOption.bGrepBackup = gi.bGrepBackup;
this->m_pcEditApp->m_pcGrepAgent->DoGrep(
&pEditWnd->GetActiveView(),
grepInput,
gi.sGrepSearchOption,
sGrepOption,
gi.bGrepCurFolder,
gi.bGrepExcludeFileRegexp
);
}
pEditWnd->m_cDlgFuncList.Refresh(); // アウトラインを再解析する
}
else{
Expand Down
Loading