mirror of
https://github.com/RGBCube/serenity
synced 2025-05-16 19:35:08 +00:00
HackStudio: Always re-match curlies/parens after a re-highlight
While you are typing in HackStudio, we re-lex the C++ as you type, so this means we also need to keep re-checking for matching curlies and parentheses at the cursor. Fixes #769 (although it's not optional, because it's too cool. :^)
This commit is contained in:
parent
d5afc58744
commit
15fb341eb4
3 changed files with 24 additions and 10 deletions
|
@ -172,17 +172,8 @@ void Editor::mousemove_event(GMouseEvent& event)
|
|||
GApplication::the().hide_tooltip();
|
||||
}
|
||||
|
||||
void Editor::cursor_did_change()
|
||||
void Editor::highlight_matching_curlies_or_parens()
|
||||
{
|
||||
if (m_has_brace_buddies) {
|
||||
if (m_brace_buddies[0].index >= 0 && m_brace_buddies[0].index < document().spans().size())
|
||||
document().set_span_at_index(m_brace_buddies[0].index, m_brace_buddies[0].span_backup);
|
||||
if (m_brace_buddies[1].index >= 0 && m_brace_buddies[1].index < document().spans().size())
|
||||
document().set_span_at_index(m_brace_buddies[1].index, m_brace_buddies[1].span_backup);
|
||||
m_has_brace_buddies = false;
|
||||
update();
|
||||
}
|
||||
|
||||
enum class Direction {
|
||||
Forward,
|
||||
Backward,
|
||||
|
@ -254,3 +245,22 @@ void Editor::cursor_did_change()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Editor::cursor_did_change()
|
||||
{
|
||||
if (m_has_brace_buddies) {
|
||||
if (m_brace_buddies[0].index >= 0 && m_brace_buddies[0].index < document().spans().size())
|
||||
document().set_span_at_index(m_brace_buddies[0].index, m_brace_buddies[0].span_backup);
|
||||
if (m_brace_buddies[1].index >= 0 && m_brace_buddies[1].index < document().spans().size())
|
||||
document().set_span_at_index(m_brace_buddies[1].index, m_brace_buddies[1].span_backup);
|
||||
m_has_brace_buddies = false;
|
||||
update();
|
||||
}
|
||||
highlight_matching_curlies_or_parens();
|
||||
}
|
||||
|
||||
void Editor::notify_did_rehighlight()
|
||||
{
|
||||
m_has_brace_buddies = false;
|
||||
highlight_matching_curlies_or_parens();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue