CotEditor

This is a beta version.

Highlights on CotEditor 2.0

Coloring theme feature
You can now store your color settings in themes and switch them easily. You can also export & distribute your own themes.
Drastic performance improvements
In this change, we made efforts to identify a bunch of performance bottlenecks and to resolve them. You don’t get frustrated anymore on typing or opening files in particular with large files. Hanging on opening large files is also resolved.
Toggling comment-out/uncomment
Selected text can now be comment-outed/uncommented via short-cut (⌘/) or toolbar. The comment delimiters can be defined in each syntax style file.
More syntax highlighting colors
New “types”, “attributes” and “variables” keywords were added to syntax highlighting colors.
New syntax style file format in YAML
The syntax style file format was changed from plist to YAML. It makes style file ca. 60% smaller and helps to make your syntax via your own script.
Yosemite support
CotEditor works well on OS X Yosemite. The new application icon is also in Yosemite style ;)
More than 80 of improvements
There are more and more nicely improvements for you. Check out the following list for details.

What’s New on CotEditor 2.0β2

release:

Additions/Changes

  • Rename some labels in print setting.
  • Update “AppleScript” syntax style:
    • Update commands that were changed on CotEditor 2.0.
  • Tweak toolbar icons on preferences window.
  • Tweak a label name in incompatible chars in Japanese.

Fixes

  • [2.0β] Fix an issue that some colors could not be edited in theme edit view under Japanese localization.
  • [2.0β] Fix an issue that line wrap toggling behaves something strange if contents are short.
  • [2.0β] Fix an issue that document info could not scroll.
  • [2.0β] Fix an issue that contents of document info in drawer disappear on OS X Lion.

What’s New on CotEditor 2.0β

release:

New Features

  • Coloring theme feature.
  • Comment toggling feature.
  • Add “types”, “attributes” and “variables” to syntax highlighting colors.
  • Now, syntax style can be determined not only from file extension but also from file name.
    • From this, rename “Extensions” in syntax edit sheet to “File Mapping”.
  • Add metadata fields for syntax styles.
  • Append a correspondent extension to the file name on saving.
    • The top extension in the extension list in the syntax style definition will be used.
    • From this, setting for “Append “txt” on saving” was deprecated.
      • If you want to keep using “txt” as default extension, set “Plain Text” syntax style as default style in Preferences > Format.
  • Add “Toggle Text Orientation” icon to toolbar.
  • Add option to split views vertically.
  • Select lines via clicking/dragging line numbers.
  • Add “Select Line” command to “Edit” menu.
  • Add syntax styles for “AppleScript”, “C#”, “Go”, “Lisp”, “Lua”, “R”, “Scheme”, “SQL”, “SVG” and “Swift”.
  • Auto-complete feature (experimental implementation, turned off by default).

Additions/Changes

  • Support OS X Yosemite.
  • Update application icon with Yosemite style.
  • New default coloring scheme.
  • Improve performance drastically:
    • Extracting outline list on a background thread.
      • From this, non-response time till coloring indicator sheet has been shown reduced drastically.
      • Display message for outline extracting in navigation bar until the first extracting ends.
    • Perform extracting syntax highlights on a background thread.
    • Cache results of syntax highlighting, and use them as long as document is not modified.
    • Improve cursor moving and file opening performance when the current line is highlighted.
    • Improve invisible chars drawing performance (4x faster).
    • Improve line number drawing performance (6x faster).
    • Improve scrolling on Mountain Lion and later.
    • For performance, change range to scan encoding declaration up to 2,000 characters from the head of the document.
  • Change syntax style file format from plist (XML) to YAML.
    • Legacy user styles will be migrated automatically on the first launch of CotEditor 2.0.
    • New user syntax style files are stored in ~/Library/Application Support/CotEditor/Syntaxes/. The old styles are kept in SyntaxColorings/, since CotEditor 2.0 doesn’t use
  • Now, IC (ignore case) can be set even RE (regular expression) is set in syntax style editing.
  • Change regular expression engine to extract outline from OniGmo (OgreKit) to ICU (NSRegularExpression).
    • Attention!: You may need to update the outline extracting definitions in your custom syntax styles.
    • Remove $& definition that represents whole matched string (Use $0 instead).
  • Change tab width to 4 characters in outline menu.
  • Improve coloring indicator:
    • Improve to perform cancel button correctly.
    • On Mavericks and later, you can work with other documents while coloring dialog is shown.
    • Display current task as message in sheet.
    • Change not to reset syntax style to “None” when user cancels coloring.
    • Change not to remove current coloring when user cancels coloring.
    • Cancel with ESC key.
  • Define document types for CotEditor in more details and also add document icons for each.
  • Scroll line by line with an arrow key.
  • Adjust indent automatically on return just after { and } if Auto-Indent is on. (thanks to Naotaka-san).
  • Update all of bundled syntax styles.
  • Update “CSS” syntax style:
    • Support CSS level 3.
  • Update “Perl” syntax style:
    • Add some keywords.
    • Add =pod and =cut to comment coloring.
    • Add “pm” to extensions.
  • Update “JSON” syntax style:
    • Add “cottheme” to extensions.
  • Update “LaTeX” syntax style:
    • Add “cls” and “sty” to extensions.
    • Update outline menu style.
  • Update “YAML” syntax style:
    • Support YAML 1.2.
    • Some fixes.
  • Update “Ruby” syntax style:
    • Support % notation.
    • Add special variables.
    • Improve number literals.
    • Support here document.
    • and some more fixes.
  • Update “Java” syntax style:
    • Improve number literals.
    • Support annotation.
    • and some more fixes.
  • Update “JavaScript” syntax style:
    • Completely rewrite.
  • Update “Haskell” syntax style:
    • Improve number literals.
    • Add escape chars.
  • Separate “DTD” (Document Type Declaration) syntax style from “XML”.
    • From this, coloring performance with “XML” syntax style was improved.
  • Updates about scripting support:
    • Migrate AppleScript API definition file to sdef format.
    • Rename unicode normalization command to normalize unicode.
    • Update internal code for range property of text selection objects.
      • From this, your compiled AppleScripts (.scpt) that contain selection handling need to be updated manually. See “Scripting with AppleScript” document in “Help” menu for details.
    • Update documents about scripting with AppleScript.
  • Count characters by composed character sequence in the status bar and the info drawer.
    • The previous count was actually the length of string in UTF-16 that is internal string expression on OS X (for example, a surrogate pair is counted previously as 2 and now as 1).
    • Rename previous “Char Count” to “Char Length” and add another “Char Count” with the new count method for status bar items.
  • Add . and : to word separators that are used for selecting a word with a double click.
  • Improve messages on character info inspector with surrogate pairs and variation selectors. (thanks to doraTeX-san)
  • Disable alert asking for save when blank & unsaved document will be closed. (thanks to Naotaka-san)
  • Brush up toolbar icons.
  • Now, font size of line numbers follows editor font size.
  • Draw page guide in text color.
  • Improve syntax editor sheet so as to edit documents even the sheet is shown. (on Mavericks and later)
  • Improve application icon so as not to react with dropped folders.
  • Improve cancellation behavior of word completion.
  • Rename “Inspect Glyph” to “Inspect Character”.
  • Delay timing to store user’s menu key bindings.
    • The user setting for menu key bindings on CotEditor 1.x will be reset on the first launch of v2.0.
  • Change line hight value to line height based, that includes the hight of the line itself.
  • Change default line hight value to 1.3.
  • Add thousands separators to values in document info.
  • Change date format in document info drawer.
  • Tweak status bar design.
  • Add back quotes ` to quotation marks which are accommodated when color comments.
  • Change Go To panel to sheet.
  • Add animation when toggling visibility of the navigation bar and the status bar.
  • Fix used font for invisible characters.
  • Update some of alternative characters for full-width space char.
  • Improve appearance of the encoding list edit sheet.
  • Improve window size setting fields in preferences to move fields with tab key.
  • Add hidden setting key layoutTextVertical (boolean) to set text orientation vertical as default.
  • Deprecate font setting for navigation bar which is hidden setting.
  • Update documents.
  • Update Sparkle framework to 1.8.0.
  • Update build environment to OS X Yosemite + Xcode 6.1 (SDK 10.10).
  • And more internal changes.

Fixes

  • Fix an issue that “Share find strings with other applications” option didn’t work.
  • Fix an issue that comments weren’t highlighted correctly if another comment delimiter is contained in string that is enclosed in quotes before the comment delimiter.
  • Fix an issue that variation selectors, kind of invisible characters, disappeared occasionally.
  • Fix an issue that encoding selection in toolbar was reset after changing of encoding list order.
  • Fix over-wrapped text in the status bar to truncate with “…”.
  • Fix an issue that unfocused windows performed also re-coloring after “Replace All”.
  • Fix an issue that page guide was occasionally drawn at wrong place if fallback font is used.
  • Fix to highlight current line only in focused view of split views.
  • Fix an issue that text lines vibrated during moving caret if text orientation is vertical and line hight is fixed.
  • Fix an issue that line numbers in unfocused views were not updated.
  • Fix an issue that lately added toolbar icons didn’t represent the state at the moment.
  • Fix an issue that an error was output in console if blank area of incompatible chars table was clicked.
  • Fix an issue that editors didn’t change to transparent if the opacity setting in preferences window was changed from 100%.
  • Fix an issue that changes in custom line height panel wasn’t applied immediately.
  • Fix an issue that “Same as Document” selection for invisible chars in print panel didn’t work correctly.
  • Fix an issue that line count got one more extra if selection contains return at the end.
  • Fix an issue that range property of text selection objects was displayed as wrong character range on AppleScript Editor.
  • Fix some sample scripts which didn’t run correctly.
  • Fix an issue that some settings did not display in Preferences on OS X Lion.

In Addition

  • Twitter account for CotEditor was created. Follow @CotEditor to get our latest news.
  • You can find additional syntax styles to install on GitHub Wiki.