* Add another example line to Frontmatter.md
Add another line which shows that page references should be quoted and pascalCase convention
* Mention feather icons in config documentation
* Add a query example to select based on folder
This is relevant for Quick Notes
When omitted, the function outputs empty string for empty table as before.
The feature was motivated by the Maintenance page in v1 that showed messages
instead of just empty blocks (ported over).
* Parse hexadecimal numeric constants in Lua
Fix lua grammar to not require a "+" after "e" in numbers.
Add tests for parsing correct number value.
* Implement bitwise operators in Lua
They throw an error when called on fractional values,
like Lua 5.4 but with a hint to round them manually.
- Modified the `assertEqual` function to include a custom message for assertion failures.
- Added tests for empty tables and JavaScript arrays to verify correct behavior of `pairs` and `ipairs`.
- Implemented checks for mixed key types and ensured `ipairs` only iterates over numeric indices, validating the expected values.
- Added a check to skip indexing links for pages tagged as "meta/template" to prevent indexing links there.
- Updated the documentation in `Spaces.md` to remove redundant information regarding git repository usage for space folders.
- Changed the fenced code block notation from "template-type" to "language" for clarity in the Fenced Code Blocks documentation.
- Removed outdated example code from the Hashtags documentation to streamline content and improve focus on relevant information.
- Revised multiple documentation files to correct references and improve clarity, including updates to the Command Palette, Document Editor, and various Markdown files.
- Removed outdated references to "Slash Templatese" and replaced them with "Slash Templates" for consistency.
- Enhanced explanations regarding meta pages and shortcuts, ensuring accurate guidance for users.
- Enhanced the `Config.md` documentation to clarify built-in configuration options and the use of the `config.set` API.
- Removed outdated `Page Template.md` and `Slash Template.md` files to streamline documentation and avoid confusion.
- Updated references in various documentation files to reflect the removal of deprecated templates and ensure consistency across the site.
- Introduced a new `stdLibPrefix` constant in `constants.ts` for standard library paths.
- Updated the import statement in `sync_service.ts` to include `stdLibPrefix`.
- Modified the logic in `SyncService` to check for both `plugPrefix` and `stdLibPrefix` when validating names.
- Introduced a new system for defining slash commands using templates, allowing for easier command creation and management.
- Added multiple slash command templates, including for functions, queries, and admonitions, with specific context handling.
- Enhanced existing Lua command definitions to support new template-based commands and improved context filtering.
- Updated the `template.fromPage` function to handle raw template text, enabling more flexible command definitions.
- Introduced a new page template system to automate page creation based on defined templates.
- Added configuration options for templates, including suggested names, confirmation prompts, and keyboard shortcuts.
- Created a new "Quick Note" template with specific command and key bindings.
- Removed the old "Page Templates" file and integrated its content into the new structure for better organization.
- Introduced `pageExists` function in `space.ts` to verify if a page exists in the space.
- Enhanced cursor placeholder handling in `editor.ts` to prevent errors when the placeholder is not found, ensuring smoother text manipulation.
- Added caching mechanism for client configuration to enhance performance and reliability.
- Implemented a timeout for fetching fresh config, falling back to cached config in case of errors or timeouts.
- Updated error handling to ensure proper responses when fetching fails, including returning a 404 status when no config is available.
- Introduced a new `TagDef` type to define tags with optional schema and metatable.
- Added `registerTag` method in `ScriptEnvironment` to register tags.
- Updated `indexSyscalls` to handle tag registration and enrich query results with tag metadata.
- Modified `queryLua` and `DataStore` to support an optional enricher function for enhanced data processing.
- Updated the `pairsFunction` to specify that keys can be of type `string` or `number`, enhancing type safety.
- Corrected a comment for clarity regarding key retrieval from plain JavaScript objects, ensuring accurate documentation.
- Updated the `tonumber` function to support optional base conversion, allowing for binary, octal, decimal, hexadecimal, and base 36 inputs.
- Added validation for invalid bases and non-numeric strings.
- Introduced comprehensive tests for various `tonumber` scenarios in `language_core_test.lua` to ensure correct functionality.
- Modified `luaCall` and `luaValueToJS` functions to handle promises, allowing asynchronous execution of JavaScript functions from Lua.
- Updated the `jsApi` to expose the global `globalThis` object instead of `window`, improving compatibility across different environments.
- Added a convenience function for creating HTML widgets, streamlining widget creation.
- Enhanced the key retrieval logic in the pairs function to ensure it captures prototype keys correctly.
- Exposed the global window object in the jsApi for better access to DOM functions.