1. Code Search for Builder
1.1. About the Project:
Goal of this project is to implement Fuzzy search of symbols in the project and improve Go to Definition in GNOME Builder.Currently using Go to Definition we can go to definition which is in current file or file linked to current file. This project aims at going to definition, from a reference, which can be in any where in the project. This project also implements Global Search of symbols using this we can do fuzzy search of all symbols in the project. This project is divided into implementing 3 things,
- Plugin to index source code
- Search provider which will retrive fuzzy matches from index corresonding to a query
- Symbol resolver which will use index to find location of definition of a reference or declaration
1.2. About Me:
- I am currently pursuing B.E Computer Science at BITS Pilani, Hyderabad, India. I am passionate in Computer Science. I do open source development and competetive programming. I have experience in coding in C, C++, Java and python and developing apps with GTK+.
Email : anoopchandu96@gmail.com
Blog : anoopchandu
1.3. Mentoring:
- Christian Hergert will be mentoring this project.
1.4. Schedule:
Week
Deliverable
Status
May 30th – June 11th
Indexing tool
DONE
June 12th – June 25th
Indexer Plugin
DONE
June 26th – July 9th
Improving indexer plugin
DONE
July 10th – July 23rd
Global Search
DONE
July 24th – August 6th
Symbol Resolver for jump to definition
DONE
August 7th – August 21th
Improvements & Bug fixes
In progress
Progress regarding this project is being updated here anoopchandu@wordpress.
1.5. Result:
I successfully implemented all the three things indexer, search provider and symbol resolver. Now we can search for any symbols in the project and we can go to definition of a symbol where ever it is. Currently this supports only C/C++ source files. Other languages can be supported easily by implementing an indexer interface. Here https://bugzilla.gnome.org/show_bug.cgi?id=786700 all the patches of this project are available and will be merged soon.