This is a major update to Symbat, bringing a whole host of bugfixes and UX enhancements to better integrate Numbat's capabilities with your notes and Obsidian in general.
- Richer Property Support: Symbat now automatically translates more kinds of property types and makes them available in your numbat bindings. In addition to the already-supported numbers, we now support booleans, strings, dates, datetimes, and Better-Properties-style uniform arrays. We also fixed a bug where properties would not be properly exported into notes that import other notes unless they were at the top level.
- Decorator Support: Due to the caching and evaluation mechanism used by the plugin to provide line-by-line results, the use of decorators on let bindings, unit definitions, and function definitions was broken. They are now properly supported, and will even offer completions after typing
@with decorator information on hover. - NBT Editor Enhancements: Tab and Shift Tab for indentation now work in the standalone NBT file editor, with the tab width and tabstop configurable in the plugin settings. On mobile with a software keyboard, the NBT editor now provides a floating hide keyboard button, and where vim mode is enabled it also provides escape and a button to toggle visual block mode.
- Undefined Properties Support: We now ship with an
Opt<T>type that acts like an optional type that can be present or not. We've integrated this at a deep level into the properties support in Symbat, allowing you to work with data that may or may not be present from your numbat code. It comes with a host of associated functions so you can work with it seamlessly. - Zoned Date and Datetime Property Types: Symbat now ships two additional property types that add the ability to select a time-zone to dates and datetimes. This makes them work far more seamlessly with Numbat, which would otherwise assume they are in the user's default timezone. The timezone list is searchable, and supports both floating zones (to handle DST changes) and fixed offsets.
- Better Bases UX: Symbat's property types in bases now display the result only—still highlighted with units and everything—until they are clicked into. Once focused, you get the full property editor, but this provides a much better UX for reading data in bases at a glance while still retaining the full power of Numbat's evaluation.