 |
DESCRIPTION
TextWrangler is a free, general purpose text editor that is very handy tool for developers. We recently made it free for people (in exchange for beer).
- General Purpose Text Editor
- Programmer's Text Editor
- Unix And Server Administrator's Tool
- Powerful Text Transformer And Manipulator
- Good Mac OS Citizen
- Powerfully Useful Tool
- Product developed in the best traditions of Bare Bones Software, with high performance, ease of use, a rich feature set, and the ability to read its own release notes
WHAT'S NEW
Version 3.0:
Additions
The text views in browsing windows (disk browsers, search
results, and similar) are now editable; rather than having to open
a file into a new window from such a browser, you can just edit it
right in the window.
There is a new command on the File menu: "Reload from
Disk". This command will examine the file on disk, and if it's
different, reload the front document's contents from the file on
disk. This is useful in situations where the file may have
changed without TextWrangler noticing, which will be the case if
"Automatically refresh documents" is turned off in the
Application preferences, or in the case of a document on a
shared disk that gets modified by another workstation.
There's a new option in the "Insert Folder Listing"
dialog: "Show invisible items". If turned on, the generated
listing will include invisible files/folders and the contents of
packages.
Find Differences now uses the system diff tool for generating
the difference ranges displayed in the application. This should
result in more usable diffs.
RCS keywords are canonicalized down to their unexpanded state for
comparison.
e.g. $Author: Jim Correia$ -> $Author$
This means that "ignore RCS keywords" isn't literal, but it does
what you'd expect.
- changes in RCS keyword expansion state are not diff significant
- adding new RCS keywords to a file/line is diff significant
- any other changes on a line with RCS keywords is diff significant
Stuff copied to the clipboard carries a source language hint.
Pasting into a document whose source language is unknown will
cause the document to inherit the clipboard's hint.
Dragging text into an empty document from another editing view
will now pick up the source language from the originating view.
"New (with selection)" and "New (with clipboard)" now create
the new document using the language of the selection or
clipboard (respectively).
The Navigation bar has a document/state dirty indicator, so
those inclined to disable the toolbar and ignore the close box
indication have some way to see if a document is dirty or not.
The Ruby language support has been rewritten, with improvements
as follows:
Better handles interpretive strings. The following:
puts "d#{"rie"}w".reverse
... should show only d#{"rie"}w colored as a string when
in a Ruby file (new module).
Better handles the optional then at the end of if or
elsif statement.
Significant update to the JavaScript module. Better support for
Prototype-style object definitions, more consistent throughout.
Added ObjectiveC 2.0 keywords to the Obj-C and Obj-C++ language
modules.
Documents as a scriptable element of text window can now be
accessed by name and unique ID. (Previously, only indexed access was
supported.)
"Open Counterpart" can now be used for files which will be
implictly created at save; for example, edit foo.h followed
by an Open Counterpart command will open foo.cp if it can be
found using the standard rules.
There's a new preference in Text Status Display:
"Document statistics". When turned on, this will add an item to
the window status bar, showing the number of characters, words,
and lines in the document. There's also a document-icon
indicator; when it's uncolored the stats represent the entire
document; when it's colored the stats represent the selection
range. (Click on the item to toggle between the modes.)
You can now double-click on a string delimiter to select the
contents of a quoted string, in files with syntax coloring
turned on. The selection range honors the "Include delimiter
characters when balancing" setting in the Editing: General
prefs. You can also double-click on an element's angle bracket
in HTML/XML documents to select the contents of the element.
TextWrangler can now transparently read and write text files
compressed with bz2 (e.g. rolled system logs in 10.5) as easily
as it reads and writes regular text documents (and, as a
reminder, gzipped text files). For bonus points, try opening
and changing a binary plist compressed with bz2. :-)
When "Make backup before saving" is turned on in the Text
Files prefs, and you close a document with unsaved changes and
elect to discard those changes ("Don't Save"), TextWrangler will
save a snapshot of the document's contents. Just in case. The
snapshot will be written into the same directory as the document,
and its name will follow the Emacs convention #foo.txt#. If
"Preserve file name extension" is turned on, the snapshot's name
will be #foo#.txt.
You can now use an Emacs variable to control whether or not
a given file is backed up. There are two ways to do this:
Absolute: If the variable line/block contains a
"make-backup-files" variable, that variable's value will
override the global "Make Backup before saving" preference.
-*- make-backup-files: 1; -*- --> always back up this file
-*- make-backup-files: 0; -*- --> never back up this file
If the first letter of the variable's value is "y", "t", or "1",
the value is "yes", otherwise it's "no". These are all synonymous:
make-backup-files: yes
make-backup-files: y
make-backup-files: true
make-backup-files: t
make-backup-files: 1
Inhibit: If the variable's line/block contains a
backup-inhibited variable, and its value is true (see
above), then the file will never be backed up, even if "Make
backup before saving" is turned on in the global
preferences.
It really only makes sense to specify backup-inhibited: 1,
since otherwise the file would be backed up if the global
pref is on, and not otherwise.
If a symbol lookup in a Python file fails, and it appears to be
a method of a class, we'll try to look up the class.method as
well.
The Application menu sports a new item: Provide
TextWrangler Feedback. This command will ask your default email
client to compose a pre-addressed message to
support@barebones.com, with with the application name, version
number and build number in the message subject.
Selected items in disk browser lists are now exported to
contextual menu plug-ins.
Changes to split views in results and disk browsers:
There is a new command on the view menu "Show/Hide Editor" which can
be used to toggle the embedded editor visibility in disk browsers
and results browsers.
The toggle editor button in the action bar at the bottom of the file
list can also be used for this purpose.
When hiding the embedded editor, the associated document will be
removed from the window (and closed, after prompting you, if it was
not open elsewhere.) Because of this potential need for user
interaction, you cannot collape the editing view entirely by
dragging the view splitter; you must use the button, menu command
(or in the case of results browsers, a double click on the view
splitter.)
Added a "Delete" command to the contextual menu and
action menu in disk browsers.
Search Sources can be enabled/disabled via the Text
Search preference pane.
Option-clicking the close widget in the windows palette will
close all windows. (This matches the same conceptual change made
to the documents drawer list, as well as the standard behavior
for option-clicking the close widget in the titlebar of
windows.)
Added rudimentary support for define_method to the Ruby module.
Methods defined with it should be listed in the function popup.
Yay, metaprogramming.
"Open Counterpart" will ask Xcode for the file's counterparts
when possible.
The items in the "Saved Search Sets" source group (for
multi-file searches) now have an "X" widget; clicking the X
deletes the search set (after confirmation).
Items in the "Recent Folders" group in the multi-file
search sources list now have an "X" widget; clicking the X will
delete the recent item from the list (without disturbing the
folder that it refers to).
Disk browsers get "New Text Document" and "New Folder"
commands on the action and contextual menus. They work pretty
much as one would expect.
Script tags in HTML files which DO NOT have a src attribute are
now listed in the function popup (those with src are already
listed in the "includes" popup). This is similar to the STYLE
entry for stylesheets: functions and objects added to the
function popup as a result of the script tag are indented
beneath the script tag's entry, to suggest containment.
New Find windows!
There are new Find and Multi-file Search windows; where they
overlap, they provide a consistent and modeless interface to
TextWrangler's legendary text search and replace capabilities.
If you're familiar with the old Find dialog, you'll generally
feel at home, but there are some important differences and additions
of which you should be aware:
The Find dialog has been split in two, with one window for
searching only the front document, and one window for
searching more than one document (including folders, arbitrary
open documents, and so forth).
The (fairly confusing) collection of options to configure
which text actually gets searched (for single-file searches)
has been condensed down to a single pair of "Search in:"
options: "Selected text only" and "Wrap around".
"Selected text only" affects only the "Find All" and
"Replace All" operations: if there is a selection range in
the front document, this option will search only the
selection range if turned on, or the entire document
(starting from the top) if turned off.
"Wrap around" affects only the "Next", "Previous",
"Replace", and "Replace & Find" operations: if the search
reaches the end of the document (or the beginning, if doing
a "Previous"), then "Wrap around" will continue the search
from the appropriate end of the document.
Keyboard navigation is radically different (as it must be,
given the new windows' modeless nature).
Return or Enter in the "Find" field will do a "Next" in
the single-Find window, or a "Find All" in the
Multi-File Search window.
Striking the Escape key (not too hard!) will close the
window.
The appropriate commands on the Search menu (Find Next,
Find Previous, Replace, Replace All, Replace & Find
Again, and a new "Find All") will trigger the
corresponding action in the front Find window.
It's not possible to use the command-key equivalents
from the old modal Find dialog for toggling items in the
Find window, because those equivalents collide with
factory keyboard equivalents (or system standards) for
different menu commands. So there's a new group of
keyboard equivalents for controlling Find and Multi-File
Search window items. These keys can be set in
Preferences -> Menus -> Find Windows.
The factory defaults for these keys are as follows:
| Case sensitive |
Control-shift-N |
| Entire word |
Control-Shift-E |
| Grep |
Control-Shift-G |
| Selected text only |
Control-Shift-S |
| Wrap around |
Control-Shift-W |
| Open search history |
Control-Shift-H (new) |
| Open saved patterns | Control-Shift-P (new) |
In the Multi-file Search window, you can use the keyboard
when the search sources list has focus, as follows:
Return/Enter starts the search;
Escape dismisses the window;
Type-to-select works in the list (when it has focus);
Space toggles the selected items;
Delete removes the selected items from the list (after
confirmation, and only if they're eligible as indicated by
the "X" widget).
If you find yourself more comfortable with the old interface,
you can continue to use it by turning on "Use modal Find dialog"
in Preferences -> Text Search.
Search and replace history is now persistent across runs
of the application.
Image windows update their content when the backing file
changes, making things like developing POVRay scripts a little
bit easier.
Added a "Reveal in Finder" command to disk browser windows.
For compatibility with scripts written for pre-3.0 versions
of TextWrangler, the scripting interface now performs the
following name mapping when changing the "text encoding" property
of a document:
"Unicode™ (UTF-8)" = "Unicode (UTF-8)";
"Unicode™ (UTF-8, no BOM)" = "Unicode (UTF-8, no BOM)";
"Unicode™ (UTF-16)" = "Unicode (UTF-16)";
"Unicode™ (UTF-16, no BOM)" = "Unicode (UTF-16, no BOM)";
"Unicode™ (UTF-16 Little-Endian)" = "Unicode (UTF-16 Little-Endian)";
"Unicode™ (UTF-16 Little-Endian, no BOM)" = "Unicode (UTF-16 Little-Endian, no BOM)";
Note that this transformation does not operate in the reverse
direction; if you get the text encoding property and explicitly
compare the name, you will need to update your script.
Integrated Jim's .ini language module.
C-language files (and all related languages, like Obj-C,
C++ and header files) will now show FIXME and TODO items in the
function popup. Only "//" comments are searched, and the comment
must start with one of the following: FIXME: FIXME! FIX-ME:
FIX-ME! TODO: TODO! TO-DO: or TO-DO!. The text added to
the function popup starts with the first character of the FIXME or
TODO and ends with the last non-white character on the same line.
Example: // FIXME This little bug could erase the intertubes.
Example: // TODO! Add support for Apple's "Crash Only When Convenient"
The command formerly known as "Open in Separate Window"
is now called "Move to New Window". It will move the current
document (or selected documents when invoked from the documents
drawer) into a new editing window (removing them from their
current editing window.)
There is an additional command "Open in Additional Window" which
will open the current document (or selected documents when
invoked from the documents drawer) in an additional window that
can be edited side by side with the original document.
Both commands are only available for text documents.
Attempting to bring up a contextual menu in the "dead" space at
the bottom of a disk browser list now works, presenting you with
"globally" available commands New Folder and New Text Document.
The application automatically saves its state (open documents
and windows) once per minute, so if something bad happens to
your machine, there's a pretty good chance that the next time
you start up, things will be as they were when the event
occurred.
Python function decorator names are now detected and colored.
You can drag stuff to the sources list for Text Factory
configuration
The Text Factory sources list remembers selected items and
twist state between invocations.
For refugees from Windows who are used to having Tab indent
a line (or selected range of lines), there's a new
preference in Editing: Keyboard: "Allow Tab key to indent
text blocks." When turned on, this setting allows Tab to
function as a synonym for Shift Right on the Edit menu (and
Shift-Tab as a synonym for Shift Left).
There's a new color setting in the Text Colors
preferences: "Predefined names". This symbol class is used for
words which are not language keywords, but which are predefined
by the language's reference implementation and/or are part of
the language's standard library/framework support and/or have
other "special" meaning to developers writing code in that
language.
The color may be changed on a per-language basis in the
Languages preferences: double-click on the language's name in
the list and examine the Colors tab in the resulting sheet.
Language module developers may use the following
constructs to support predefined names:
If a BBLMPredefinedNameList key appears in the module's
property list, it is an array of strings, each of which is a
predefined name. (This key is mutually exclusive with
BBLMPredefinedNameFileName; you may use one or the other but
not both.)
If a BBLMPredefinedNameFileName key appears in the
module's property list, it is a string which names a text
file in the module's Resources bundle directory; the file
contains one predefined name per line. (This key is mutually
exclusive with BBLMPredefinedNameList; you may use one or
the other but not both.)
If BBLMSupportsPredefinedNameLookups appears in the
module's property list and is TRUE, TextWrangler may call the
module with the kBBLMMatchPredefinedNameMessage. The
parameters for this message are the same as for
kBBLMMatchKeywordWithCFStringMessage.
In the Languages prefs, the options sheet for Python now has a
tab for Python-specific options, in which you can choose the
color to use for decorators.
Added .php5 to the factory default list of language mappings.
You can now review and apply sub-line differences
individually in the results of Find Differences.
Yeah, you heard that right.
New command on the Search menu: "Replace to End". This
command provides the pre-3.0 behavior for anyone who needs it:
everything is processed from the current insertion point or
start of the selection range to the end of the document.
The internal FTP implementation has been rewritten to
improve performance and reliability. Users with dual (or
more) core machines may notice additional performance
benefits.
The "Passive" setting for FTP is no longer used. When
transferring, TextWrangler will first attempt a passive
connection; if the server does not support passive
transfers, BBEdit will then attempt a non-passive (PORT)
connection. Thus, the "Passive" setting is gone from the FTP
preferences, FTP browser, Save to FTP dialog, and the
scripting terminology for FTP commands.
There's now an expert preference for disabling passive FTP, in
order to deal with hosts that misbehave with given the PASV
command.
Passive FTP can be disabled per host, per domain, or globally:
FTP:AllowPassiveFTP:foobar.example.com - only for "foobar.example.com"
FTP:AllowPassiveFTP:example.com - only for servers in "example.com"
FTP:AllowPassiveFTP - global preference
Our recommendation is that you disable per host in preference to
globally or per-domain, but at the end of the day, do whatever
works. :-)
The file filtering interface supports a new term:
"File Path". This is a simple string match against a given
file's full path.
The Text Files preference pane carries a new option: "Trim
trailing whitespace". If this preference is enabled, TextWrangler
will trim all trailing non-vertical whitespace from the file
before writing it out.
The line bar is now drawn in the system font, anti-aliased.
The ASCII floater uses the "standard" names for NUL, BEL,
etc. for characters below space (0x20)
Language modules may now be installed by double-clicking
them (or by drag-and-drop to the application). Plug-ins and
language modules both offer an "Install and Relaunch"
option.
There's now an expert preference for controlling the
use of ssh compression when using SFTP, in order to deal
with hosts that can't handle ssh compression.
SSH compression can be disabled per host, per domain, or globally:
FTP:EnableSSHCompression:foobar.example.com - only for "foobar.example.com"
FTP:EnableSSHCompression:example.com - only for servers in "example.com"
FTP:EnableSSHCompression - global preference
Our recommendation is that you disable per host in
preference to globally or per-domain.
(Note that ssh compression is on by default.)
There's a new command on the View menu: "Go Here in
Terminal". It's enabled when the active document exists on
disk; choosing it will open a Terminal window with the
current working directory set to the document's parent
directory.
The "twdiff" command-line tool now supports an additional
command form:
twdiff [options] file /path/to/some/folder
If /path/to/some/folder/fileexists, thenfilewill be
compared against/path/to/some/folder/file`. Otherwise, an
error is reported.
Language modules can now specify a default value for the
"Reference URL Template" language-specific preference. This is specified
in the plist as follows:
BBLMReferenceSearchURLTemplate
http://www.example.com/foobar.cgi?__SYMBOLNAME__
There's a new color setting in the Text Colors
preference: "Numeric Constants". This can also be adjusted
on a per-language basis in the appropriate language's
settings (in the "Languages" preferences).
Next to the file path display in the editing view
toolbar, there is a little popup menu. Click it to get a
menu showing the file's path, and choose an item from the
menu to reveal it in the Finder.
The Go To Line sheet can take relative input:
Entering a value prefixed with +/- will add the value to the
current line number. For example, with line 100 selected, "+75"
will move to line 175; "-75" will go to line 25. An unsigned
number will move to the specified line number, as before.
There's a new setting in the Windows preferences:
"Cascade new windows". When turned ON (the factory default),
new windows (or documents with no saved state) are cascaded
down-and-right, beginning with the placement and size
determined by "Save Default Window" (if such exists). When
turned OFF, new windows (or documents without saved state)
are placed in the same location every time.
Disk browsers get an "Open with Finder" command on the
contextual menu and action (gear) menu. Choosing this command asks
the system to open the selected items, which in turn may open them
in an application other than TextWrangler.
Added "Go Here in Disk Browser" to the View menu and to the
contextual and action menus for disk browsers. Choosing it will
open a disk browser on the selected item (if it's a folder) or
selected item's directory (if it's a document or a file in a disk
browser).
Two new commands on the contextual menu in text
views: "Find all .... in Selection" and "Replace all ...
with ... in Selection". These commands use the current
search state (same as what drives the commands on the Search
menu). "Find All..." will create a results window. If the
replace string is empty, then "Replace all" will change to
"Delete all" to reflect the behavior.
There's a new command on the Search menu, which
appears right below the "Multi-File Search" command: "Search
in ...".
If a disk browser is the front window, then this command's name
reflects the name of the directory that you're currently browsing
in the disk browser.
Choosing this command will open the Multi-File Search window with
the disk browser's current directory selected as the source for
the multi-file search. Make any desired adjustments to the search
settings and then start the search (or just hit Return/Enter and
you're off and running).
If the Multi-File Search window is in front, the command will
target the frontmost (Z-order) disk browser.
The same command is available on the action ('gear') menu in disk
browsers as well.
Added a feature to the language module interface for
giving the module control over resolution of include file
references.
If the language module has
BBLMCanResolveIncludeFiles
in its plist, then TextWrangler will send
kBBLMResolveIncludeFileMessage for every include chosen off the
includes menu. The param block will include a CFStringRef with the
name, a CFURLRef to the document on disk (which may be NULL) and a
place for you to put a CFURLRef when returning.
If the module returns NULL and noErr, then TextWrangler will
assume that the module declined to do anything with the string and
will look for the file as usual.
If the module returns a non-NULL URL, TextWrangler will resolve
it, so the module can make a file://, http://, FTP or SFTP URL and
the right thing will happen. If the module returns something other
than noErr, TextWrangler will not attempt anything else with the
include and will report the error.
The Menus preferences now has a group of commands so
that you can assign keyboard equivalents to operations in
FTP/SFTP browsers, if desired.
New option in the Python language settings
(Preferences -> Languages and then double-click on the
Python item in the languages list): "Scan HTML strings for
functions". When turned on (the default),
items in HTML code in triple-quoted strings are shown on the
function menu (as though the code existed in a freestanding
HTML document); when turned off, they don't.
There is an option to suppress callouts embedded in
comments from the function menu. See Preferences -> Text
Status Display.
There's a new setting in the "Editing" tab for
language-specific preferences (Preferences -> Languages): "Tab
width". Edit the value here to set a language-specific value for
the default tab width.
If the list of a results browser is modified (by deleting items
from the list), a confirmation is required to close the results
window.
Disk browsers can now explore tarballs (.tar, .tar.gz, .tgz
files). When an eligible file is in the listing, it will
have a disclosure triangle next to it. Twist it open to
reveal the files and directories within. As with other items
displayed in disk browser listings, you can view files in
the editor view, or double-click them to open in a separate
window for editing.
Added an additional Apple Event parameter for
programmatically determining a "fallback" encoding, in cases
where the file's encoding could not be automatically
determined:
#define keyFallbackEncoding 'RdFB' // typeLongInteger, same semantics as keyReadEncodingValue
The various "reveal in Finder" operations (explicit
command, or click on the document's icon in an editing view
toolbar) will now ask PathFinder to do the work, if it is
running.
Added support for using 'space' (modified by at least the
command or control key) as a keyboard shortcut.
Auto-save now works for all document classes for which auto-save
is approprate, not just text documents.
If writing a backup file requires elevated privileges,
TextWrangler can help you out.
Added support for Python 3 to the #! -> Check Syntax command.
Changes
Fixed misleading wording in the alert for running #! scripts
with non-Unix line breaks.
New and improved software update checker, the same as the
one used in Yojimbo 1.5 and BBEdit 9.x.
The mechanics that TextWrangler uses to determine whether a
file was changed on disk have been completely rewritten.
Consequently, the group of "Verify open files after:" preferences
(see Application prefs) has been replaced by a single setting:
"Automatically refresh documents as they change on disk." If you
wish, you may turn this off and reload a document manually at any
time by choosing the "Reload from Disk" command on the File menu.
Document drawer side bias is no longer controllable from
the prefs UI.
Expunged references to the "Open Here in Terminal" bundle
override, since that feature is no longer supported.
Tightened up the layout of the disk browser window and
dropped the focus ring around the file list.
The "Save As" and "Save a Copy" dialogs now run as
sheets, as does the dialog for the "Save Selection" contextual
menu item.
"Save As" for Find Differences results windows has been
changed to "Export" for consistency with results browser
windows.
The "Save As Selection" command has been consigned to the
dustbin of history.
In a results browser, the Save command (or apple event) now
works on the viewed document. The Export event or command can be
used to write out a text file containing the results entries.
(This was previously accomplished via the Save As command.)
When writing data to the pasteboard (clipboard or drag),
TextWrangler now also includes a UTF-8/NSStringPboardType copy of
the data with LF line endings. This provides smoother
interoperability with Cocoa applications which are not line ending
agnostic. (Or more specifically, do not convert the pasteboard
data to their native internal representation, often resulting in a
mixed line ending document.)
N.B. TextWrangler has always been line ending agnostic when reading
data from the pasteboard.
The window menu and windows palette are named differently, so
multiple results browsers pointing at the same document are
easier to distinguish from each other.
If the search terms are available at window construction time,
Search Results windows include them in the base window name in
preference to the instance number, so instead of getting "Search
Results 42 (search term)", it's now just "Search Results (search
term)".
The options and behavior for backing up files at save
have changed, as follows:
"Make backup before saving" is now a global preference
only, and is no longer controlled per file. The "Make Backup
when Saving" and "Make Backup Now" options have been removed
from the File menu.
The settings controlling backup location (in the Text Files
prefs) have been removed. Backups are always made to a specific
location, as follows:
If "Keep historical backups" is turned on, backups are
kept in ~/Documents/TextWrangler Backups/. Within that folder
is one folder for each day's backups. The format of the
dated folder name is static and non-localized:
YYYY-MM-DD. Inside of each day's backup folder will be
all of the backups made on that day, each named using
the 8.7.x timestamp format.
If you want the backups to live somewhere else, lay down
a folder alias named "TextWrangler Backups" in ~/Documents/
and TextWrangler will follow the alias.
If "Keep historical backups" is turned off, TextWrangler
makes only a single backup, located in the same
directory as the original, so "backup creep" is a thing
of the past. The backup is named according to current OS
conventions (which themselves follow the old Emacs
convention): the backup file is named as the original
file, with a tilde appended: foo.html~ is the backup
of foo.html.
If you want the backup to have the same file name
extension as the original, turn on the "Preserve file
name extension" in the Text Files prefs. This will cause
TextWrangler to place the tilde after the "base" name of the
file: foo~.html.
The machinery behind the Preferences window has been
overhauled; this is not user-visible; however, the layout
conventions for the prefs panels have changed, which does affect
the overall look of the Preferences window. This will affect
screen shots.
Wildcard mappings for filename extensions to source code
languages now work the way they were originally intended to; a
suffix mapping of "php*" will now match any file whose filename
extension begins with "php" and ends with anything, rather than
attempting to apply the wildcard against the entire file name.
The dialog used for adding and editing filename
extension-to-language mappings (in the Languages prefs) has been
modernized.
Modernized the options dialog for multi-file Replace All.
The "Add..." button for adding Grep patterns in the Text
Search preferences has been consigned to the dustbin of history.
The "Change" button has been renamed to "Rename" to reflect that
it now simply renames the selected pattern.
The Application menu and Help menu have been reorganized to
follow the conventions established by Apple's current iLife
applications.
"Check for Updates" is now on the application menu.
TextWrangler no longer loads CFM (Code Fragment Manager, the Mac
OS 9 executable format) language modules. If you have such a
language module installed, a message will be logged to the system
console.
After careful consideration, the "Remember Find dialog’s
“Start at Top” setting" checkbox has been shot, and tossed in a
ditch. (The setting is still stored in preferences, and honored if
present.)
Significant look-and-feel work on the disk browser: the top
bar is gone; the action gear in the lower-left corner has some
useful commands on it (a strict superset of what's on the
contextual menu), and file filtering control is on the filter
popup next to it.
The file filtering options in the Open... dialog have been
simplified to present the following items:
All TextWrangler Documents
Anything that TextWrangler can usefully open into a document
window will be enabled for selection. (This is equivalent to
the "All Readable Files" setting in previous versions.)
Text Files Only
Only files that are quickly recognizable as text files
(without inspecting their contents) will be enabled for
selection. (This is equivalent to the "Text Files" setting
in previous versions.)
Everything
Enables all files for selection, regardless of type. (This
is equivalent to the "All Files" setting in previous
versions.)
The file filtering popup in disk browser windows has been
reworked to be close to the browser's primary purpose (browsing
text files on disk). It now consists of just two items (in
addition to user-defined file filters):
- Text Files Only
- Invisible Items
"Text Files Only" will limit the display to items which pass the
text-file test (without examining their content). "Invisible
Items", if turned off, will limit the display to items which
would be visible in the Finder (and also filters out CVS,
Subversion, and package directories).
The factory default keystroke for "Open Counterpart" has
been changed to Command+Option Up-Arrow.
The factory default keyboard shortcuts for "Go to
Next/Previous Error" have been changed to Command+Control
Up/Down-Arrow.
The gesture for switching focus from a text view (which
normally accepts Tab as an input character) has been changed from
Option-Tab to Control-Tab.
Moved File Filters to the main find dialog, as it was in
days of yore.
Adjusted the layout of the Find dialog, eliminating the
Saved Sources popup menu (since they are expressed in the sources
list directly), and adding a Save Set button instead.
Saving Search Sets is done in a sheet, instead of
application modal dialog.
The separate history popups for search and replace strings
have been condensed into one.
The term lists for file filters have been buffed a bit.
The popup menu used for file filtering in the modal Find
dialog, Find Differences, the Multi-file Find window, and Text
Factory options has been rearranged. In those locations, the
separate "Use File Filter:" check box has been removed; filtering
is completely controlled from the menu. (Choose "None" to turn off
filtering.)
The search history item in the modal Find dialog has sharp
corners, just like the one in the modeless dialogs.
The command to save Grep patterns from the Find dialog
(modal or modeless) is now called "Save" and it's at the end of
the pattern popup in the respective dialog.
The window stacking preference has been retired.
New windows always stack down and right 20px. If you have
saved a default window size, and the window is screen height, new
windows will just stack to the right, and preserve their saved
height.
"Find Selected Text (backwards)" is now "Find Previous
Selected Text". (There's really no good wording for it that
doesn't make the menu wide. Really, it's "Find the previous
occurrence of the selected text".)
The MDI preference no longer has an internal vs. external
distinction.
"Replace All" in the old modal Find dialog now replaces
every occurrence in the document (or in the selected range, if
there is one and "Search Selection Only" is checked), rather than
from the insertion point to the end of the document. This makes
its behavior consistent with the modeless Find window and the
"Replace All" menu command.
Updated the "Clear Markers" dialog.
The "Save to FTP/SFTP Server" dialog has been rewritten and
modernized.
Revamped FTP/SFTP browser windows. The changes here largely
parallel the ones made for the Save to FTP/SFTP Server dialog box:
freshened look and feel, sortable file list.
The default line break description for CR is "Classic Mac"
to attempt to discourage people from choosing it inappropriately.
Both the preference pane and the Save dialog now use the same
wording.
Made a change to the new FTP save dialog, so that it will
only automatically connect when doing a "Save to FTP/SFTP Server"
or "Save a Copy to FTP/SFTP Server" on a document previously
opened via FTP/SFTP. Otherwise, the Connect sheet will populate
and appear, rather than always connecting automatically to some
possibly arbitrary location.
The internal mechanics and UI presentation for recent
items have been overhauled. The "Recent Files & Favorites"
and "Recent Folders & Favorites" folders in
~/Library/Preferences/com.barebones.textwrangler.PreferenceData/
are no longer used and may be deleted.
The "Open Recent" menu now shows all recently opened documents,
grouped by document type, and sorted by name within each group.
Folders are now included, so you can open a disk browser on a
recently used folder by choosing it from this menu (something
which was not possible before). Text documents are grouped
before other types. The first grouping in the menu consists of
the six most recently used items (of all types), sorted in
descending order (most recently used first), for quick access.
The "Clear Menu" item at the end of the menu has been
changed to "Clear History", to more accurately reflect its
function: if you choose it, ALL recent items will be
cleared. Note that since recent folders are available as
sources for multi-file search/replace and Text Factory
operation, clearing the history will remove the folders from
those operations as well.
The application preference controlling how many recent items
TextWrangler will remember applies to each type of item. So, if
it's set to 15, TextWrangler will remember 15 text documents, 15
folders, 15 images, 15 movies, and so on. If you want finer
control, you can construct an expert pref using the name of the
document type as it appears in the menu (and if that name
contains spaces, you'll need to quote it). So, for example, if
you only wanted to remember the five most recent projects:
# remember only the five most recent images
defaults write com.barebones.textwrangler NSRecentDocumentsLimit:Images -int 5
Or the ten most recent folders:
# remember only the ten most recent folders
defaults write com.barebones.textwrangler NSRecentDocumentsLimit:Folders -int 10
Or only the most recent folder
# remember only the most recent worksheet
defaults write com.barebones.textwrangler "NSRecentDocumentsLimit:Folders" -int 1
If you don't want to remember any recent documents of a particular type
(they won't appear in the menu, either), you can set its limit to zero:
# don't remember any images or movies
defaults write com.barebones.textwrangler NSRecentDocumentsLimit:Images -int 0
defaults write com.barebones.textwrangler NSRecentDocumentsLimit:Movies -int 0
Note that when setting the recent items limit, you MUST set
it as an integer, using "-int ".
The popup menus in the Find Differences dialog have
been retooled, and now present currently open items and
recent items on the same menu.
The status bar in editing views is now below the
horizontal scrollbar.
The following text encodings are no longer presented
as options in the "If file's encoding can't be guessed, use"
popup menu in the Text Encodings preferences, because our
best guess has already eliminated them as possibilities:
UTF-8, UTF-8 (no BOM), UTF-16-BE, and UTF-16-LE.
Made some changes so that documents that were opened
directly (versus auto-reopen at startup) are added to the
Open Recent list when they are saved or closed.
The default value for "chdir to Script's folder" when
running a #! script is now True. The state can be changed
from the "Run..." or "Run File..." dialogs and the change
will be persistent.
Changed the way TextWrangler searches for unix executables.
This should reduce/eliminate the instances of an unexpected
version of a binary being used when someone has installed a
custom version of python/etc.
When "Selected Text Only" is turned on, only "Find All" and
"Replace All" are enabled, to reinforce the reminder that
you can only batch find when searching in the selection.
Contextual menu items for searching in text views are
now turned on by default, in order to expose the new
commands. If you wish, you may turn these off in Preferences
-> Menus.
The "Search" commands on the contextual menu now use the
same nomenclature as their counterparts in the menu bar.
REQUIREMENTS
Mac OS X 10.4 or later.
| SCREENSHOT
|
|
 |
|  |
 | |  |
| TextWrangler User Reviews (46 posts) | Write A Review |
 | Sep 20 2009 |
SZQ This is a great program, and it is free! I had a document with some weird characters in it that I just couldn't find to remove. This program did the trick, and its free! Did I mention it is free!!! (Version 3.0) | |
| [ Reply ] | |
 | Aug 25 2009 |
MWSCHMEER Dear God, and they still give this away for free? Definitely one of the best raw text editors out there. Between this and Bean, my writing needs are met (okay, I'll admit a softspot for WriteRoom, too). If you need to do something with plain text, this is the tool for you. And if you are a really hard core coder, then the step up to BBEdit will really blow you away. Quite simply, this is the best freeware text editor. (Version 3.0) | |
| [ Reply ] | |
 | Aug 25 2009 |
AWADO This is by far the best editor for programming purposes. I don't want to miss it anymore. Especially the GREPping in the search window is very useful when converting large tables of raw data. Also that Cyberduck integration saves pretty much time. You can edit files directly on the server. Kind of Mac like. The only things i miss are a live preview of HTML code and a possibility to switch between a simple and an expert mode (like "Simple Finder"). So I could hand it over to clients, who are not very familiar with all the expert stuff, but can do some basic editing of their raw data without getting confused too much. And the management of saved GREP patterns could be more intuitive. Changing a pattern through the pop up menu is a bit confusing. What about a persistent pattern list with change/save buttons for the selected pattern? (Version 3.0) | |
| [ Reply ] | |
 | Aug 25 2009 |
THAJEZTAH This seems to be the longest 'what's new' list -ever- on MacUpdate :) (Version 3.0) | |
| [ Reply ] | |
 | Aug 25 2009 |
KHANNIBAL God, that's what I call an "upgrade" ! :) Everything seems to work properly here (OS 10.5.8) for now. (Version 3.0) | |
| [ Reply ] | |
 | Aug 25 2009 |
NICOLASD For the features, stability and fact that it's free? N-word, please! 5 stars! The people at Bare Bones are some of the mac's biggest guardian angels. And now they've also released Mailsmith for free. (Version 3.0) | |
| [ Reply ] | |
 | Feb 20 2009 |
APPLEPIE Good program, if you're coding in PHP or other languages. (Version 2.3) | |
| [ Reply ] | |
 | Jul 15 2007 |
FOLLEREC Great editor as always. Was the only editor that didn't choke on a 16mb .sql script I had... although that was probably because TextWrangler didn't automatically use syntax highlighting on it. Overall, easy to use, generally quick and light on the resources, and just plain great. Wishes to give this a 5-star rating: 1. Directly edit files in the Disk Browser view... right now I can read the files, but have to double-click (or press Enter) just to edit the document in a new window. 2. Tabbed-document interface... the drawer is getting old and useless. 3. Code Folding... although I'm sure Barebones wouldn't want that in a giveaway. Otherwise, still a great editor. TextMate may be getting all the buzz, but when money's tight, or you just can't justify ~$65 for editing text, this is the way to go. (Version 2.2.1) | |
| [ Reply ] | |
 | Jul 4 2007 |
DOM21 First time trying this and I'm puzzled. Why does only the current line I'm typing show and the lines preceding keep disappearing?? I've been all through the preferences and don't see how to disable this 'feature.' (Version 2.2.1) | |
| [ 1 Reply - Reply ] | |
Replies:
 | Jul 19 2009 |
ASMEURER Maybe your colors are out of whack. Check the colors preferences as well as the language preferences. If your foreground and background colors are the same, you will only see the current line because TextWrangler colors the current line. (Version 2.3) | |
 | Jun 21 2007 |
CASTELLAN The interface in 2.2.1 is vastly simpler than in 2.1.3. Unfortunately, this is a drawback and not a feature. It may not be Universal, but 2.1.3 is still the best version of Textwrangler to use (and at the time of this writing, it's still available on the BareBones site). (Version 2.2.1) | |
| [ Reply ] | |
|
| View all 46 posts >> |
|