Skip to content

zcode 0.1.1

Choose a tag to compare

@github-actions github-actions released this 19 Oct 20:56
· 39 commits to main since this release

Mostly memory fixes.

An idle window no longer holds ~230 MB it doesn't need. A focused editor's caret blinked forever. Each blink redraws the window, and while a window keeps drawing, macOS charges it about 230 MB of graphics memory. The caret now stops blinking 10 seconds after your last key or click and stays shown. An idle window with an editor open now holds 28 MB of graphics memory instead of 260 MB. With 20 tabs open, zcode's own memory dropped from 475 MB to 233 MB.

The status bar's language server figure is now zcode's alone. It used to add up every SourceKitService on the Mac, so having Xcode open inflated it: 1.32 GB for a small package, which is really 29 MB.

sourcekit-lsp keeps fewer files open. A tab you aren't looking at is closed at the language server, unless it's one of the four you looked at last or has unsaved changes. That cuts the language server's live memory by about 0.6 GB with 10 to 40 tabs. Activity Monitor won't always show the drop right away, because macOS takes the freed memory back in its own time.

The cost: when you go back to a closed tab, sourcekit-lsp has to analyze it again. For a 5,000-line file that takes about a second. Its errors and syntax colors stay on screen meanwhile, but Quick Help and completion in that file wait. A closed file's issues also don't change until you show it again.

Fixed: a file opened after zcode started watching the project wasn't reloaded when something outside zcode changed it, for up to 30 seconds. It now reloads in about 0.2 seconds.

Full Changelog: v0.1.0...v0.1.1