diff --git a/uppsrc/ide/Usage.cpp b/uppsrc/ide/Usage.cpp index 507fe6087..59fe432ce 100644 --- a/uppsrc/ide/Usage.cpp +++ b/uppsrc/ide/Usage.cpp @@ -182,17 +182,19 @@ void Ide::Usage(const String& id, const String& name, Point ref_pos) } SortByKey(CodeIndex()); - for(const auto& f : ~CodeIndex()) { - auto Add = [&](Point mpos) { - AddReferenceLine(f.key, mpos, name, unique); - }; - for(const AnnotationItem& m : f.value.items) - if(ids.Find(m.id) >= 0) - Add(m.pos); - for(const ReferenceItem& m : f.value.refs) - if(ids.Find(m.id) >= 0) - Add(m.pos); - } + for(int src = 0; src < 2; src++) + for(const auto& f : ~CodeIndex()) + if((findarg(GetFileExt(f.key), ".h", "") < 0) == src) { // headers first + auto Add = [&](Point mpos) { + AddReferenceLine(f.key, mpos, name, unique); + }; + for(const AnnotationItem& m : f.value.items) + if(ids.Find(m.id) >= 0) + Add(m.pos); + for(const ReferenceItem& m : f.value.refs) + if(ids.Find(m.id) >= 0) + Add(m.pos); + } } FFoundFinish(); diff --git a/uppsrc/ide/idebar.cpp b/uppsrc/ide/idebar.cpp index 8c27c9b9d..b5f63546b 100644 --- a/uppsrc/ide/idebar.cpp +++ b/uppsrc/ide/idebar.cpp @@ -749,16 +749,16 @@ void Ide::DebugMenu(Bar& menu) void Ide::AssistMenu(Bar& menu) { - menu.Add(!designer, AK_JUMPS, [=] { ContextGoto(); }); - menu.Add(!designer, AK_SWAPS, THISBACK(SwapS)); - menu.Add(!designer, AK_USAGE, [=] { Usage(); }); - menu.Add(!designer, AK_IDUSAGE, THISBACK(IdUsage)); - menu.Add(!designer, AK_ASSIST, [=] { editor.Assist(true); }); - menu.Add(!designer, AK_DCOPY, callback(&editor, &AssistEditor::DCopy)); - menu.Add(!designer, AK_VIRTUALS, callback(&editor, &AssistEditor::Virtuals)); - menu.Add(!designer, AK_THISBACKS, callback(&editor, &AssistEditor::Events)); - menu.Add(!designer, AK_COMPLETE, callback(&editor, &AssistEditor::Complete)); - menu.Add(!designer, AK_ABBR, callback(&editor, &AssistEditor::Abbr)); + menu.Add(!designer, AK_ASSIST, [=] { editor.Assist(true); }); + menu.Add(!designer, AK_JUMPS, [=] { ContextGoto(); }); + menu.Add(!designer, AK_SWAPS, THISBACK(SwapS)); + menu.Add(!designer, AK_DCOPY, callback(&editor, &AssistEditor::DCopy)); + menu.Add(!designer, AK_IDUSAGE, THISBACK(IdUsage)); + menu.Add(!designer, AK_USAGE, [=] { Usage(); }); + menu.Add(!designer, AK_VIRTUALS, callback(&editor, &AssistEditor::Virtuals)); + menu.Add(!designer, AK_THISBACKS, callback(&editor, &AssistEditor::Events)); + menu.Add(!designer, AK_COMPLETE, callback(&editor, &AssistEditor::Complete)); + menu.Add(!designer, AK_ABBR, callback(&editor, &AssistEditor::Abbr)); } void Ide::BrowseMenu(Bar& menu)