CotEditor

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 100 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

release:

cf. Changes from 2.0RC.

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”, “Rust”, “Scheme”, “SQL”, “SVG”, “Swift” and “Tcl”,.
  • Auto-complete feature (experimental implementation, turned off by default).

Additions/Changes

  • Support OS X Yosemite.
  • Update application icon with Yosemite style.
  • Change the bundle identifier from com.aynimac.CotEditor to com.coteditor.CotEditor.
  • 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 the 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 text view 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 them any more, you can delete the direcotry if you want.
  • 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.
  • Apply theme color to the line number view.
  • On Mountain Lion and later, text view gets no drop-shadow by texts on semi-transparent.
  • 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).
  • Rename “Spelling” menu item to “Spelling and Grammer” in Edit menu, and also add “Substitutions” and “Transformations” items
    • From this, remove “Uppercase”, “Lowercase” and “Capitalize” in “Utility” menu.
  • 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.
    • Improve outline extracting rules.
    • 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.
  • Update “Apache” syntax style:
    • Indent outline items.
  • 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.
  • Change not to include menu items that manage script menu in context menu.
  • 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.
  • Avoid the move to previous outline item button to select the first “<Outilne Menu>” item.
  • Change key to display hidden menu items in “File” menu to “Option”.
  • 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)
  • Tweak result messages by syntax style validator and partially localized.
  • 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.
  • Improve key bindings edit sheets.
  • 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.
  • Tweak some texts in UI.
  • Deprecate “Drag selected text immediately” setting.
  • Remove the output type keyword Pasteboard puts for CotEditor script, that was deprecated on CotEditor 0.7.2 and had remained for backwards compatibility.
  • Add hidden setting key layoutTextVertical (boolean) to set text orientation vertical as default.
  • Deprecate font settings for navigation bar and line number view which are hidden settings.
  • Move version history from rich text format to one of the Help contents.
  • 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 “Open a new document when CotEditor becomes active” option didn’t work correctly.
  • Fix an issue that the encoding select in file open panel was ignored.
  • 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 help buttons on preferences panes.
  • 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.
  • Fix an issue that CotEditor could crash after replacement on specific conditions.
  • Avoid horizontal scrollers on key bindings edit sheets.

Misc.

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