Skip to content

Proposal: code navigation (WIP)

Jan Mollowitz edited this page Apr 25, 2017 · 9 revisions

Possible functionalities

  • Context aware definition search
    • use|alias awareness​ for types
    • With cursor on a method call it should return the nearest definition (same class|closest parent) - in progress
      • If the cursor is on a local method definition it should return next higher definition (parent class|interface)
    • with cursor on usage of property it should return the nearest definition (same class|closest parent)
      • Cursor on local definition of property returns type information of property
  • List closest implementing/extending classes|interfaces of current class|interface - in progress
  • List missing implementations if extending abstract class | implementing interface(s)

API

There should be a generic response format so different applications like vim/sublime/xyz can process the response.

Minimum viable response format for closest definition:

Candidate:

  • path to file relative to project root
  • line number

For implementing/extending classes:

  • List of candidates (file and line no)

Missing abstract|interface methods:

  • Method signature

Clone this wiki locally