Chocolat

Release Notes + Blog


3.4April 2017  (download)

Note: This is a JavaScript-focused update.

Feature: JavaScript mode now supports ⌘-click for Jump-to-Definition and Jump-to-Documentation. (thanks to ternjs project)

Feature: JS completion now supports JSX and more ES6.

Bug: ctrl-alt-click in multicursor mode removes the clicked selection. This feature had been there all the time but never enabled. 🆒

Feature: If you click "Multicursor press cmd-shift-esc to cancel" in the status bar, it shows a list of keyboard shortcuts available in multicursor mode.

Note: Updated internal node.js to Node 7.4. This may cause incompatibility with some mixins (plugins) but may resolve issues with others. Mixin authors are adviced to check their mixins with this release.


3.3.4January 2017  (download)

Feature: cmd-click on a python module import to open its documentation.

Feature: Copy Full Path and Copy Subpath context menu items.

Crash: No longer crashes when clicking the close button on an untitled file in the project bar.


3.3.3January 2017  (download)

Feature: Press ctrl-alt-U to cycle between camelCase, snake_case and CamelCase.

Note: Considerably improved performance in large files.


3.3.2January 2017  (download)

Feature: Press ctrl-alt-U to cycle between camelCase, snake_case and CamelCase.

Note: Considerably improved performance in large files.

Note: Version 3.3.2 is identical to 3.3.3 and exists merely as a live test of the update system.


3.3.1June 2016  (download)

Bug: Paste indentation still was not perfect. Improved it further.

Bug: JSX tag start regex was too agressive.


3.3June 2016  (download)

Note: Totally didn't go on vacation and then forget what's new in this.

Feature: Umm, there might be some improvements to JS support. JSX?

Fearure: Errr, copy and paste is possibly smarter with indentation.

Note: Tweet us if you find any other new things. Help.


3.2.4February 2016  (download)

Crash: Fixes a crash that affects users using Yosemite (10.10)

Crash: Fixes a different crash affecting all versions of OS X


3.2.3February 2016  (download)

Bug: Moved drag handles a few pixels to the right so it doesn't interfere with the status bar and any scroll bars

Bug: cmd-R wouldn't work unless you had web preview open

Bug: Fixed codesigning, I think


3.2.2February 2016  (download)

Bug: Wrote a new split view. Fixes a vast number of bugs the previous one had.

Bug: ...such as when a file would not maintain its scroll position if you re-selected it.

Bug: ...and slow switching between files.

Crash: Made a crash report analyzing tool. Now we can track exactly what crashes are most common. If Chocolat asks, please opt-in to send your crash reports!

Crash: Fixed the most common crash in Chocolat, and the second most common.

Bug: Fixes line numbers randomly going gray when typing

Bug: Fix cmd-cmd popover preference not staying set

Note: Switched to San Francisco


3.2.1January 2016  (download)

Feature: Support for ES6 code completion and symbol list (thanks as always to marijnh's Tern!)

Feature: Updated Rust and Swift bundles

Note: Updated some of the default templates. e.g. HTML template now has meta viewport

Note: Recompiled tm2truffle with ARC

Bug: 3.2.1 ninja update. Fixed a poor interaction between key bindings and the File->Close Window menu item, whereby it would lose its key binding and have to be set manually.


3.2January 2016  (download)

Feature: Support for ES6 code completion and symbol list (thanks as always to marijnh's Tern!)

Feature: Updated Rust and Swift bundles

Note: Updated some of the default templates. e.g. HTML template now has meta viewport

Note: Recompiled tm2truffle with ARC


3.1.7November 2015  (download)

Bug: Oops, remove a few nonsense CSS properties that got worked their way into the css completions yesterday.

Bug: Show code completion even if the full property name has been typed out

Note: Yesterday's update in case you missed it:

Feature: Actions now default to Python 3 if installed. Use virtualenvs to specify otherwise

Feature: Text -> Insert -> Counter (cmd-alt-3). Inserts 1, 2, 3, ... in multicursor mode.

Note: Added HTML main element to code completion.

Note: Added new CSS properties and bleeding edge vendor prefixes

Note: More memory usage improvements in syntax highlighting.

Note: Version 3.x added Yosemite support and costs $15 (if you already bought it then please ignore this message). There is no charge to use 3.x on Mavericks.


3.1.6November 2015  (download)

Feature: Actions now default to Python 3 if installed. Use virtualenvs to specify otherwise

Feature: Text -> Insert -> Counter (cmd-alt-3). Inserts 1, 2, 3, ... in multicursor mode.

Note: Added HTML main element to code completion.

Note: Added new CSS properties and bleeding edge vendor prefixes

Note: More memory usage improvements in syntax highlighting.

Note: Version 3.x added Yosemite support and costs $15 (if you already bought it then please ignore this message). There is no charge to use 3.x on Mavericks.


3.1.5November 2015  (download)

Bug: Reduced memory usage from syntax highlighting by ~30% by lazily storing capture information.

Bug: cmd-alt-dot (close tag) now works in multicursor mode

Bug: choc CLI should work now if given multiple file paths

Feature: cmd-ctrl-T "Reveal in Terminal". Opens the current file's parent directory in Terminal.app. Clone workspace is now cmd-option-T.

Note: Version 3.x added Yosemite support and costs $15 (if you already bought it then please ignore this message). There is no charge to use 3.x on Mavericks.


3.1.4February 2015  (download)

Bug: Couple of minor bug fixes

Note: Version 3.x adds Yosemite support and costs $15 (if you already bought it then please ignore this message). There is no charge to use 3.x on Mavericks.


3.1.3January 2015  (download)

Bug: Fix wrap guideline being drawn over

Bug: Fix color picker flashing in Themes preferences

Bug: Fix theme not being selected in source list when Themes first opened

Bug: Possibly fix big numbers in the gutter when combining retina and external non-retina displays (we'll see)

Note: Version 3.x adds Yosemite support and costs $15 (if you already bought it then please ignore this message). There is no charge to use 3.x on Mavericks.


3.1.2December 2014  (download)

Bug: Fixes all of the remaining line number glitches (I hope!)

Bug: Fixes themes source list glitching out


3.1.1December 2014  (download)

Bug: Fixes most of the glitchy invalidation with the new line numbers

Bug: Works around the "unicode bug" that has been plauging chocolat since the beginning

Note: More efficient and faster storage of text attributes


3.1December 2014  (download)

Feature: Added live error checking for Lua.

Note: Added preference for double tap documentation popovers.

Note: Faster line numbers! Time spent rendering line numbers has gone down from 22% to 6%. Scrolling performance is significantly improved. Typing performance is improved.

Note: Lower memory line numbers! Chocolat's old line number bitmap cache was horrendously wasteful, the new scheme requires only about 6kB per editor window.

Note: Better looking line numbers! Line numbers now render with correct subpixel AA. Line numbers are very slightly bigger (used to be 70%, now 79%).

Feature: Added some snippets for Rust and Swift.

Note: Now builds C++ code using C++11 by default.


3.0.3December 2014  (download)

Feature: Customise Keybindings (Chocolat -> Key Bindings...)

Bug: Cosmetic improvements to the UI on Yosemite.

Note: Made the documentation popover a bit wider. Made changes to styling of documentation.

Note: Optimised memory management of syntax highlighting. About 7% faster in my tests.


3.0.2November 2014  (download)

Feature: Double tap docs - hover over a function/class name and double tap the command key quickly. A popover will appear with relevant online documentation. Somewhat experimental. Powered by devdocs.io

Feature: New, abstract, flatter, Yosemite-style icon. I am prepared for the hate, give me all you got.

Bug: Fixed the status bar not updating when the theme changes.

Note: Shaved some latency off opening a file by removing excess redrawing.


3.0.1November 2014  (download)

Bug: Fixed PHP code completion.

Crash: Fixed a crash with the split switcher.

Feature: More flatness in the UI.

Bug: Jump to definition works first time.

Bug: Code completion doesn't "flash" quite so much now.

Note: Switched to the 10.9 SDK. This may cause some problems but it's a necessary evil.


3.0October 2014  (download)

Note: This update costs $15 for Yosemite users. But is free to use on Mavericks.

Note: Yosemite support.

Note: Now uses ARC instead of GC.

Feature: Mixins are now process-separated.

Feature: Git gutter. Shows the changes you make, relative to the last Git commit.

Feature: CSS live preview. Web preview updates CSS as-you-type, even if it's in a separate file. There's no need to save to see changes.

Feature: Corrected wrap guideline. Works better than the old one (which isn't saying much).

Feature: Padding at the bottom of the editor.

Note: Padding and wrap guidelines are configurable through View menu/Margin Preferences.

Feature: Proper code completion for JavaScript callback functions.

Feature: Multicursor mode works with text actions such as uppercase, reverse, indent, etc.

Bug: Turned off code completion when in multicursor mode.

Feature: cmd-alt-dot is back after an extended absence (it had to be reimplemented).

Bug: esc-completion matches case properly.

Feature: Added Git Tower to the context menu.

Feature: Errors and Warnings window - see a list of all errors and warnings in your document.

Feature: Double click on an error to Google it.

Feature: Rust and Swift syntax highlighting. Live error checking for Rust.

Note: Changed system requirements, now requires 10.9+


2.3April 2014  (download)

Feature: Git support in the source list!

Note: JSHint now shows error codes

Crash: Fixed crash with launch popover on 10.7. Note that this will be the last release to support 10.7 as we prepare for 10.10.


2.2.3March 2014  (download)

Feature: A new recent-project popover appears on launch. Can be disabled in preferences.

Feature: Move line up/down (ctrl-alt-up/down).

Bug: Fixed comments in D, PHP and CoffeeScript.

Bug: Fixed reading themes with empty colors (e.g. Toy Chest).

Note: Updated JSHint to the latest version.


2.2.2March 2014  (download)

Note: Rewritten comment system. Fixed crash.

Feature: Comment system now supports block comments!

Bug: Clipboard history could make Chocolat run slowly if you copied very large (MBs) blobs of text.

Bug: JSHint no longer warns for "undefined" globals.

Bug: Fixed refreshing in Go to File.


2.2.1March 2014  (download)

Feature: Added a dark status bar so that dark themes don't burn your eyes so much.

Feature: Go to Action (cmd-shift-D)

Note: Disabled animations in Go to.


2.2February 2014  (download)

Feature: Go to... everything!

Bug: Improved Go to File search ordering considerably

Feature: Stack Overflow search. Type your query straight into Go to

Feature: Search actions Go to. Just menu items for now. Prefix with a colon, e.g. ":quit"

Feature: Search inside a file by prefixing with a slash, e.g. /foo searches for "foo" in the current file

Feature: Go to line numbers as well

Note: Made Go to File faster


2.1.1December 2013  (download)

Feature: Rename folders in sidebar

Bug: Line highlight no longer covers up bracket highlights if it's opaque

Bug: Made ctrl-[ switch Vim mode to normal mode if Vim mode is active

Note: Added a preference to not close find bar on cmd-F

Note: Made the buttons in the create file/directory sheet more descriptive


2.1December 2013  (download)

Feature: File -> Reveal in Project Bar

Feature: Added "open in browser" button

Bug: Supports the Cocoa recents system. This means that the dock menu, and apps like LaunchBar should work with Chocolat.

Bug: Hides recent documents they have been deleted or are temporarily inaccessible.

Bug: Made PHP autocompletion less annoying

Bug: Now forces snippet languages to lowercase

Bug: Fixed New File and New Directory context items not working on active files

Feature: Added Reveal Below to context menu of active files

Bug: Snippet editor no longer inserts smart quotes

Crash: Possibly fixed a crash in glyph invalidation


2.0.4November 2013  (download)

Bug: Performance improvements

Bug: Fixed mixins sometimes not loading on startup

Note: Preliminary work on ARCifying Chocolat. Conversion for diglett and the choc CLI tool is complete.

Note: Tweaked JSHint default options

Note: Improved styling of documentation popovers


2.0.3October 2013  (download)

Bug: Fix the codesigning melodrama (10.8 users, consider yourselves fortunate)

Bug: Important security fix! Tern now listens on loopback.

Bug: Building against the final 10.9 SDK

Bug: Selecting C++ in the menu now works

Bug: Switched buy buttons over to the new Stripe store

Crash: Silenced an exception if diglett fails to start

Crash: Disabled the old state-saving code. This improves the accuracy of file state restoration and obliterates crashes from it.


2.0.1September 2013  (download)

Bug: Regular tab triggers work with the snippet editor

Bug: Fixed code completion tab triggers in plain text documents


2.0September 2013  (download)

Feature: Snippet editor!

Feature: Indentation guides!

Feature: Select Next/Previous/All Occurrences

Note: New default snippets

Note: New go completions

Bug: Updated CSS completions, including text-shadow

Snippets and more

As promised, we're releasing Chocolat 2.0 today! It's a free update for all users.

Snippet Editor

The biggest new feature is the snippet editor.

Chocolat has a long history of snippet editors. The first one I wrote back when Chocolat was just for Objective-C, was a complete failure. The second one was more ambitious and somehow even more of a failure.

For the third iteration we have adopted a new design. Snippets are stored in a Core Data database and only the user's custom snippets are shown. We make no attempt to show default snippets and they are certainly not editable.

Rather, user snippets override any default snippets with the same tab trigger and language. So if you want to modify a default snippet, all you have to do is create a new snippet to override it.

The snippet editor supports both TextMate (${1:hello world}) and Chocolat (%{1="hello world"}) snippet syntax. Be aware that some features of TextMate (such as mirrors before their tabstops) are not supported by Chocolat.


I have noticed that many of the default snippets are not that great. To this end I have written all new default snippets for C, C++, PHP, JavaScript, Ruby and Python.

These are the languages I know best, but if you'd like to contribute a set for another language, you are welcome to submit a pull request to our repo.

Indentation Guides

This has been one of the most requested features for a long time. Chocolat now has indentation guides (View menu -> Indentation Guides).

A picture is worth a thousand words:

Everything else

You can now press ctrl-F to additionally select the next occurrence of the currently selected text. There is also ctrl-shift-F for the previous occurrence and ctrl-alt-F for all occurrences.

CSS completions have been refreshed with the latest properties. Rather embarrassingly, I added in text-shadow, which hadn't been there before.

There's also new golang completions. (thanks Gabriel Manricks!)

Future

There's a few features that didn't quite make it into 2.0. We're going to fit them into a 2.1 update. If you have any requests, tell us on Twitter!

Aside from that, I'm making a new website for Chocolat! It should be ready in a couple of weeks.


1.9August 2013  (download)

Feature: Rewritten project find

Feature: Project replacement

Feature: JavaScript completions using ternjs

Bug: Fixed a bug where the symbol list would stop showing items

Bug: Probably fixed a bug where updates would get corrupted (we won't know until 1.9.1)

Bug: Fixed active files closing slowly

Bug: Fixed a bug where an empty space the size of the titlebar would show in fullscreen mode

Bug: Project bar now populates upon saving an untitled document

Bug: Fixed a slowness that could occur

Feature: Now saves and restores scroll position properly

Feature: Enabled Web Inspector on Sarah Palin

Feature: Added tab triggers to code completion

Bug: Fixed selectionContext API

Bug: Fixed Go To Symbol on untitled files

Bug: Removed that bloody semicolon from the end of the JavaScript function() snippet (seriously whose idea WAS that?)

Bug: Improved retina resources

Crash: Moved several things to XPC services

Note: Removed support for Autosaving/Versions

Note: Removed the Add Tab button from the titlebar

Note: Added a cute ewok to Project Find

It's not 2.0!

After several months of work: we're finally ready to release a new update: Chocolat 1.9.

This is more of a "Snow Leopard"-style spring cleaning update. While there's nothing really brand new, much of the internal architecture has been rewritten to be faster, more stable and easier to maintain.

That said, we do have a couple of big improvements to existing features (project find and JavaScript completions).

Stability

The boring but most important part of 1.9 is that we've fixed several long standing stability problems. Several parts of Chocolat have been moved to XPC services, so that they are isolated if they crash.

Closing an active file is now much faster (yay!). And finally, after about 9 months of trying to fix it, the symbol list works properly.

More detailed release notes can be found here.

Project Find & Replace

Project find has been completely rewritten to use Ag. And Chocolat can now do project replacement too!

Though I can't take any credit for it, the speed of this thing really needs to be seen to be believed. Especially on an SSD.

Project find itself now runs as an XPC service.

JavaScript Completions

1.9 has entirely new JavaScript completions, powered by Tern. Our implementation adds some extra features on top of Tern, such as support for jsdoc comments, with markdown support and syntax highlighting.

Chocolat can work out (crudely) if you’re using node.js, jQuery or plain browser code and adapt the completions accordingly.

Also, if you don’t want to rely on our heuristics you can have a .tern-project file in the project root or in your home directory. (More info here).

Future

After 1.9, the natural conclusion is that the next update will be 2.0.

I’ve always said that we don’t do major updates with lots of new features. I much prefer to steadily release features, one by one in separate updates.

So we're not going to do anything special for 2.0. It will be a normal-sized, free update. It will have one, maybe two new features.

And it will be out in one month.


1.6.2March 2013  (download)

Bug: Fixes CPU spikes caused by unnecessary syntax rehighlighting that could accumulate if Chocolat was left open for a while


1.6.1March 2013  (download)

Bug: alt-shift-arrowkeys now respects proper word bounaries

Note: Rewritten Quick Open's path search. Now has much better searching of directories to files. Remember that to separate path components use slashes, not spaces.

Bug: Say goodbye to the dammit button, you can now delete open files!

Bug: Pressing return between two end tags no longer inserts an indented newline

Bug: Closing project find options shouldn't send project find backwards

Bug: Buy button highlights preference toolbar icon

Bug: Now will refrain from starting node until there's actually a mixin to run


1.6March 2013  (download)

Note: Must keep to the system! It's now March, so the minor version number gets bumped to 1.6

Bug: Fixed a bug where Strip Trailing Whitespace would strip whitespace unnecessarily causing the whole document to be selected on undo (it still sometimes does this but only if it actually stripped something).

Bug: Fixed a bug where Strip Trailing Whitespace would skip a line's trailing whitespace

Bug: Fixed the documentation popover preference sometimes not being honoured

Bug: Disabled OS X's helpful spelling correction on paste

Crash: Somewhat improved a crash between node's kqueues and FSEvents, but the matter remains unsolved

Bug: Possibly fixed an unhandled exception when typing

Note: Now shows an alert if you try to rename a file to one that already exists

Bug: Fixed line spacing preference so that 0 is supported

Note: Can now run bash scripts

Bug: Fixed regex options to work properly-ish


1.5.1February 2013  (download)

Bug: Fixed snippet tab triggers being broken due to a funny consequence of autosynthesized properties

Bug: Replaced python def and class snippets in prep for snippet editor soon

Bug: Fixed a bug where web preview would stop updating in windowed mode


1.5February 2013  (download)

Feature: New Python completions

Feature: New Ruby completions

Feature: New PHP completions

Feature: Documentation popovers

Note: Just read the damn blog post - http://chocolatapp.com/blog/one-five

A wild update appears!

Good god, an update. I know, right? You thought Chocolat had gone the way of TM2? I don't blame you. It's been months since the last update.

We’ve had every delay imaginable, and what should've been a 1 month turnaround turned into 4 months.

But we’re back, and boy do we have an update for you.

Code completion galore

1.5 focuses on code completion. One of Chocolat's most beloved features is its handy HTML and CSS code completion. But not everybody is a web developer. We want awesome code completion in ALL the languages.

Unfortunately, it's not that easy (or the update would've been out months ago!). The reason our HTML code completion is so good is because it knows HTML. It knows which attributes go with which tags, which attributes can have values, which tags are most popular in real world code, which syntax to look out for so that it can show the code completion menu at exactly the right time.

To make awesome code completion, you need awesome special casing for each individual language. And that takes time.

Fortunately, I've had four months.

Python

(You can skip this section if you want and watch the video instead)

Python has the best support of the update, due to a mix of excellent language design and favouritism on my part.

Chocolat understands Python import statements:

Now when I go to use models, Chocolat knows what's inside.

Chocolat, obviously, knows about the whole Python standard library.

But wait there's more.

I spend most of my days zipping between Chocolat and looking up API documentation in the browser. It's such a huge waste of time. It's so easy to get distracted by something online: before you know it you're reading about sea urchins on wikipedia, when you originally just wanted to look up the arguments of a function.

Documentation is a big problem, and I don't hope to solve it in one go. But Chocolat 1.5 now has documentation popovers. It'll show you the documentation for the current class/method/function/etc.

Ruby

Ruby poses some of its own unique problems. For one, there’s no import statements like in Python. You don’t even have to require a library in order to use it.

Chocolat does know about modules

(note that Chocolat can detect when you're using rails, so it doesn't depend on require 'activerecord' except in untitled files)

Chocolat also knows about methods, though due to Ruby's love of duck typing and frequent use of monkey patching, it's pretty hopeless to guess which methods a given object has. My plan is to add some more heuristics to push the more likely methods up to the top.

Of course, Ruby gets the documentation popovers love as well

PHP

Chocolat’s already had good code completion for PHP for some time.

I haven't (yet) got around to writing a library indexer for PHP. Sorry!

What we do have are some of those nice documentation popovers for PHP. Needle-haystack? Haystack-needle? Now you needn't guess.

Other Languages?

Say hi on #chocolat on freenode.net if you’d like to muck in.

As I said at the start, it’s my mission to add good code completion for every language possible.

We are somewhat limited by the fact that

  • There’s only two of us!
  • To add support for a language I have to learn it first. I learnt Ruby for this update.

So any help is welcome.

I did consider making completions available to the Chocolat JS API. However, I wasn’t happy with the performance, so we’re going to be sticking to pure Objective-C.


I hope you like this update. Normal weekly updates will resume promptly.


1.4.3October 2012  (download)

Bug: Had a bit of a kerfuffle with this one, sorry. Undo and the tab key are definitely working now (but who uses those?)

Feature: Enabled spell checking for text files and similar

Bug: Disabled whitespace stripping if there are active folds

Bug: Saving multiple times would "dirty" a document if whitespace stripping was enabled

Bug: Fixed a bug where undos would not be specific to the active editor

Bug: Fixed a bug where Chocolat would not find ruby 1.9 if using rvm/rbenv

Feature: Added a preference to use PeepOpen instead of Chocolat's own Go to File

Note: Inserting a soft tab now inserts spaces up to the next tab stop.

Crash: Missing fonts (again)

Note: Added a refresh button to Go to File

Crash: Disabled the Web Inspector button on 10.8 until we can work out how to get it to work again. It was nice while it lasted...

Bug: Renaming a theme resorts the list

Bug: Comment Line handles lines with less indentation than the first one

Bug: Command forward delete deletes the rest of the line


1.4October 2012  (download)

Feature: Strip trailing whitespace

Bug: Removed hang when loading a project by switching to SQLite for project storage

Bug: Performance improvements. Reduced idle CPU usage, and removed some hangs.

Note: Added dock menu.

Bug: Fixed focusing of blank tab view's search field

Feature: Right click on a directory in the source list to "Open in New Tab" or "Open in New Window"

Note: Shows a highlight around source list items on right click so that you can see which one you clicked on

Bug: Possibly fixed Comment Line not working for some people. I was never able to reproduce this bug, we'll see if this fixes things


1.3.2September 2012  (download)

Feature: Image previews

Feature: Hide line numbers

Feature: Drag to reorder active files

Feature: Subword movement using alt-ctrl-left/right (or ctrl-left/right you have that system shortcut disabled in System Preferences)

Bug: Code completion moves above current line if clipped by bottom of screen

Bug: Allow tabbing into document from find bar replace field

Image previews, reorder active files, subword movement

Just had enough time to squeeze in another update this week: 1.3.2.

Headline feature of the update is the ability to preview images. Selecting an image in the source list will show a preview:

Image preview

One of the most requested changes has been to be able to drag-to-reorder active files.

Screenshot of reordering active files

Finally, you can now move between SubWords using ctrl-alt-left/right (it's also possible to use ctrl-left/right, though you must unbind it from spaces first).

Other changes include:

  • You can now hide the line number bar.
  • Code completion is no longer clipped if it reaches the bottom of the screen, but moves above the current line.

Full release notes here.


1.3.1September 2012  (download)

Feature: "Blank Tab Screen" to replace the big gray rectangle if no files are open in a tab. Shows a list of recent files (the list is persisted to disk so you get a list of the files you were working on last time a project was open). Plus there's a search field which has the full power of Go to File.

Bug: choc now opens subdirectories of a directory that's already open

Feature: Can now specify line numbers to choc by passing the -l flag, or appending a colon and the line number to the path.

Bug: Fixed a bug that prevented rich people from switching between tabs.

Note: Shows "cmd-shift-esc to cancel" in the status bar when in multicursor mode

Bug: choc now creates intermediate directories

Feature: Notifies if the choc CLI is out of date

Bug: Disabled automatically showing the project bar for files in temporary locations

Crash: Fixed crash in code completion when manually invoking when multiple lines were selected

Crash: Fixed crash when dragging certain items in the source list

"Nothing selected" + CLI improvements

We've just pushed Chocolat 1.3.1. Here's a little of what's new:

Chocolat now shows a list of recently edited files if nothing else is open (previously it was just a boring gray rectangle).

Nothing selected

There's also a search field to search the whole project, just like Go to File.

Additionally, we've made some improvements to the choc CLI tool:

  • Pass the -l or --line option (or append a colon and the line number) to open the file at a particular line.
  • Chocolat notifies you if choc is out of date.
  • choc now creates intermediate directories if they don't already exist.

Full release notes here.


1.3September 2012  (download)

Feature: Scripting API! Read more at http://chocolatapp.com/blog/?chocolat-node

Note: Because of the small number of Snow Leopard users, and the requirements of the scripting API, Chocolat now requires 10.7 or later.

Bug: Performance improvements.


1.2August 2012  (download)

Note: We're working on a big new feature for Chocolat. While you wait, here's an update of small fixes.

Feature: "Duplicate..." context menu item

Feature: Text > Lines > Delete Line (cmd-shift-delete)

Note: Nuked "invalid" syntax highlighting from orbit.

Feature: cmd-left now goes to the end of the indentation of a line. Press it again to go to the actual start. If this feature offends you, there's a preference for it.

Note: The duplicate line action now moves the selection down an equivalent amount

Note: Selecting a line multiple times selects more and more lines

Bug: Disabled cut and copy if no text is selected

Note: Can now alt-double click on a word to create a multicursor selection of that word.

Bug: Jump to Definition didn't work unless Go to Symbol had been opened first

Bug: Double clicking in Go to File now works

Feature: Added a context menu item for Open in New Window. Previously, this was (and remains) possible by double clicking.

Bug: Can now drag project name in source list.

Bug: Indexed code completions are now scoped


1.1.3July 2012  (download)

Feature: Wrote an entirely new implementation of Ctags just for Chocolat. Much better symbols for C, Clojure, CoffeeScript, Java, Lua, Objective-C, PHP, Python, R and Ruby.

Crash: Doesn't crash if a font doesn't exist (in theory)

Crash: Oops, left some debugging code in 1.1.2, which neatly caused crashes on every computer except for mine.


1.1.2July 2012  (download)

Feature: Wrote an entirely new implementation of Ctags just for Chocolat. Much better symbols for C, Clojure, CoffeeScript, Java, Lua, Objective-C, PHP, Python, R and Ruby.

Crash: Doesn't crash if a font doesn't exist (in theory)


1.1.1July 2012  (download)

Note: Signed with Developer ID in preparation for Gatekeeper

Feature: Code completion now completes function/method arguments (for user functions; library function support only for PHP at the moment)

Feature: R code completion (thanks feju)

Feature: Lua code completion

Feature: Better C++11 code completion support (work in progress)

Feature: LESS, SASS and SCSS code completion

Crash: Fixes a crash in CSS completion


1.1July 2012  (download)

Note: A note on our version number scheme - the second digit is the number of months since the last major version. 1.0 was June, we're in July now, hence the version number is 1.1

Feature: CSS3 support in code completion

Feature: HTML event attributes (onload, onclick, etc)

Feature: Color picker now appears in code completion menu

Feature: Added some default font stacks to CSS completion

Note: Code completion now shows for CSS values even if there's nothing there

Bug: Fixed running C++ files

Bug: Disabled html code completion in markdown


1.0June 2012  (download)

Feature: Major improvements to the version number.

Note: Thanks to everybody who tested, bought and helped us get to 1.0!

Bug: Made live errors more stable

Bug: Fixed an unhandled exception


Beta 18June 2012  (download)

Bug: This definitely, maybe, fixes the issue with Snow Leopard.

Note: Sorry about the kerfuffle.


Beta 17June 2012  (download)

Bug: Fixed performance regression due to last update's the font fix (this does depend on the font though. Chocolat will be slightly slower if you're using a non-Menlo font that has multiple styles)

Bug: Fixes bug on Snow Leopard, because apparently there is still somebody using it.

Bug: Fixes indentation when pressing return in between angle brackets that are not opening and closing tags.


Beta 16June 2012  (download)

Note: Release Candidate 1

Feature: Retina-ready

Bug: Save as sheet now works in projects

Bug: A bug where users would be unable to create blank themes if they had no existing themes

Bug: Garbled glyphs with non-standard fonts

Note: Can now double click an empty space in the tab bar to create a new tab

Note: Maybe fixed a crash on 32-bit Snow Leopard (I don't know, I can't test)

Bug: Quick open no longer follows symlink'd directories

Bug: Fixed markdown bold/italic highlighting


Beta 15June 2012  (download)

Note: Since Chocolat is getting stable, "Save on Defocus" is now OFF by default. If you want it on, you will have to reenable it in Preferences.

Feature: Redesigned tabs. Thanks peteshaffner!

Crash: Fixed a bunch of crashes

Crash: Fixed a crash if the default font gets deleted

Note: Made the preorder button look a bit nicer, henceforth to be called the "panic button"

Bug: cmd-number worked if you had additional modifiers

Note: Removed syntax highlighting rules for plain text. Much faster with large files.

Note: Removed Experimental Features setting that hasn't done anything useful for a while

Note: Optimized pngs, deleted unused resources, etc. Chocolat is a little bit smaller.


Beta 14May 2012  (download)

Feature: Added launch bar (you'll see what I mean)

Bug: Adjusted autoreindentation on paste

Bug: Turned off ligatures

Bug: Fixed find bar setting negative scroll position

Bug: No longer does regex searches as you type to prevent users accidentally searching for pathological cases

Bug: Added checkmarks to Project Bar and Symbol List

Note: Duplicate line is now ctrl-shift-D

Bug: ctrl-clicking works for showing project bar context menu

Bug: Hides project bar menu for untitled windows

Bug: Now saves project bookmarks as the tab's project not the document's

Bug: Now disambiguates folder names in the source list

Feature: alt-double-click to open a new window

Note: Now accepts Perl-style regex replacements ($3 vs \3)

Bug: Now uses the filename for files with no extension

Bug: Fixed cmd-alt-drag


Beta 13May 2012  (download)

Bug: Fixed the preorder button on 10.6

Bug: Fixed the left paren being highlighted improperly (caused by an invalid parse tree)

Bug: Handles base properly in syntaxes (in other words, ObjC syntax highlights properly)

Bug: Now cycles through tabs

Feature: Can now show scope in status bar

Bug: Blank window when opening a project

Feature: Can now hide the status bar

Bug: Jump to Definition now works if there's no active file

Feature: cmd-alt-plus/minus to temporarily change font size.

Crash: Fixed a crash in the status bar

Note: Creating a workspace will now NOT create an untitled document, if part of a project

Note: Workspaces are now named by their parent folder

Bug: Changes are now be saved properly on update (not valid until the next update, obviously)

Note: Can now use cmd-R to reload web preview while it is open

Note: Added a find panel to web preview and the documentation viewer

Note: Added Save All

Bug: Disambiguation works better

Bug: Fixed a bug where files would not be opened in their natural project

Note: Added an insert button to clipboard history

Note: Added New Window button to new file sheet


Beta 12May 2012  (download)

Feature: Now counts down to release! We're not sure if this will stay the actual release date, but it certainly feels important.

Feature: Rewrote the code for Chocolat's trial, including a slick in-app store, and our patented Comic Sans Persuasion System.

Note: Disabled the code completion animation.

Note: Added a link to our unfinished documentation.

Note: Can now search documentation in the help menu.

Bug: Web preview now updates when you switch between text views

Bug: Fixed a couple more bugs in snippets

Note: Added building definitions for PHP

Note: Modified tm2truffle to be more aggressive in discarding non-working commands

Note: Actions menu now shows tab triggers

Bug: Pressing cmd-shift-C hides the color panel if it's visible

Bug: choc with no arguments now makes Chocolat active even if Chocolat is already running (you will need to reinstall choc)

Bug: Spaces in execute in terminal paths work

Bug: Long folder names in the source list are now truncated

Bug: Fixed Save As panel

Bug: Grayed out some menu items when wouldn't do anything


Beta 11.1April 2012  (download)

Crash: Fixed a crash in Beta 11 with invalid documentation definitions

Feature: Drastic improvements to html and css code completion

Bug: Project find incremental results updates less often

Bug: Fixed a bug in snippets where nested tabstops would shift too far to the right

Bug: Fixed a bug which was preventing embedded CSS, JS or Django from being highlighted correctly

Note: Added a button to web preview to show the web inspector.

Crash: Fixed a somewhat common crash in the status bar

Bug: Fixed project find getting "stuck" if you closed the window and reopened it

Bug: Fixed autoindentation when inserting a newline between a start and end tag

Bug: Fixed a race condition where code completion would trigger too "late" and you would have more characters than necessary. Probably. You can never tell with race conditions.

Note: Autopairs django-style {% %} blocks

Bug: Fixed PHP comment line command


Beta 11April 2012  (download)

Feature: Drastic improvements to html and css code completion

Bug: Project find incremental results updates less often

Bug: Fixed a bug in snippets where nested tabstops would shift too far to the right

Bug: Fixed a bug which was preventing embedded CSS, JS or Django from being highlighted correctly

Note: Added a button to web preview to show the web inspector.

Crash: Fixed a somewhat common crash in the status bar

Bug: Fixed project find getting "stuck" if you closed the window and reopened it

Bug: Fixed autoindentation when inserting a newline between a start and end tag

Bug: Fixed a race condition where code completion would trigger too "late" and you would have more characters than necessary. Probably. You can never tell with race conditions.

Note: Autopairs django-style {% %} blocks


Beta 10April 2012  (download)

Feature: Text > Edit Color

Bug: Snippets are much better

Note: Project find results now update progressively

Bug: Fixed ignoring directories in project find

Bug: The options window no longer breaks when it's closed and reopened.

Bug: Project find runs the search again if it encounters a problem the first time (the astute reader will notice that this is a massive hack)

Note: Added a URL field to web preview

Note: Web preview can now be split into a new window

Note: Added back/forward/reload buttons to web preview


Beta 9April 2012  (download)

Feature: Code folding

Bug: Clicking on the gutter now selects the split

Note: Added filename + close buttons to splits

Bug: Eradicated some hangs when Chocolat is first used after launch

Note: Can now drag files from the source list

Note: Now shows labels in the source list


Beta 8March 2012  (download)

Note: Sorry for the delay, computer existence failure.

Feature: Templates! But not as you know them...

Note: Templates are only available if you've preordered, since they occupy the same place as the preorder button. So erm, preorder now!

Feature: Preorder nag changed to "Upgrade your OS" nag on Snow Leopard. Seriously people, whenever I'm pushing an update, I have to test it on Snow Leopard using VMWare. And it burns my wrists! Please upgrade your OS.

Feature: Symbol list menu, in the statusbar.

Feature: Preference to highlight identical words

Note: can now press alt to toggle a selection between normal and blockedit modes.

Bug: 8 important fixes to snippets that I am too sleepy to detail here.

Note: Clarified the Deactivate alert to be clearer that you can install Chocolat on more than one computer at once.

Bug: Multicursor mode now scrolls when dragging

Bug: Regex replace now works better

Note: Added .svg to Info.plist

Bug: Find in project now jumps to the right line


Beta 7March 2012  (download)

Feature: Now supports Less, Scala, Go and Sass.

Feature: Renaming files

Bug: Project find now works properly.

Bug: Now lets you delete files that have no open splits (sort of...)

Bug: Fixed a bug where the project bar would appear randomly

Note: cmd-N is now bound to the New File sheet when in a project. Use cmd-shift-N for the previous behaviour.

Bug: Is now more reliable at detecting when a window is part of a project

Note: Added comment definitions for more languages

Bug: choc -w now works as expected... hopefully

Crash: Fixed a crash with regex replacement

Bug: In the find bar, the Replace All now works even if no text is selected

Note: In the find bar, the Return key now inserts newlines

Bug: Documents don't always update to match changes (especially if they're not visible)

Bug: No longer unindents past the previous line if the previous line is an increase (that's a good thing)

Bug: Fixed a bug with indentation rules

Bug: Adding a file now refreshes the Go to File index

Feature: Added some more options to Project Find. Can now ignore directories, etc.

Note: Can now customize which files are hidden/shown from the project bar

Note: Throws a pokeball at diglett if it doesn't respond for 30 seconds


Beta 6March 2012  (download)

Feature: Vim mode! alt-cmd-V to activate. All credit to http://github.com/WarWithinMe/xVim

Bug: choc -w now works if the file is closed

Bug: Fixed project find


Beta 5February 2012  (download)

Note: Lots of performance improvements

Bug: Fixes a bug with pasting

Bug: Web preview now reloads without doing a reload

Feature: Now includes a preference for line spacing

Feature: Now allows antialiasing to be turned off

Note: choc is now installed using an installer .pkg

Note: Added Solarized (and others) to the set of default themes


Beta 4February 2012  (download)

Feature: File state restoration.

Bug: Fixed a bug where the dirty dot would fail to change

Bug: Unsaved documents are now marked as such in the source list

Bug: Improved smart pasting some more

Bug: No longer unindents on a newline

Bug: Stopped all that beeping when you do cmd-R

Note: Indexing now supports PHP and Objective-C

Note: Go to File now selects the previous file in the list when it's opened

Bug: Hacked around a bug where documents could become "orphaned" and unopenable

Note: Now displays "PHP" in the status bar in PHP mode instead of HTML. This was the most important bug evar in Chocolat, apparently.


Beta 3February 2012  (download)

Crash: Fixed a bug where Chocolat would not clean up old processes properly

Bug: Indented paste now works a little bit better

Bug: In the process of rewriting snippets, so some snippets might not work correctly (while others will work better).


Beta 2February 2012  (download)

Crash: Fixed a crash with diagnostics

Bug: Fixed a bug where pasting wouldn't work in certain cases

Bug: Cursor is now back to being invisible again on dark themes. On the plus side, it doesn't flicker all the time.

Note: Simplified the menus a bit

Bug: Copying and pasting a line now pastes it at the correct indentation level

Bug: Drawing multicursor blocks on column 0 now works

Bug: Copy and pasting in multicursor mode works properly again


Beta 1February 2012  (download)

Feature: Multicursor editing (aka blockedit)

Feature: Live error checking

Feature: Code completion now works on Snow Leopard

Bug: Paste now respects indentation (use cmd-ctrl-V to paste verbatim)

Bug: Fixed automatic unindentation

Bug: cmd-R now works with unsaved files

Bug: cmd-R and friends now reuse terminal windows

Bug: Fixed a bug where Chocolat would fail to clean up temporary files


Alpha 57January 2012  (download)

Feature: The icon has been improved a touch

Feature: cmd-alt-up/down to select outer and inner bracketed blocks.

Bug: Fixed a bug with project find.

Bug: Scripts now get their context updated each run. (fixes a regression with comment-line in the last update)

Bug: Comment Line no longer deletes text from the start of unindented lines

Bug: Comment Line now selects roughly the same region after commenting

Bug: Ligatures are off by default


Alpha 56January 2012  (download)

Feature: Recent projects menu

Bug: Recent files now disambiguates files with the same name

Note: Boosted maximum number of recent documents to 25

Feature: Now applies heuristics to determine whether a file uses tabs or spaces for indentation, and if spaces, what the tab size is.

Feature: Line numbers now displayed proportionally

Bug: The mouse cursor now contrasts with the background color.

Note: Moved Run/REPL/Build/etc actions to the root of the Actions menu to make them more visible

Bug: Comment line now supports more languages + block comments

Bug: alt-rightarrow no longer skips to the start of the document if pressed at the start of the last word

Note: Nixed the find bar animation

Bug: Fixed that annoying beep when pressing escape in the find bar

Bug: The find bar no longer 'jumps' forward when deleting the whole query

Bug: Fixed 'Use Selection for Find' (and no, I'm not going to change the shortcut! >:o)

Bug: The find bar now scrolls the text view to keep itself in the same place, if possible


Alpha 55December 2011  (download)

Crash: Fixes a regression from the last update where the cache would be modified while it was saving


Alpha 54December 2011  (download)

Bug: Large performance improvements when typing

Feature: Wrap guideline (work in progress)

Feature: ctrl-cmd-left/right to switch between splits

Feature: Added context menu items to Move File/Directory to Trash

Note: Now shows the project name in the window title.

Bug: Go to File now respects tabs

Feature: Cmd-Return in Go to File will open in a new split

Bug: choc called with no arguments now launches Chocolat.

Bug: Made choc faster at launching Chocolat.

Crash: Fixed an occasional crash in the symbol list


Alpha 53December 2011  (download)

Feature: Swipe left and right to go back/forward

Note: Added a close button to the documentation viewer

Bug: Rewrote Go to File to be much faster

Bug: Files ending with ".com" now appear in the source list.

Bug: Fixed a situation where the source list would not be updated if directories under it changed

Bug: Fixed a minor bug that caused some harmless error messages about FSEvents to be printed (the horror)


Alpha 52December 2011  (download)

Bug: The at key now works


Alpha 51December 2011  (download)

Bug: Rewrote autopairing algorithm to be less irritating

Feature: Selecting text and pressing a quote key wraps the text in quotes and add escapes sequences


Alpha 50December 2011  (download)

Feature: Web Preview has been moved to a split. Activate it with cmd-ctrl-alt-P as usual.

Feature: Documentation viewer (occupies the same space as the web preview split). Activate with cmd-ctrl-alt-D.

Feature: Jump to Documentation. Position your cursor over or next to a word, then press cmd-shift-J. This is *really* cool.

Crash: Fixed a bug where failing to spawn a subprocess would cause phantom crash reporter dialogs.

Crash: Next/preview symbol with no selection in the symbol list.

Crash: Possibly fixed a race condition in syntax highlighting

Bug: Performance increases from fixing a case where the text view would be drawn too often

Note: Tweaked code completion confidence some more. It's now more confident about CSS. No longer shows any code completion if the word matches in its entirety.


Alpha 49November 2011  (download)

Note: Added a dummy menu item for PHP

Feature: Cmd-Return for "Insert Line Below" and Cmd-Shift-Return for "Insert Line Above".

Bug: Fixed a bug where code completion would stay around when it shouldn't

Feature: Go -> Make Active (cmd-shift-1)

Bug: Fixed bugs where code completion would not hidden properly

Note: Code completion now only shows automatically if there's at least 4 characters remaining

Feature: Added previous/next symbol actions (cmd-alt-{left,right})

Feature: cmd-J to quickly jump to the definition of a symbol

Bug: Many miscellaneous tweaks to the UI


Alpha 48November 2011  (download)

Bug: Fixed find bar (sorry!)


Alpha 47November 2011  (download)

Feature: Code Completion!

Note: If you find code completion irritating, it can be turned off in General preferences.

Bug: Fixed a wide-ranging bug with selectors


Alpha 46November 2011  (download)

Feature: Symbol list now indents child items

Note: Reshuffled menu items - "Quick Open" is now "Go to File" and lives in the Go menu.

Bug: Tweaked project detection so that it's more confident

Bug: Turned off non-contiguous layout (it was a bit weird, wasn't it?)

Note: Changed selection behaviour of Quick open

Note: Set the default do-not-verify to skip checksum verification.


Alpha 45November 2011  (download)

Feature: Symbol List

Feature: Chocolat now verifies itself at startup via a checksum.

Feature: Very unfinished code completion. Alt-esc to show it.

Bug: The indexer no longer generates duplicate symbols

Bug: Fixed an issue where shell commands would not receive an environment


Alpha 44October 2011  (download)

Feature: Chocolat can now be preordered! ヘ(^_^ヘ) (ノ^_^)ノ

Note: Removed invite requirement. Chocolat is now open to all (theoretically).

Crash: Fixed an occasional crash in text editing.


Alpha 43October 2011  (download)

Crash: Fixed a crash in Diglett.

Bug: Fixed a bug where overlay scrollbars would flash a lot.

Bug: Fixed a bug where fonts would lose their bold/italicness when switching back to a text view.

Bug: Word completion no longer shows duplicate results and has cursor positioned at the end of the word.

Bug: alt-{left/right} now works correctly with numbers, and at the start of the first word in the document.


Alpha 42October 2011  (download)

Note: DON'T PANIC

Feature: Can press esc to complete the current word

Feature: Added "New Directory" context menu item in source list

Feature: Now shows matching brackets

Feature: Quick open now shows recent documents

Note: Enabled the web inspector in web preview


Alpha 41October 2011  (download)

Bug: Hiding items in the top outline view now resizes it appropriately

Bug: Opening a file now correctly sets the project of its tab and adds it to active documents

Bug: Closing an active document now jumps you to the previously most recent Active document

Bug: Fixed opening of files on Snow Leopard (!)

Note: Changed Move up/down in the source list to cmd-alt-up/down and Switch to Header to cmd-ctrl-up/down.


Alpha 40October 2011  (download)

Feature: Added a list of recently viewed documents to the source list. Press cmd-ctrl-R to switch to it and cmd-ctrl-A to switch back.

Bug: Fixed a bug where project find would not show any results

Crash: Fixed a crash on Snow Leopard


Alpha 39October 2011  (download)

Note: This has been an update of rewrites. Unfortunately, they always take forever, but it was a job that had to be done at some point.

Feature: Rewrote the indexing system. It's now quicker, more efficient, and less likely to interrupt what you're doing. It runs in a separate process at the lowest priority, so even at 100% CPU it doesn't noticeably slow down Chocolat's UI (in practice it's limited to around 20% CPU).

Feature: Indexing now works per-file as well as per-project. This means you can use Jump to Definition whether or not the file is in an indexed project. Support for more indexing-based features is coming soon.

Note: We didn't quite have enough time to get the UI for controlling project-wide indexing working so it remains disabled by default.

Feature: Rewrote the UI for Project Find using a WebView. Now less glitchy.

Bug: Project find now searches all files, though it can be restricted to just source code via a new checkbox.

Feature: Introduced a new building system (see here). Use cmd+R to run, cmd-shift-B to build, cmd-shift-R to run in a REPL and cmd-shift-D to debug. If your language isn't supported, pull requests are of course welcome :)


Alpha 38September 2011  (download)

Bug: Fixed a bug where characters would appear twice after typing.

Bug: Fixed tearing of the line numbers

Bug: More fixes to commands

Bug: Now attempts to repair permissions, if they get changed.

Crash: Fixed a crash when creating files

Note: Turned on non-contiguous layout

Bug: Substantial improvements in highlighting performance


Alpha 37September 2011  (download)

Bug: This update features lots of fixes to Commands. To pick a popular example, the HTML Insert Closing Tag command now works.

Note: Now saves window sizes.

Note: Rewrote subprocess code to be more reliable.

Bug: $TM_LINE_INDEX now has the correct value

Bug: Column numbers now take into account tab size

Bug: Commands can no longer overwrite replace the contents of the document if they fail or return no output.

Bug: Empty selector now matches anything

Bug: Fixed a bug in theming where zones would be incorrectly matched with selectors


Alpha 36September 2011  (download)

Bug: Fixed bug in Sparkle which was causing crashes during updates.

Feature: Disabled Lion Resume (use 'defaults write com.chocolatapp.Chocolat NSQuitAlwaysKeepsWindows -bool true' to reenable)

Bug: Web preview is now more conservative about when it refreshes. It will wait for to stop typing for a second, before it refreshes the webview.

Bug: Web preview now favours html and markdown documents over other documents.

Note: Tab and Shift-Tab can now be used to indent and unindent

Note: Now remembers user-defined extension to language mappings

Bug: Save As now sets the file's language using the file's extension

Bug: Regex replace now works


Alpha 35September 2011  (download)

Bug: Fixed autoresizing of buttons in Create File dialog

Note: Changed Find in Project's key equivalent to cmd-shift-F

Bug: Can now access context menu by clicking anywhere in the files bar

Feature: Added new text transformations to Text menu

Feature: + Spaces to/from Tabs

Feature: + Reverse Text

Feature: + Sort/Randomize/Reverse/Unique Lines

Note: Alt-Left/Right and Alt-Delete now have better word boundaries


Alpha 34September 2011  (download)

Bug: Fixed syntax highlighting for many languages.

Crash: When having a project open in more than one window at once.

Note: Erlang is now in the SPLDB, so it gets Cmd-Slash commenting.


Alpha 33August 2011  (download)

Feature: Each Workspace (aka Tab) now has an explicit project associated with it. Multiple tabs can have the same project

Feature: Hold the command key while pressing the new tab button to "clone" the current tab

Feature: Moved the Active section to a separate list so it's visible all the time. Now also provides padding, to minimise the number of resizes (you'll see).

Feature: The Active section is now a per-tab list, instead of being computed as a subset of open files.

Feature: Quick open now shows subpaths to help tell apart multiple file with the same name.

Feature: Command-1 to Command-9 now let you select source list items

Bug: Improved text editing performance.

Bug: No longer inserts a 0 when commenting a line.


Alpha 32August 2011  (download)

Note: Switched from resparkle to sparkle

Feature: Added comment line script (requires Lion for some languages)

Bug: choc now activates chocolat

Note: Optimized quick open and editing a bit

Note: Quick open now takes into account distance from project root

Note: Quick open has much better sorting

Bug: Improved spacing and rendering of invisible symbols


Alpha 31August 2011  (download)

Bug: Fixed a bug where the source list would jump around after selecting something

Note: Renamed Tabs to Workspaces

Bug: Fixed bug in Syntax Highlighting - Scala now works

Feature: Added 'Previous/Next in Files Bar'

Bug: Added a bit spacing around the text view

Note: Spaces no longer show up when invisible characters are enabled


Alpha 30August 2011  (download)

Bug: Fixed a crash when restoring

Bug: Fixed a bug where quick open would open documents in a new window instead of the project's window

Note: PHP has been hidden from the language pickers, since it was creating confusion. Please use the _HTML_ language for PHP code.

Bug: Quick open no longer opens a new window if a project is open in a window that has no open document

Bug: Japanese, Chinese, Arabic, etc text now shows up correctly

Bug: Fixed a bug which caused commands to get no input

Bug: Fixed a race condition in commands

Bug: Overlay scrollbars are now light on dark backgrounds and dark on light backgrounds color

Note: Added keyboard shortcut for "Use selection for find"

Note: Can now press enter/shift-enter in the find bar to go to the next match

Feature: Added Text->Lines->Duplicate using the new Scripting API


Alpha 29August 2011  (download)

Bug: Quick open no longer opens a new window if a project is open in a window that has no open document

Bug: Japanese, Chinese, Arabic, etc text now shows up correctly

Bug: Fixed a bug which caused commands to get no input

Bug: Fixed a race condition in commands

Bug: Overlay scrollbars are now light on dark backgrounds and dark on light backgrounds color

Note: Added keyboard shortcut for "Use selection for find"

Note: Can now press enter/shift-enter in the find bar to go to the next match

Feature: Added Text->Lines->Duplicate using the new Scripting API


Alpha 28August 2011  (download)

Note: Install from file button in Install Extras now works

Bug: Now properly indents when pressing return in the middle of a pair of curly braces

Bug: Now properly shows a line number for the last line

Bug: Disabled text substitutions twice as much as before


Alpha 27August 2011  (download)

Note: Various pre-public-alpha fixes.


Alpha 26July 2011  (download)

Feature: Can now create files from inside Chocolat

Feature: Now prompts to submit crash reports if it finds a new one

Note: choc installation now asks for permissions if necessary

Note: Better handling of regex transformations in snippets

Note: Possibly fixed bug where file overwritten dialog would show all the time

Bug: Disabled Cocoa's file overwritten dialog using EVIL HAX


Alpha 25July 2011  (download)

Bug: Improved performance of invisible characters

Crash: No longer crashes when sorting by location in Install Extras

Bug: Language menu should show remote truffles

Bug: Improved stability of snippets

Bug: Improved performance

Note: Scrollbars on lion are now lion-scrollbars

Bug: Web preview now shows titles

Note: Quite a few other things that I forgot...


Alpha 24July 2011  (download)

Note: Added images to the unlock screen

Feature: Added an advanced preference for autosaving

Bug: Fixed tm2truffle adding escapes around quotes

Feature: Added the beginnings of right click menu to the source list

Bug: Fixed a bug where soft tab settings wouldn't be persisted

Bug: No longer inserts matching brackets before non-word characters

Bug: Jumping over matching brackets now works in all cases


Alpha 23July 2011  (download)

Bug: No longer opens a split view if opening a document that is already open via go to symbol, quick open, etc.

Bug: Indentation only decreases once.

Note: Indentation will also no longer decrease beyond the previous line's indentation

Bug: Quick open now works whether or not there's a split document open in the project window

Bug: Selection behaviour of words has been improved

Bug: Cancel button in install extras now works

Bug: Made the resize area for split views larger


Alpha 22June 2011  (download)

Note: Now remembers indentation settings for untitled files

Bug: Indentation settings are now recalled correctly

Note: Deleting the left hand side of a pair now always deletes the right hand side, regardless of whether any typing has been done in the meantime

Bug: Truffles now display in alphabetical order


Alpha 21June 2011  (download)

Bug: Disabled CHFileTrackingCenter while in the middle of a file tracking event

Bug: Fixed the position of the indexing progress view

Bug: Indexing now updates properly when files are changed

Bug: Fixed a bug where items in the source list would be collasped without the user doing anything

Bug: Fixed a bug where selection in the source list would revert

Bug: Inserting brackets while text is selected will enclose that region of text in brackets

Bug: Fixed a bug where snippets would not be cancelled if editing them at the end of their range

Feature: Can now hold alt to make splits horizontal


Alpha 20June 2011  (download)

Note: Improved scrolling performance

Bug: Possibly fixed a hang in the source list when registering directories for updates

Bug: Made indexing take less time when indexing directories with lots of non-source files

Feature: Added preliminary support for downloading truffles from github


Alpha 19June 2011  (download)

Bug: Sort of fixed selection in the source list

Bug: choc no longer opens two splits for newly opened files


Alpha 18June 2011  (download)

Bug: Fixed a bug where the user would be prompted to save twice when quitting

Bug: Fixed a bug where Chocolat was unable to save.

Bug: Fixed a bug where the close button wasn not re-enabled after showing the close sheet.


Alpha 17June 2011  (download)

Feature: Snippets have been completely reimplemented

Crash: Fixed a bug which caused Chocolat to crash when opening files


Alpha 16June 2011  (download)

Bug: Removed the blue tint from the GitHub theme

Bug: Doesn't create so many items in DeltaTruffles when using the library

Crash: Fixed an infinite loop in directory change tracking

Crash: Possibly fixed two crashes in shell scripts


Alpha 15June 2011  (download)

Note: Disabled NSTextView's multiple selections in preparation for block edit (also they were causing crashes)

Crash: Fixed a crash with smart typing

Feature: Web preview now supports markdown

Note: Added a default stylesheet to web preview

Bug: Chips are now shifted appropriately if you edit above them

Bug: Activating chips works a little bit better

Bug: Horizontal splits are now possible

Bug: Pairings now eat end characters. If you type () you should first get (|) then ()|

Note: Made commands whose output does not affect text documents run in the background

Bug: Made commands show HTML output

Bug: Commands, snippets no longer delete selected text if activated via non-tab triggers

Bug: Made passing stdin to commands work

Bug: Disabled next line only indentation movements, since TextMate doesn't seem to use it as documented


Alpha 14June 2011  (download)

Note: Actions menu now shows items (work in progress)

Bug: tm2truffle now converts the name of the truffle. Truffles now display the correct name.

Note: Now supports per-language character pairings

Note: The source list now updates if the underlying directories change

Note: Patched tm2truffle to support the Actions menu

Bug: tm2truffle no longer includes items which have been "deleted" by UUID in the tmbundle

Bug: tm2truffle no longer includes commands which Chocolat cannot support

Note: Documents now update or prompt if they are changed on disk


Alpha 13May 2011  (download)

Bug: Improved handling of double-clicking quote characters

Bug: Fixed bracket/quote pairings


Alpha 12May 2011  (download)

Bug: Cmd-W didn't close the tab when the splendid bar was hidden

Bug: Open button for quick open is now disabled if there's no selected item

Bug: Fixed a bug with selection when shifting indent

Bug: Fixed a bug where an important syntax highlighting cache was being ignored, hence leading to slowness when typing, particularly with HTML

Bug: Rewrote invisibles to be more performant and look more distinct

Crash: Fixed a crash with combining characters


Alpha 11May 2011  (download)

Crash: Crash with textmate to chocolat snippet conversion in command output

Bug: Fixed annoying pause when first typing in a document after launching

Bug: Now starts up a lot faster

Bug: Made deleting work properly with soft tabs

Bug: Fixed an bug with incorrect encodings

Bug: Fixed a bug where snippets were parsed incorrectly

Crash: Fixed a crash when inserting snippets if they were parsed incorrectly


Alpha 10May 2011  (download)

Bug: Fixed two bugs where textmate snippets converting slashes were incorrectly converted by tm2truffle

Bug: Fixed a bug where textmate snippets converting double quotes were incorrectly converted by tm2truffle

Crash: Fixed a crash with syntax highlighting

Crash: Fixed a crasher when parsing snippets

Crash: Fixed an occasional race condition in the text editor

Bug: Fixed tm2truffle not adding indentation regexes in some truffles


Alpha 9May 2011  (download)

Note: Now allows saving project files in different locations

Feature: Added the `choc` command line tool, analogous to TextMate's `mate` command (work in progress)

Note: Now remembers per-language and per-file-extension tab size settings

Bug: Continuing to work around autozone's insane thread-local collector

Note: Indexing now runs approximately 4 times slower, with approximately 4 times less CPU utilization


Alpha 8May 2011  (download)

Bug: Showing the clipboard history window now also centers it

Note: Changed the appearance of the add tab button

Bug: Made the indexing permission prompt not-ugly

Bug: Now includes a UI for the save-on-defocus preference

Feature: Now includes default tab sizes and kinds for various languages

Bug: Improved handling of indentation

Bug: Extensions are now NOT selected by default in the save panel

Note: Made saving more robust, just in case


Alpha 7May 2011  (download)

Feature: Now supports save-on-defocus. There is currently no UI to turn this off, so if it annoys you use: defaults write com.chocolatapp.Chocolat "Save on Defocus" -bool FALSE

Bug: Gave the source list some Ritalin, so that it no longer gets distracted and starts showing other root directories.

Bug: Added code to make selection in the source list more stable

Bug: Made Enter key map to the Copy button, in the Clipboard History panel. Also turned off empty selection, so you can better use arrow keys to select clipboard items.


Alpha 6May 2011  (download)

Note: Closing has been partially rewritten

Bug: Line highlights now show over text backgrounds but below the text itself

Crash: Worked around a bug in NSEvent that would sometimes crash when selecting text

Crash: Fixed a crash in indexing


Alpha 5May 2011  (download)

Bug: Fixed PHP

Bug: Fixed credits in the about box

Bug: Fixed the Copy button in clipboard history

Bug: Pasteboard history now ignores strings with just whitespace

Note: Moved the "Clipboard History" menu item to the edit menu - it replaces "Paste from History"


Alpha 4May 2011  (download)

Bug: Fixed a bug where active documents would show up in the wrong window's source list

Bug: Fixed a bug where tab labels would get out of sync with the active text view

Bug: Fixed a bug where indentation would act incorrectly

Bug: The clipboard history window is now orders of magnitude less fugly

Bug: Theme zone backgrounds now composite correctly when syntax highlighting


Alpha 3May 2011  (download)

Feature: You can now open projects by opening their directories

Bug: Now shows a (very ugly) UI for explicitly turning on indexing for a project

Bug: Switching counterparts now works for switching between non-C/C++/ObjC/ObjC++ files

Bug: The language menu in the status bar now works correctly

Bug: Added more project detectors, for things like .svn directories and license files

Bug: The open list in the source list now limits to only documents open in that window

Bug: The open panel now properly allows opening any kind of file


Alpha 2May 2011  (download)

Bug: Removed some debugging logs that were making syntax highlighting a bit sluggish.


Alpha 1May 2011  (download)

Note: This is the first Chocolat semi-public alpha.