Col-E / Col-E/Recaf

[Draft/Discussion] Improving Search

Open
#579 2 comments 0 reactions 0 assignees View on GitHub
3.X enhancement
Dominant language
Java
Stars
7.4k
Forks
538
PR merge metrics
No merged PRs in 30d

Description

As you may know, searching is one of the most important features in RE. Therefor, Recaf needs to have many ways to search for the things you want.
This is a **draft** Issue for collecting ideas and discussing the UX side of the search. (As there are no option for discussions)

---------------
![image](https://user-images.githubusercontent.com/50181314/182150413-c3f88ea2-c72d-46b8-9593-fc0d6d8c2461.png)
A string, number, references and declaration searches.
String and Numbers are straightforward, just type in what you want.

References and Declarations on the other hand, especially descriptors, are somewhat difficult to handle.
- [ ] Descriptors should accept primitive types as input
- [ ] Match mode should be per-field, not globally.
- [ ] results should display full descriptors
- [ ] live results
---------------
![image](https://user-images.githubusercontent.com/50181314/182151940-6905d6bc-0998-4904-be6e-168db0ad6779.png)
Global class/file search is there, and member search is implemented (#576).
- [x] Visibility filter
- [x] Member type filter
- [x] Nested/inner class
- [ ] Class/Interface/Enum/Record... filter
---------------
![image](https://user-images.githubusercontent.com/50181314/182153014-70541582-892f-430c-bfc0-f49e287d26f3.png)
Lastly, a quick navigation (accessible with Ctrl + G), it enables quickly navigating only using the keyboard (and optionally the mouse) and performs a basic descriptor search.
- [ ] Display the types a little cleaner, without the descriptor syntax
- [ ] Basic filters
---------------
TO DISCUSS: "Advanced Search" with many options, with having like the JD-GUI search as a subset of features?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.