Completion Design View
The editor functionality are mainly implementations of the Swing Text package APIs plus extension features such as Syntax Coloring, Code Completion, Word Matching, Abbreviations or Macros.
The library part is located under editor/lib/src folder.
It depends on the following classes from openide:
org.openide.DialogDescriptor org.openide.DialogDisplayer org.openide.ErrorManager org.openide.NotifyDescriptor org.openide.util.Lookup org.openide.util.LookupListener org.openide.util.LookupEvent org.openide.util.NbBundle org.openide.util.RequestProcessor org.openide.util.Task
The above classes should remain to be isolated in a sense that they operate without loading other openide classes (if they need an implementation class they get it from Lookup).
org.netbeans.lib.editor.hyperlink.spiallows the editors for a particular mime-type to respond to the situation when a user hovers over the text with a Ctrl key pressed.
HyperlinkProviderclass that contains a javadoc with instructions about how to register the implementation in the xml layer for the given mime-type (mentioned in the layer section here as well).
If present, JTextComponent property "CARET_MIN_WIDTH" with a value of type IntUnaryOpertor is used by BaseCaret to override constant 2.
Document data handling and implementation was separated into
BaseCaret handling of folding was factored out. BaseCaret still implements the FoldHierarchyListener, but should not be used as a listener on a hierarchy, and will not attach itself. BaseCaret's listener method does nothing.
Folding actions from ActionFactory were deprecated, they moved to editor.fold.nbui module. Public classes in
org.netbeans.editor.ActionFactory were changed to delegators to the actual actions registered
with the component's EditorKit.
The method helps to ensure that the caret, if it was originally visible on the screen, will remain visible after some view hierarchy change (i.e. define a new fold).
editor.lib2. The original interface was
deprecated. Clients should start using the relocated interface.
The sources for the module are in the Apache Git repositories or in the GitHub repositories.
Read more about the implementation in the answers to architecture questions.