pub struct FilterQuery {
pub author: Option<String>,
pub since: Option<DateTime<Local>>,
pub until: Option<DateTime<Local>>,
pub file_pattern: Option<String>,
pub message_pattern: Option<String>,
pub commit_type: Option<GitEventKind>,
pub plain_text: Option<String>,
pub hash_range: Option<(String, String)>,
}Expand description
スマートフィルタクエリ
/で始まるクエリ文字列をパースし、構造化されたフィルタ条件を保持
Fields§
著者フィルタ
since: Option<DateTime<Local>>開始日時フィルタ
until: Option<DateTime<Local>>終了日時フィルタ
file_pattern: Option<String>ファイルパターンフィルタ
message_pattern: Option<String>メッセージパターンフィルタ
commit_type: Option<GitEventKind>コミットタイプフィルタ
plain_text: Option<String>プレーンテキストフィルタ(後方互換用)
hash_range: Option<(String, String)>ハッシュ範囲フィルタ (開始ハッシュ, 終了ハッシュ)
Implementations§
Source§impl FilterQuery
impl FilterQuery
Sourcepub fn matches(&self, event: &GitEvent, files: Option<&[String]>) -> bool
pub fn matches(&self, event: &GitEvent, files: Option<&[String]>) -> bool
イベントがフィルタにマッチするか判定
filesはファイルフィルタ有効時のみ必要
条件は計算コストの低い順に評価される(短絡評価による最適化):
- commit_type: enum比較(最軽量)
- since/until: 日時比較
- author: 文字列部分一致
- message: 文字列部分一致
- plain_text: 複数フィールドの文字列部分一致
- file: 配列走査(最重量)
Sourcepub fn has_file_filter(&self) -> bool
pub fn has_file_filter(&self) -> bool
ファイルフィルタが有効か
Sourcepub fn has_hash_range(&self) -> bool
pub fn has_hash_range(&self) -> bool
ハッシュ範囲フィルタが有効か
Sourcepub fn description(&self) -> String
pub fn description(&self) -> String
フィルタの説明文を生成
Trait Implementations§
Source§impl Clone for FilterQuery
impl Clone for FilterQuery
Source§fn clone(&self) -> FilterQuery
fn clone(&self) -> FilterQuery
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FilterQuery
impl Debug for FilterQuery
Source§impl Default for FilterQuery
impl Default for FilterQuery
Source§fn default() -> FilterQuery
fn default() -> FilterQuery
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for FilterQuery
impl RefUnwindSafe for FilterQuery
impl Send for FilterQuery
impl Sync for FilterQuery
impl Unpin for FilterQuery
impl UnwindSafe for FilterQuery
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more