Caret

Professional Text Editing for Chrome and Chrome OS

Based on the amazing Ace editing component, Caret brings professional-strength text editing to Chrome OS. With Caret, you no longer need to install a second OS to get what other platforms take for granted: a serious editor for local files, aimed at working programmers.

Features

Syntax highlighting and themes

Caret offers syntax highlighting for a wide variety of languages, and all of the standard themes that come with Ace, including emulations of coloring from other editors like Eclipse, XCode, and the Chrome Dev Tools.

Multiple cursors

Once you've gotten used to making many changes with just a keystroke or two, it's hard to go back to just one cursor. Caret offers multiple cursors and selections, and support for Sublime keybindings like Ctrl-D (select next match).

Command Palette

Why bother learning keyboard shortcuts? With the command palette (Ctrl-Shift-P), you can just start typing what you want: Caret will fuzzy-search the menu configuration, find the command you want, and execute it for you. You never need to touch the mouse again.

GOTO considered useful

Another feature stolen borrowed from Sublime is the smart "go to anywhere" dialog. Jump instantly to any open file, plus any line or search phrase within that file, in just a few keystrokes. Press Ctrl-P to open the window, then just start typing the filename you want.

Hackable configuration

Almost everything in Caret — menus, keyboard shortcuts, and editor setup — is configured from JSON-formatted files, editable through the same text interface as everything else. These files are backed up to Chrome's sync storage, meaning that you only need to set your preferences once in order to have them on every machine you use.

Retained mode (on newer Chrome versions)

In versions of Chrome that support it, Caret will remember your open tabs and re-open them for you. You won't have to take five minutes to find all your work again after taking a break or rebooting for a system update.

Project browsing and configuration

Like most good editors, Caret will open a folder and present a browseable tree view. It'll even search that folder from the command palette. But with project files, you can also override any setting on a per-project basis, and switch between them quickly. It's perfect for moving between projects with different code styles or file types.

Experimental plugin API

Due to security restrictions, Caret can't expose a complete JavaScript API, as much as I'd like to. But it does offer full support for sending and receiving messages over the Chrome runtime API. You can write your own editing macros and plugins, or send commands to other packaged apps from Caret keystrokes.

Tabbed editing and offline support

Sure, it's standard. But that's the point: Caret is a text editor for you, the programmer, not a toy notepad with a limited feature set or a service trying to take your money.

Tested via recursion

"Professional-strength" is a serious claim: is it justified? Not every editor is for everyone. But Caret has been used to write its own code (HTML, LESS, JavaScript, and build files) since version 0.0.16, ensuring that it's always tested under serious real-world conditions.

Get Caret

If you're running Chrome, you can install Caret directly from the Chrome Web Store. You don't need to be logged into a Google account, but some features (like synchronized settings) won't work unless you are.

If you're a little paranoid about installing code from a walled garden (and who could blame you?), or you want to run the very latest version, you can also install Caret directly from this website by saving this file and dragging it onto your Extensions page in Chrome. You'll still get automatic updates on the "beta channel" this way. You can also clone the repo and install it as an "unpacked extension" from the Chrome extensions page, but then you'll have to remember to update on your own.

Like all good developer tools, Caret is 100% open-source under the GPLv2. Visit the GitHub repository to view the code, file bugs, or contribute yourself. Any help is welcome and much appreciated! You can also report bugs via the store support page.

Privacy policy

The best way to ensure privacy is not to gather your information in the first place. I have no experience (or interest, honestly) in managing user data, so there is no tracking code built into Caret, and it never sends any of your information over the network. In fact, Caret requests no network access permissions from Chrome, so it's incapable of communicating beyond your local machine even if I wanted it to.

Caret does use Chrome APIs for synchronizing your settings between computers and checking for updates. Synchronized storage is linked to your Google account, encrypted according to your Chrome settings, and does not provide any personally-identifiable information when used. None of that information ever gets back to me.

Credit Where Credit's Due

Caret is written by Thomas Wilburn, with a little help from open-source contributors. Ace is a project of Cloud9 and Mozilla. Chrome, of course, is a product of Google through the Chromium Project.