Skip to content

Nova

Nova is a fast, flexible, and powerful native text editor for macOS. Protocol Launcher allows you to generate deep links to open files, folders, clone repositories, and more in Nova.

Usage

There are two ways to use this library:

  • On-Demand import from subpaths enables tree-shaking and keeps bundles small.
  • Full Import from the root package is convenient but includes all app modules.

Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.

Select Installation Method

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

Open IDE

On-Demand
ts
import { open } from 'protocol-launcher/nova'

const url = open()

Open File

On-Demand
ts
import { openFile } from 'protocol-launcher/nova'

const url = openFile({
  path: '/etc/hosts',
  line: 1,
  column: 2,
})

Open Folder

On-Demand
ts
import { openFolder } from 'protocol-launcher/nova'

const url = openFolder({
  path: '/etc',
})

Clone Project

On-Demand
ts
import { cloneProject } from 'protocol-launcher/nova'

const url = cloneProject({
  url: 'https://github.com/zhensherlock/protocol-launcher.git',
})

Open Extension

On-Demand
ts
import { openExtension } from 'protocol-launcher/nova'

const url = openExtension({
  id: 'com.panic.Playdate',
})

Register Nova

On-Demand
ts
import { register } from 'protocol-launcher/nova'

const url = register({
  serial: 'NOVA-XXXX-XXXX-XXXX-XXXX-XXXX-X',
})