Changeset View
Changeset View
Standalone View
Standalone View
src/lib/rule.cpp
Show First 20 Lines • Show All 497 Lines • ▼ Show 20 Line(s) | 496 | { | |||
---|---|---|---|---|---|
498 | while (text.size() > newOffset && !isWordDelimiter(text.at(newOffset))) | 498 | while (text.size() > newOffset && !isWordDelimiter(text.at(newOffset))) | ||
499 | ++newOffset; | 499 | ++newOffset; | ||
500 | if (newOffset == offset) | 500 | if (newOffset == offset) | ||
501 | return offset; | 501 | return offset; | ||
502 | 502 | | |||
503 | if (m_hasCaseSensitivityOverride) { | 503 | if (m_hasCaseSensitivityOverride) { | ||
504 | if (m_keywordList->contains(text.midRef(offset, newOffset - offset), m_caseSensitivityOverride)) | 504 | if (m_keywordList->contains(text.midRef(offset, newOffset - offset), m_caseSensitivityOverride)) | ||
505 | return newOffset; | 505 | return newOffset; | ||
506 | } else { | 506 | } else { | ||
507 | if (m_keywordList->contains(text.midRef(offset, newOffset - offset))) | 507 | if (m_keywordList->contains(text.midRef(offset, newOffset - offset))) | ||
508 | return newOffset; | 508 | return newOffset; | ||
509 | } | 509 | } | ||
510 | 510 | | |||
511 | // we don't match, but we can skip until newOffset as we can't start a keyword in-between | 511 | // we don't match, but we can skip until newOffset as we can't start a keyword in-between | ||
512 | return MatchResult(offset, newOffset); | 512 | return MatchResult(offset, newOffset); | ||
513 | } | 513 | } | ||
514 | 514 | | |||
▲ Show 20 Lines • Show All 93 Lines • ▼ Show 20 Line(s) | 597 | if (result.capturedStart() == offset) { | |||
608 | * else: ignore the implicit 0 group we always capture, no need to allocate stuff for that | 608 | * else: ignore the implicit 0 group we always capture, no need to allocate stuff for that | ||
609 | */ | 609 | */ | ||
610 | return MatchResult(offset + result.capturedLength()); | 610 | return MatchResult(offset + result.capturedLength()); | ||
611 | } | 611 | } | ||
612 | 612 | | |||
613 | /** | 613 | /** | ||
614 | * no match | 614 | * no match | ||
615 | */ | 615 | */ | ||
616 | return MatchResult(offset, result.capturedStart()); | 616 | return MatchResult(offset, m_dynamic ? 0 : result.capturedStart()); | ||
617 | } | 617 | } | ||
618 | 618 | | |||
619 | 619 | | |||
620 | bool StringDetect::doLoad(QXmlStreamReader& reader) | 620 | bool StringDetect::doLoad(QXmlStreamReader& reader) | ||
621 | { | 621 | { | ||
622 | m_string = reader.attributes().value(QStringLiteral("String")).toString(); | 622 | m_string = reader.attributes().value(QStringLiteral("String")).toString(); | ||
623 | m_caseSensitivity = Xml::attrToBool(reader.attributes().value(QStringLiteral("insensitive"))) ? Qt::CaseInsensitive : Qt::CaseSensitive; | 623 | m_caseSensitivity = Xml::attrToBool(reader.attributes().value(QStringLiteral("insensitive"))) ? Qt::CaseInsensitive : Qt::CaseSensitive; | ||
624 | m_dynamic = Xml::attrToBool(reader.attributes().value(QStringLiteral("dynamic"))); | 624 | m_dynamic = Xml::attrToBool(reader.attributes().value(QStringLiteral("dynamic"))); | ||
Show All 39 Lines |