BBEdit 16.1
Introducing “Language Playgrounds”, a new interface for creating language modules to add support for languages which are not included from the factory. With this comes a new language module architecture: Declarative Language Modules (DLMs), which supersede the original codeless language modules (CLMs) and provide a much richer language support experience.
There are technotes about Language Playgrounds and Declarative Language Modules (which are now JSON instead of plists).
A configured Highlight Pattern will match text in any open document, and highlight it using the configured color, including an alternative for Dark Mode, if desired. The pattern can be either a literal search string or a Grep pattern.
[…]
There is a setting in the Editing preferences which controls globally whether Highlight Patterns are shown (at all) and this can be configured per-language via the Custom Settings tab in the Languages preferences.
I absolutely love this new feature. First it’s incredibly useful for file types that don’t have language modules or where a language module doesn’t really make sense. For example, my apps generate log files, and highlight patterns let me color code them. Which parts are from the OS vs. my frameworks vs. app-specific code? I can highlight in red any especially important strings that I don’t want to miss.
Second, I see highlight patterns as a way to customize the built-in language modules. These are not open-source, and it’s not worth my time to try to code my own replacements, but highlight patterns make it possible to add my own colors on top of what’s built-in.
Integrated the W3C HTML5 syntax checker into the application. This provides isolation against network issues, rate limits, and service misbehavior.
[…]
There’s a new color setting for “Instance variables” in the “Text Colors” settings. This depends on language modules generating the appropriate run kind, and/or LSP servers returning the appropriate semantic token kind.
[…]
Added a language module for TaskPaper, with coloring as well as navigation via the Function menu.
[…]
Added a language module for coloring and navigating
diffoutput.[…]
Fenced code blocks in Markdown documents are now syntax-colored in the language named by the block’s qualifier (
```python,```js,```diff), when a matching language module is installed.
See also: Agen Schmitz.
Previously: