The main widget is {@link org.python.pydev.editor.PyEdit PyEdit}. It ties other utility classes together, sets error markers.
PyContentAssistant & PyContentAssisProcessors are dummy classes, avaiting implementation.
I really want to implement ctrl-click navigation. It is not as easy as pluging in a new class to PyEditConfiguration. This one See JavaEditor::MouseClickListener (set breakpoint at highlightRegion if debugging to see it in action)
To implement navigation/completion. - Each editor needs a vocabulary. The vocabulary is hierarchical in structure, and has items: Top-level (file vocabulary) has: classes functions globals? Class vocabulary has: documentation string classes methods (functions) instance variables (inferred from self.) Method/function vocabulary has: documentation string locals classes functions Each definition in the vocabulary describes: - where is it defined (file, char span) - character range where it is applicable Vocabulary usage: Find an innermost vocabulary containing current selection. Then quiz it for whatever is needed