Skip to main content

Pragtical v3.12.5 Release

· 2 min read
Jefferson Gonzalez
Contributor of Pragtical

Pragtical v3.12.5 is out with fixes for editing around folded code and wrapped lines, safer syntax loading for language plugins, and build updates for newer SDL3 and CMake combinations.

Folded Code Editing

Editing at folded boundaries now behaves more predictably. Pragtical expands collapsed regions before inserting a newline on a fold header or before a visible fold ending token, which preserves normal indentation and caret placement without disrupting edits after the folded endpoint.

This release also keeps collapsed folds stable across insertion and deletion, improves movement and selection around hidden folded lines, and avoids inactive split views rewriting the shared document selection when their private fold state differs from the active view.

Thanks to justin330 for reporting the issue and providing continous testing and feedback.

Wrapped Line Movement

Vertical cursor movement on wrapped lines now resolves the saved horizontal offset within the requested visual row. This prevents repeated Up and Down commands from getting stuck when moving through documents with uneven long lines.

Thanks to 2trvl for also reporting this and testing the fix.

Syntax Loading

Syntax definitions may now omit the symbols table when they only need pattern-based tokenization. Pragtical defaults missing symbol tables to an empty table, matching how symbol entries are used as exact text overrides.

The tokenizer fixture coverage was also extended for the C3 and C3 Contract language definitions.

Build Updates

The SDL3 fallback build now passes _GNU_SOURCE through CMake's required definitions on Linux. This keeps SDL3 feature probes consistent under CMake 4 and avoids conflicting fallback declarations during CI builds.

The bundled SDL3 wrap was updated to v3.4.14, and the plugins subproject wrap was refreshed to include the latest language fixture coverage.

Downloads on GitHub.

Changes Log

Enhancements

  • Default missing syntax symbols (#583)

Fixes

  • Fix newline edits at folded boundaries (#577)

  • Fix vertical movement on wrapped lines (#581)

Build System

  • Fix SDL3 probes under CMake 4 (#578)

  • Update SDL3 to v3.4.14 (#582)