org.eclipse.compare code. It's pretty involved and had a lot things that I really didn't need. I took a closer look at our DSL editor that extends TextEditor and decided to play with createPartControl(Composite parent) method since this is where UI elements were build. The result was just what I needed.
What I ended up doing is shown here:
public void createPartControl(Composite parent) { SashForm sashForm = new SashForm(parent, SWT.VERTICAL); sashForm.setLayout(new FillLayout()); super.createPartControl(sashForm); new ASTComposite(sashForm, SWT.BORDER); }As you can see SashForm is used to achieve split pane. Top pane is where editor is added, and bottom is where any Composite goes, in my case it's a specialized Composite that has TreeViewer holding AST of the expression. Pretty simple and effective.