Compositor 1.27

After a long hiatus, Compositor 1.27 is finally out!

This release brings a much improved source editor with line numbers, syntax error highlighting, and basic code completion. Overall it feels like a big step forward with respect to practical usability of the app, at least to me. Let me know what you think, I’d be very interested in feedback.

Here’s what’s new in this release. As usual, the complete list of fixed bugs and new features can also be found on Github.

Improvements

Code completion in the source editor, Pt 1 #592

The source editor now has some basic code completion for LaTeX commands:

Pressing Ctrl-Space in the source editor will bring up the completions window. Typing a backslash (\) in the source editor will also bring up the completions window (because a backslash marks the start of a command).

The list of commands available in the completions window is a combination of built-in LaTeX commands like \section, plus all the commands defined in packages currently installed in your copy of the app (Compositor downloads packages on demand).

For core LaTeX commands, the code completions window shows information about optional ([...]) and required ({...}) arguments:

Clicking the 🔗 icon will open a webpage with documentation.

I have plans to add a mechanism for extensible package documentation (#603) to provide higher-fidelty help also for non-core LaTeX commands.

Please note that this is just a first iteration of code completion. There is a ton that’s still missing (e.g., code completion for environments), but you have to start somewhere, and improvements are coming.

As a side note: In the course of adding code completion, the source editor also got a significant architectural overhaul, and is now more efficient and better integrated with the core document editing functionality.

Show line numbers in the source editor #595

A small but highly useful addition, especially when paired with the improved error reporting (see below):

Improve TeX error reporting #331

TeX error reporting has been improved and now provides more informative error messages in certain cases, for example around runaway arguments (missing closing brace):

Let me know if you run into scenarios where you think error reporting could be improved, I will gladly add support for more cases!

Highlight error line in source editor #604

In case of syntax errors in the source, the offending line is now highlighted in the source editor (and will be scrolled into view if necessary):

Bugfixes

Other

Bump minimum deployment target to get rid of bundled Swift libraries #585

Compositor now requires macOS 10.15 or newer (still a very modest minimum version requirement).

An issue with macOS 15.0

Due to a bug in macOS 15.0, the folder bookmark data that Compositor writes at the end of documents may be considered invalid by the system. This may cause Compositor to not being able to access to folder where the document resides in, potentiall causing problems with included files like images, and also always asking for document folder acccess every time you want to open the file.

This bug has been fixed in macOS 15.1. So if you are running macOS 15.0, I would ask you to update to 15.1 to not run into this problem.


Next Up

Here’s the preliminary scope for the upcoming Release 1.28.