Caret

"...easily the best code editor on the Chromebook." - AppStorm (http://bit.ly/1cbViEL)
Caret is a graphical text editor modeled on Sublime Text, running completely offline (no Internet connection required) and capable of opening and saving files anywhere on your hard drive. The goal of Caret is to provide a missing portion of the Chrome OS developer story: serious programmer tooling without needing to install a second OS and learn Vim.
Current features:
- total offline support--no network connection required, ever
- tabbed editing
- syntax highlighting for many languages, and lots of color themes
- hackable settings files in JSON format
- remembers/restores open tabs
- open files directly from the Chrome OS file manager
- Project view with full-text search and project-specific settings files
- Sublime-compatible keymappings, including multiple cursors and selections
- Command palette/smart "go to" functionality
Help documentation is available at the GitHub wiki, including a list of possible keyboard/menu commands: https://github.com/thomaswilburn/Caret/wiki
Looking for Git/Drive/SFTP support? Please read this note: https://github.com/thomaswilburn/Caret/wiki/Git-SFTP-Drive-support
Caret is also 100% open-source: please feel free to contribute code and file bugs via the GitHub repo (see website link on Details tab, or look in the menus for Settings > About Caret).
If you like Caret, leave a review! I love reviews.
WHAT'S NEW:
1.8.6: Caret will now detect non-monospaced font family settings (which are not, and have never been, supported in the editor) and warn you about them. If you get a false positive (i.e., you set a monospace font and it complained about it) please let me know so I can update the test accordingly.
1.8.4: Added a preference for when to show update notifications - "background", "launch", or "silent". Thanks, Simon!
1.8.2: Added an Italian translation (Thanks, Mattia!)
1.8.1: The hits keep coming with this minor release, which adds the long-awaited ability to define some options on a per-syntax basis. It's limited at this time to the subset of settings that Ace keeps with editor sessions, but that's enough to support different indentation between say, Python and JS. See the default user preferences for more details!
1.7.2: Large behind-the-scenes rewrite based on new browser APIs. More details in the changelog. This update may introduce bugs, so please let me know if anything is broken. Also, you will need to update to at least Chrome 55 for this version to work. That's a year old, so it's probably overdue.
1.6.28: Fixed a font bug and a hairline border on ChromeOS when fullscreen.
1.6.26: Fixed a bug where the middle-click wouldn't close tabs. Updated translations. Added a "kill line" command if you just can't live without it. Added new JavaScript extensions (.mjs and .gs). Thanks to P@nther and erogers6264 for their contributions!
1.6.25: Updated Ace, which should fix the weird copy/paste bug people were experiencing in newer Chrome versions. Fixed a bug with the JSHint worker (thanks, null-dynamic-exception!). You should now be able to reassign the Esc key so that it won't exit fullscreen mode.
1.6.23: Updates to the Russian translation, and some small bugfixes. Removed the long-deprecated custom theme option.
1.6.22: Now you can resize the project panel (Thanks, Konstantin!).
1.6.19: Added support for custom JSHint options (Thanks, Matt!).
1.6.18: Added a toggle to show hidden directories in the project view.
1.6.16: File extensions are now case-insensitive for the purposes of syntax detection. Added "4th" as an extension. Catch some background page exceptions that may have prevented start-on-reboot on Chrome OS.
1.6.15: Fixes a bug where closing a settings file (like the user preferences) would always to try to save the file to the drive instead of to synchronized storage where it's supposed to go.
1.6.14: Fixes a bug where different folders with the same name could not both be added to a project. Adds the ability to create custom command sequences that can be triggered from menus or keys. IMPORTANT NOTE: custom themes are now deprecated. They'll probably be removed in a month or two, unless you really like them. So if they're crucial to you, speak up!
1.6.11: Fixes an issue with the search bar when there are many top-level entries in a project.
1.6.8: Fixed the spelling of reStructuredText. Remove wildcards from the manifest, which should stop Caret from opening .zip files.
1.6.7: Updated Ace to version 1.2.3, which enables the reStructured Text syntax mode.
1.6.6: Enabled many of those new syntax modes with their own extensions, and added coloring to the search results. NOTE: this version introduces a big change to the way that we register for file handlers on Chrome OS. If you notice that you're no longer seeing Caret in the list of applications when you try to open a file from Files, please file a bug or send me a support request. Thanks!
1.6.5: Added a ton of new syntax modes and file extensions. Fixed more tab overflow bugs--eventually, we'll get them all.
1.6.3: Add syntax highlighting for .phtml files. Fix an annoying tab overflow issue again.
1.6.2: Project search now maintains a history of past searches using the up/down keys. Fix some bugs with the project listing and `ignoreFiles` settings. Added .vb and .vba extensions for Visual Basic syntax.
1.6.1: Project search results are now clickable jump links, and fix some minor bugs with the search process.
1.6.0: I'm thrilled to announce that I was wrong, and that project-wide search (including unopened files) has come to Caret, thanks to a lovely contribution by @brismuth. With that in mind, I've bumped it to 1.6, since this will form the basis for a number of much-requested features, including a replacement for Ace's anemic search widget.
Please file any bugs you find at our GitHub repo!