<table><tr><td style="">thomassc marked 4 inline comments as done.<br />thomassc added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D17932">View Revision</a></tr></table><br /><div><div><p>Thanks for reviewing. Regarding the question about which models would have an insensitive exact match, and which ones have sensitive exact matches:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">An example for case-insensitive exact matches might be plain text, or a hypothetical case-insensitive programming language. For example for plain text, one might want to treat words like "Question" and "question" as exact matches, which will make the completion widget close itself when it shows one of them and the user types the other. This is the current behavior for the word completion in KWrite / Kate.</li>
<li class="remarkup-list-item">An example for case-sensitive exact matches would be a case-sensitive programming language like C++. If the user typed "m_var" but the variable is actually called "m_Var", then the completion widget should not hide itself, since it might still be useful to replace the typed text with the completion item that has different case.</li>
</ul></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D17932#inline-99998">View Inline</a><span style="color: #4b4d51; font-weight: bold;">mwolff</span> wrote in <span style="color: #4b4d51; font-weight: bold;">katecompletionmodel.cpp:2026</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">maybe simplify this to:</p>

<p style="padding: 0; margin: 8px;">if (matchCompletion && m_nameColumn.startsWith(match, model->exactMatchCaseSensitivity())) {</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">matchCompletion = PerfectMatch;
m_haveExactMatch = true;</pre></div>

<p style="padding: 0; margin: 8px;">}</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Hmm, I guess the current version might be a tiny bit faster in general since it only does another startsWith() check if this would be a stricter check than the one done before ...</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D17932#inline-100000">View Inline</a><span style="color: #4b4d51; font-weight: bold;">mwolff</span> wrote in <span style="color: #4b4d51; font-weight: bold;">katecompletionmodel.h:394</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">should this comment be asserted in the setters or is it handled gracefully in the logic below?</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">I added asserts to the setters. One should be aware then though that it restricts the order in which these must be called. For example, if both settings are case-insensitive at first and both should be changed to case-sensitive, then the exact-match-sensitivity must be changed before the match-sensitivity. Alternatively, one could make a single setter function that changes both properties.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R39 KTextEditor</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D17932">https://phabricator.kde.org/D17932</a></div></div><br /><div><strong>To: </strong>thomassc, KTextEditor, KDevelop, mwolff<br /><strong>Cc: </strong>mwolff, cullmann, kwrite-devel, kde-frameworks-devel, hase, michaelh, ngraham, bruns, demsking, head7, kfunk, sars, dhaumann<br /></div>