Merge pull request #1067 from RumovZ/regex-err

Fix regex error formatting and search error escaping
This commit is contained in:
Damien Elmes 2021-03-13 10:16:10 +10:00 committed by GitHub
commit bd959731d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -139,56 +139,56 @@ impl AnkiError {
SearchErrorKind::UnknownEscape(ctx) => i18n SearchErrorKind::UnknownEscape(ctx) => i18n
.trn( .trn(
TR::SearchUnknownEscape, TR::SearchUnknownEscape,
tr_strs!["val"=>(htmlescape::encode_minimal(ctx))], tr_strs!["val"=>(ctx.replace('`', "'"))],
) )
.into(), .into(),
SearchErrorKind::InvalidState(state) => i18n SearchErrorKind::InvalidState(state) => i18n
.trn( .trn(
TR::SearchInvalidArgument, TR::SearchInvalidArgument,
tr_strs!("term" => "is:", "argument" => state), tr_strs!("term" => "is:", "argument" => state.replace('`', "'")),
) )
.into(), .into(),
SearchErrorKind::InvalidFlag => i18n.tr(TR::SearchInvalidFlag), SearchErrorKind::InvalidFlag => i18n.tr(TR::SearchInvalidFlag),
SearchErrorKind::InvalidPropProperty(prop) => i18n SearchErrorKind::InvalidPropProperty(prop) => i18n
.trn( .trn(
TR::SearchInvalidArgument, TR::SearchInvalidArgument,
tr_strs!("term" => "prop:", "argument" => prop), tr_strs!("term" => "prop:", "argument" => prop.replace('`', "'")),
) )
.into(), .into(),
SearchErrorKind::InvalidPropOperator(ctx) => i18n SearchErrorKind::InvalidPropOperator(ctx) => i18n
.trn(TR::SearchInvalidPropOperator, tr_strs!["val"=>(ctx)]) .trn(TR::SearchInvalidPropOperator, tr_strs!["val"=>(ctx)])
.into(), .into(),
SearchErrorKind::Regex(text) => text.into(), SearchErrorKind::Regex(text) => format!("<pre>`{}`</pre>", text.replace('`', "'")).into(),
SearchErrorKind::Other(Some(info)) => info.into(), SearchErrorKind::Other(Some(info)) => info.into(),
SearchErrorKind::Other(None) => i18n.tr(TR::SearchInvalidOther), SearchErrorKind::Other(None) => i18n.tr(TR::SearchInvalidOther),
SearchErrorKind::InvalidNumber { provided, context } => i18n SearchErrorKind::InvalidNumber { provided, context } => i18n
.trn( .trn(
TR::SearchInvalidNumber, TR::SearchInvalidNumber,
tr_strs!["provided"=>provided, "context"=>context], tr_strs!["provided"=>provided.replace('`', "'"), "context"=>context.replace('`', "'")],
) )
.into(), .into(),
SearchErrorKind::InvalidWholeNumber { provided, context } => i18n SearchErrorKind::InvalidWholeNumber { provided, context } => i18n
.trn( .trn(
TR::SearchInvalidWholeNumber, TR::SearchInvalidWholeNumber,
tr_strs!["provided"=>provided, "context"=>context], tr_strs!["provided"=>provided.replace('`', "'"), "context"=>context.replace('`', "'")],
) )
.into(), .into(),
SearchErrorKind::InvalidPositiveWholeNumber { provided, context } => i18n SearchErrorKind::InvalidPositiveWholeNumber { provided, context } => i18n
.trn( .trn(
TR::SearchInvalidPositiveWholeNumber, TR::SearchInvalidPositiveWholeNumber,
tr_strs!["provided"=>provided, "context"=>context], tr_strs!["provided"=>provided.replace('`', "'"), "context"=>context.replace('`', "'")],
) )
.into(), .into(),
SearchErrorKind::InvalidNegativeWholeNumber { provided, context } => i18n SearchErrorKind::InvalidNegativeWholeNumber { provided, context } => i18n
.trn( .trn(
TR::SearchInvalidNegativeWholeNumber, TR::SearchInvalidNegativeWholeNumber,
tr_strs!["provided"=>provided, "context"=>context], tr_strs!["provided"=>provided.replace('`', "'"), "context"=>context.replace('`', "'")],
) )
.into(), .into(),
SearchErrorKind::InvalidAnswerButton { provided, context } => i18n SearchErrorKind::InvalidAnswerButton { provided, context } => i18n
.trn( .trn(
TR::SearchInvalidAnswerButton, TR::SearchInvalidAnswerButton,
tr_strs!["provided"=>provided, "context"=>context], tr_strs!["provided"=>provided.replace('`', "'"), "context"=>context.replace('`', "'")],
) )
.into(), .into(),
}; };