What I wish Nova provided

I got Nova like two months ago and started bringing my extensions from Atom (Komodo Edit). Im getting more familiar with the API and would like to share the things I wish Nova had:

  1. A nova.workspace.onDidChangeActiveTextEditor event to monitor which editor is active.

  2. A TextEditor.focus() method to make a TextEditor the activeTextEditor.

  3. A sidebar that could provide a basic sandboxed Webkit View to be able to build advance UIs using html.

  4. A modal panel with a sandboxed Webkit View to be able to build advance UIs using html.

  5. Both of these could use a new HTMLView class with a couple of events (open, render, resize, close, etc) and expose the document to manipulate the DOM.

  6. Dynamic contextual menus on the TreeView. The TreeView could expose a hook like onContextualMenu(element) and we could return null or an array of simple objects or an array of “Command”. These entries could be appended to the ones defined in extension.json.

  7. Expose more of the built in functionality by means of files that we can hack and more events.

For example instead of me writing a new syntax and extension could hook callback to particular events fired by syntax, symbols, etc. For example: events for autocomplete, right-click on editor, symbol parsed, etc and let me operate on those things.


I just released a documentation-reference extension that was originally trying to coerce TreeView into displaying meaningful API information (about whatever one was working on), but I had to give up on that direction and just go with loading an external browser window instead.

An HTML (or even Markdown) view for the panels would open up a lot of possibilities!

1 Like