November 4, 2012 at 1:16 PM by Dr. Drang
The more you customize your editor, the harder it is to switch to another one. This is one of the reasons it took me so long to make the move away from TextMate; in six years of use, I'd accumulated a passel of commands, snippets, and specialty language definitions. The only thing more daunting than the thought of giving them up was the thought of rewriting them for another editor.1
So when I switched to BBEdit a few months ago, I decided to make the transition slowly. Not by continuing to use TextMate for some tasks—that's a recipe for never switching at all—but by refusing to rewrite all my customizations right away. Instead, I'd rewrite them as needed, waiting until I ran into a situation that really called out for one of my old scripts. Unsurprisingly, these situations often arose when I was on a deadline and didn't have time to stop and rewrite an old script. This turned out to be good motivation; there's nothing like having to do a repetitive task by hand to inspire you to automate it the first chance you get.
It wasn't until this past week that I found myself wishing I had a couple of scripts from my old Text Tables bundle. The more complicated of these, the one that reformats a MultiMarkdown-style table that looks like this
Berkeley Electronic Press Selected Works. BBEdit 13.5.4 Description. BBEdit is the leading professional HTML and text editor for the Mac. Specifically crafted in response to the needs of Web authors and software developers, this award-winning product provides a plethora of features for editing, searching, and manipulation of text.
and turns it into this
was, fortunately, written entirely in Python and had no TextMate-specific features. I just grabbed the script and saved it to
which put it in BBEdit's Text▸Apply Text Filter submenu. Here's the script:
I've given it a keyboard shortcut of ⌃⌥⌘T, the same shortcut it had in TextMate.
The other script I wanted was the one that turns a table with tab-separated columns—what you get when you paste a table from a spreadsheet into a text editor—into the pipe-separated MultiMarkdown table format. In other words, I wanted to go from this
where the triangles represent tab characters, to this
I rewrote this script from scratch because I knew it would be short and I wanted to add the formatting line, which the TextMate version didn't include. You'll note that the formatting line doesn't have any colons to indicate alignment. Even though I have to add them by hand, that's still faster than adding the whole line by hand. Not sure why I didn't put that in the TextMate version in the first place.
The script is saved in
and is assigned a keyboard shortcut of ⌃⌥⌘⇥ (that last one is the Tab key). Here it is:
I wrote it in Perl because Perl is particularly good at this sort of thing. A Python script would've been longer but no clearer. The -p
option is one of those time-saving Perlisms that eliminates the need to write a line-reading-and-writing loop.
Looking at the script, I realize that none of the regular expressions are necessary. In fact, if I had written this in Python, I wouldn't have even bothered to import the re
library. But regular expressions are such a natural part of Perl, and are so easy to write, that I find myself using them more than I have to.
One thing I've noticed recently is that I'm always pasting text into a file and then applying filters to it. That's true not only of tabular material from spreadsheets, but also of code snippets like the ones above. The workflow is
- Select and copy from another application or window.
- Activate editor window.
- Paste
- Select the text just pasted.
- Apply filter.
I realized that Steps 3 and 4 could be combined with this one-line AppleScript.
It's saved in
and assigned a keyboard shortcut of ⌥⌘V. The set text of selection
part works even if the 'selection' is zero characters long at the blinking cursor. The key side effect of set text of selection
is that whatever it gets set to stays selected. Toast titanium 18 mac.
This is a lot easier in BBEdit than it would have been in TextMate, because TextMate doesn't have a real AppleScript library. Still, it's surprising that I never even tried to do it before.
Yes, I know some other editors can run TextMate commands and snippets pretty much as-is. Despite this, I never felt comfortable in those editors. ↩
BBEdit 13.0.4 Release Notes
BBEdit 13.0.4 contains fixes for reported issues.
For details on all the new features and enhancements available in BBEdit 13, please see the release notes for BBEdit 13.0.
If you haven't looked at BBEdit for a while, we encourage you to catch up on the notes from BBEdit 12.6, BBEdit 12.5, BBEdit 12.1, and BBEdit 12.0, or browse the release notes archive.
For detailed information on using any of BBEdit's features, please refer to the user manual (choose 'User Manual' from BBEdit's Help menu).
Important: Please make sure that you have read the BBEdit 13.0 change notes, as there are significant changes from previous versions.
Requirements
BBEdit 13.0 requires Mac OS X 10.14.2 or later, and is compatible with macOS 10.15 'Catalina'.
![Bbedit Bbedit](https://sanet.pics/storage-2/0916/hvczzd84FazcTbScN84mXUWOdqYxeelv.jpg)
If you are using macOS 10.14 'Mojave', please make sure that you have updated to the latest available OS version (10.14.6 or later).
Bbedit 13 0 5 X 4 5
If you are using macOS 10.15 'Catalina', please make sure that you have updated to the latest available OS version (10.15.2 or later).
Additions & Changes
Bbedit 13
This update contains only fixes for reported issues.
Fixes
Fixed a performance bug which would cause functions and folds tobe scanned twice when opening a file. This was most noticeablewhen opening very large documents in languages which supportedfunction scanning or automatic folding.
Fixed a performance bug which would cause automatic foldgeneration to take a semi-infinite amount of time in very largeJSON files. (The test case was 391.2MB.) Opening such files willstill take a while, but it's likely to finish before the heatdeath of the universe. Amadeus pro 2 4 3 download free.
Fixed a concurrency issue which could cause a crash in theinternals of the ctags subsystem.
Fixed a bug in which custom extension mappings were not properlyapplied to custom keyword files; this caused the customizationsto not only not be applied to the intended language, but alsopoisoned the well so that the custom mappings didn't apply todocuments when desired.
BBEdit will no longer prompt you to unlock the document whenusing 'Reopen Using Encoding' and the document is locked.
Fixed a bug in which dragging a file or folder from an openproject's sidebar into another project's 'Projects' sectionwasn't allowed when it should have been.
Made a change to work around a bug in the OS which would causealternate rows in results list windows to be invisible whencertain display color calibration profiles were in use.
Fixed a bug in which using 'Copy Name' for a document displayinga qualified name in the sidebar would copy the entire qualifiedname, rather than just the document's actual name.
Fixed a bug in which hiding the editor view in results windowsand subsequently un-hiding it would create a condition whereselecting results from the previously displayed file wouldn'thave any visible effect, until a result from a different file inthe list was selected.
Fixed a bug in which the results returned from the '
find tag
'scripting verb (and related ones) were malformed in a way thatwould cause the Apple script editor to report a -1700 error eventhough the operation succeeded. (This issue also caused ScriptDebugger to hang.)For performance reasons, BBEdit will skip to drawing the'invisibles' (upside-down question mark) glyph for characters inthe BMP 'private use area' (
U+E000
throughU+F8FF
). The Applesymbol (U+F8FF
) is now excluded from that test, because it issacred. Noteplan: markdown calendar 1 6 27.Fixed an application lifecycle bug which would sometimes causethe application to crash when quitting while on macOS 10.15.
Made a change so that the OS save panel is less likely to try tooverride your desires when it comes to filename extensions.
When computing qualified display names for documents displayedin an instaproject's sidebar, the set of files considered islimited to those contained in the instaproject's root directory.
Fixed a bug in which trying to edit a file filter with a verylarge number of terms would make the editing sheet unusably tall.The maximum size of the editing sheet is now constrained, and thelist will scroll if needed.
Made a change so that the built-in update checker windowsremember where they were, rather than always centering themselveson the main display.
Fixed bug in which reference text windows (resulting from 'Findin Reference') didn't have scrollbars and weren't read-only asthey should have been. In such windows the Space key once againworks for paging.
Made a change so that the custom language extension list issorted by extension (by default).
Fixed the appearance of the '+' popup buttons in the TextEncoding and Languages preferences when using Dark Mode.
Fixed a few places where popup button icons did not appearcorrectly when in Dark Mode.
Worked around a performance bug in macOS 10.15.2(FB7493711/Radar 57728108) caused by the font service erroneouslydeleting its cache data. This was leading to multi-second delayswhen starting the application or creating/opening a text document(or the Find/Multi-File Search windows). With the fix in place,the first launch of this version of BBEdit or immediatelyfollowing an OS update will take as long as it did without thefix, but subsequent launches will be at the pre-10.15.2 speed.
Made a change to reduce memory utilization in cases where theapplication is running in a switched-out user account and it hasa large file open that is constantly being changed by anotherprocess.
When comparing an open document whose view has been split, thesplit is no longer replicated into the Differences window.
Any errors detected while loading a codeless language module arenow logged to a separate log file: '
LanguageModuleErrors.log
'.This is in BBEdit'sLogs
folder, which you can get to bychoosing the 'Logs' command on the 'Folders' submenu of the mainapplication menu.Added some values to the list of non-warning-generating valuesfor the
rel
attribute of theelement.
Fixed a bug in which right-clicking on a non-selected item toperform a Subversion operation in a results window would insteadperform the operation on the selected item, if a single item wasselected and displayed in the window.
Fixed a crash which could occur when using 'Save As'.
Fixed bug in which closing a shell worksheet left the underlyingshell process running.
Fixed a hang in the PHP color scanner which would occur whenopening a binary file (such as a PDF) which happened to have HTMLat the beginning to fool the auto-guesser and which containednulls after dollar signs.
Removed a typoed duplicate from the PHP predefined name list.
Bbedit 13 0 5 X 4 Graph
fin