Chapter 4. The core 4.3 plugins

This chapter showcases the new(er) plugins that were under the most active development during jEdit 4.3. Some of them influenced the development of the jEdit core, and others are good enough to be incorporated into the core, but are left as separate plugins simply because it makes it easier for us to maintain and debug them.

Navigator, providing a navigable history, is new and improved - it provides the user with Eclipse-like Navigation to previous locations, for each TextArea of each View. It uses new 4.3 EditBus messages which are now available in the public API, PositionChanging and BufferChanging.

ProjectViewer

For managing groups of files and organizing them into trees, ProjectViewer is very useful. It's been under active development, and many bugs are fixed quickly after they are found. Its ability to filter its input set based on regular expressions or the contents of CVS/SVN/Perforce entries makes it especially handy for other plugins that use it, such as FastOpen and OpenIt, both of which are also recently updated for 4.3.

ProjectViewer is also very important for language plugins that want to deal with file sets. It defines a project-wide property specification, that makes it possible to have different settings depending on what the active project is.

SideKicks and Language Plugins

SideKick has been debugged and the documentation has been improved. Further, there is a new combobox that lets you choose your parser, and a new SplitPane to show you the contents of the hovered element. The combobox is especially important since there are multiple parsers that can be used on a given file, especially when you are working with Python, PHP, HTML, XML, or JavaScript files.

Many language-specific plugins have been redesigned to use the new and improved SideKick. In particular, CtagsSideKick (a replacement for CodeBrowser), JPyDebug, JythonInterpreter, RubyPlugin, PHPParser, JavaSideKick, XML, and PerlSideKick. Be sure to try them out.

In case you're looking for JavaCore, JBrowse, CodeAid, DotComplete, or PropertySideKick, they have all been merged (in terms of functionality) into the new JavaSideKick plugin. Some other plugins that depend on these above plugins still need to be converted to use JavaSideKick instead of the old java plugins listed above.

As for HtmlSideKick, JavaScriptSideKick, and XmlIndenter, they have all been merged into the new XML 2 plugin, which now includes two parsers for CSS, one for Ecmascript, and completion popups for elements and attributes in XML, CSS, and HTML.

If you use many different languages, you should also try out the very clever ContextMenu plugin, which I am seriously thinking of adding to the core one of these days.

The SVNPlugin is new, and the JDiff plugin is improved. Many other plugins have latest versions that require jEdit 4.3.

InfoViewer. This plugin uses jEdit 4.3's action overriding API to serve as a replacement to the HelpViewer. Since I use/work with this instead of the built-in HelpViewer, I do not notice or fix bugs in HelpViewer. Try it out - you might like it! At some point, I might merge this into the jEdit core, but for now, it's a separate plugin.

XSearch. XSearch is a replacement for the built-in search dialogs. Similarly, there are new features in XSearch which have not been put into the core yet. XSearch has good ProjectViewer integration too - you can search only the files that were added to the project.