/Nova

Nova

If we’re being honest, Mac apps are a bit of a lost art.

There are great reasons to make cross-platform apps — to start,
they’re cross-platform — but it’s just not who we are. Founded
as a Mac software company in 1997, our joy at Panic comes from
building things that feel truly, well, Mac-like.

Long ago, we created Coda, an all-in-one Mac web editor that broke
new ground. But when we started work on Nova, we looked at where the
web was today, and where we needed to be. It was time for a fresh
start.


The Editor.

It all starts with our first-class text-editor.

It’s new, hyper-fast, and flexible, with all the features you want:
smart autocomplete, multiple cursors, a Minimap, editor overscroll,
tag pairs and brackets, and way, way more.

Local website project open for editing in Nova with multiple active cursors, autocomplete, and three active sidebars.


Autocomplete with Fuzzy Matching



Minimap



Issues




Multiple Cursors





Git Status



For the curious, Nova has built-in support for CoffeeScript, CSS, Diff, ERB, Haml, HTML, INI, JavaScript, JSON, JSX, Less, Lua, Markdown, Perl, PHP, Python, Ruby, Sass, SCSS, Smarty, SQL, TSX, TypeScript, XML, and YAML.

It’s also very expandable, with a robust API and a built-in
extension browser.

(Here’s a little editor story for fun. During beta we found some
bugs in Apple’s text layout engine that we just could not fix. Our
solution? Writing our own text layout manager… from scratch.
Not only did this fix the bugs, but it also boosted our editor’s
performance. We’re not messing around!)

But even the best text engine in the world means nothing unless you
actually enjoy spending your time in the app. So, how does Nova
look?


The Interface.

It’s beautiful. And clean. And fun.

You can make Nova look exactly the way you want, while still feeling
Mac-like. Bright, dark, cyberpunk, it’s all you. Plus, themes are
CSS-like and easy to write. Nova can even automatically change your
theme when your Mac switches from light to dark mode.

Screenshot showing Bright, a default interface theme in Nova.Screenshot showing Dark, a default interface theme in Nova.Screenshot showing Neon, a default interface theme in Nova.Screenshot showing Palette, a default interface theme in Nova.

The Workflows.

Nova doesn’t just help you code. It helps your code run.

You can easily create build and run tasks for your projects. We
didn’t have them in Coda, but boy do we have them now. They’re
custom scripts that can be triggered at any time by toolbar buttons
or keyboard shortcuts.

Imagine building content, and with the single click of a button
watching as Nova fires up your local server, grabs the appropriate
URL, and opens a browser for you, instantly. Just think of the time
you’ll save.

Nova supports separate Build, Run,
and Clean tasks. It can open a report when run. And
the scripts can be written in a variety of languages.


The Tools.

Now, this is important. Editing text is just part of what Nova does.

We’ve bundled in extremely useful tools to help you get your work
done quickly and efficiently. They’re all fast and native too, of
course.

The New Tab button gives quick access to new Document, File Browser, Local and Remote Terminal tabs

The New Tab button doesn’t just open a fresh
document. although it does that, too.

Click it to quickly access a feature-packed Transmit file
browser
, or a super-convenient Prompt
terminal
, all right inside Nova.

Meanwhile, Nova’s sidebar is packed with power.

The sidebar can also be split to show multiple tools at once, on the
left and/or right side of your editor. And you can drag your
favorite tools into the sidebar dock at the top for one-click
access.

Git status is integrated across Nova: in the Files sidebar, the editor, and a dedicated Git sidebar

Nova also has Git source control tools built-in.
Clone. Click-to-clone. Initialize a repo. Fetch and pull. Stage and
unstage. Commit. Push. You know the drill. (We don’t have built-in
diff yet, but it’s on our list!)

Git status is available both in the editor and the sidebar. And a
useful “Show Last Change for Line” pop-up explains commits.


The Extensions.

Nova has a robust extensions API.

A Nova extension can do lots of things, like add support for new
languages, extend the sidebar, draw beautiful new themes and syntax
colors, validate different code, and much more.

Even better, extensions are written in JavaScript, so anyone can
write them. And Nova includes built-in extension templates for fast
development.

Check out some of this week’s popular extensions…

Browse Extensions


The Settings.

People have strong editor opinions.

And we’re here to help. Nova has a whole host of settings. We have
easily customizable key bindings. We have custom, quickly-switchable
workspace layouts. And we have loads of editor tweaks, from matching
brackets to overscroll.

(And if there’s something you need to work that Nova doesn’t have,
just let us know! Nova is always changing, always growing.)

The General preferences paneThe Sync preferences paneThe Workspace preferences paneThe Behaviors preferences paneThe Files preferences paneThe Editor preferences paneThe Theme preferences paneThe Key preferences paneThe Terminal preferences paneThe Servers preferences paneThe Keys preferences paneThe Transfers preferences paneThe Tools preferences pane

And So Much More.

  • Command Palette
  • Project Launcher with Custom Artwork
  • Multiple Sidebars & Sidebar Splits
  • Separate Editor & Window Themes
  • Automatic Theme Changes
  • Global & Project Clips
  • Project-Wide Indexing
  • Intelligent, Extendable Autocomplete
  • Powerful Open Quickly
  • Git Source Control Sidebar
  • Preview Tabs
  • Built-in Static Web Server
  • Remote Publishing via FTP, SFTP, WebDAV, & Clouds
  • Local & Remote Terminals
  • Markdown Preview
  • Customizable In-App Key Bindings
  • Panic Sync for Servers & Keys
  • Robust Extension API
  • In-App Extension Library
  • nova Command Line Tool
  • Reopen Recently Closed Files
  • Small or Large Sidebar Dock Sizes
  • Project-specific Sidebar Layouts
  • Remote-Bound Workspaces
  • Quick Tab Overview
  • Customizable Event Behaviors
  • Deep-Filtering Files Sidebar
  • Ignored Files in Sidebar
  • Drag-to-Split
  • Easily Merged JSON Project Settings
  • Files Sidebar Navigation Controls
  • Single-Click to Open Files
  • Find & Replace in Project
  • Powerful Find & Replace Wildcards
  • Find Scopes
  • Ignore Specific Files when Indexing
  • Remote Files Sidebar
  • Server Preferences
  • Staged Publishing List
  • Multiple Publishing Destinations per Project
  • Save & Publish
  • Rich Editor Typography & Styling
  • Customizable Line Height
  • Text Glow Support in Themes
  • Multiple Insertion Point Styles
  • Type & Function Separators
  • Customizable Editor Overscroll
  • Source Control Change Annotations
  • Automatic Link Detection
  • Spell Checking
  • Powerful Clip Wildcard Tokens
  • Expandable Issue Line Annotations
  • Hierarchical Symbols List
  • Jump To Definition
  • Dictionary Define Popover
  • EditorConfig Support
  • Customizable Markdown Stylesheets
  • Rainbow Bracket Nesting
  • Rainbow Indentation Guides
  • Matching Tag Highlighting
  • Identifier Highlighting
  • Automatic Closing-Bracket Insertion
  • Bracket Wrapping
  • Automatic Tag Closing
  • Customizable Wrap Indentation
  • Quickly Add Cursors for Successive Lines
  • Project Issues Sidebar
  • Git Branch & Switch
  • Git Commit, Fetch, Push, & Pull
  • Image, Audio, & Video Media Viewers
  • Extension Updating Without Restarting IDE
  • Task Output Reports
  • Remote Tasks on Unix, Linux, Windows, & PowerShell
  • Custom Task Environment Variables
  • Automatic Parsing of Task Output Into Issues
  • Auditory and Visual Terminal Beeps
  • Customizable Terminal Tab Titles
  • Terminal Key-Binding Escape Sequences
  • Terminal “Option as Meta Key”
  • Terminal URL and file detection
  • Terminal Mouse Events
  • RSA, ECDSA, & ED25519 Keys
  • Dual-Pane File Browser Tabs
  • Cloud Provider Files Support
  • Transfer Transcripts
  • Robust Transfer Settings & Rules
  • External Preview in Browser with Live Reload
  • Non-Interruptive Updates
  • Install Updates On Quit
  • Coda 2 Import & Migration Assistant
  • Transmit 5 Import
  • No-Fuss Analytics & Privacy Settings
  • And Now You Know Why This Took Us a Few Years
  • For Extensions: Develop Extensions In-App
  • Safe, Sandboxed Environment
  • Robust JavaScript API
  • Project & Global Settings
  • Rapidly Reload and Test Live
  • Filesystem, Network, & Subprocess Access
  • Debug Console
  • Editor & Project Actions
  • Linters & Validators
  • Custom Language Grammars
  • Expressive Completion Providers
  • Build & Run Task Templates
  • Custom Sidebars
  • Syntax Inspector
  • Language Server Protocol Support
  • Custom Themes
  • Workspace Notifications
  • Text Parsing & Encoding Utilities
  • Secure Credential Storage
  • Submit Extensions Easily with Validation