gpui-markup 0.5.2

A declarative markup DSL for building GPUI applications
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.5.2]https://github.com/so1ve/gpui-markup/compare/v0.5.1...v0.5.2 - 2026-01-11

### Fixed

- should treat Uppercase identifiers as components only

### Other

- update doc comments to match latest output

## [0.5.1]https://github.com/so1ve/gpui-markup/compare/v0.5.0...v0.5.1 - 2026-01-11

### Added

- show errors when `@` is not followed by `[]`

### Fixed

- use prototype methods from traits for more accurate error spans and runtime behavior

### Other

- simplify internal implementation
- fix example code
- revise installation instructions in README

## [0.5.0]https://github.com/so1ve/gpui-markup/compare/v0.4.0...v0.5.0 - 2026-01-11

### Added

- notice why `{}` is required at top level in error message
- [**breaking**] refined attributes syntax

### Other

- sync latest usage
- update comments

## [0.4.0]https://github.com/so1ve/gpui-markup/compare/v0.3.0...v0.4.0 - 2026-01-10

### Added

- support component expressions
- [**breaking**] move `[]` into `{}`
- [**breaking**] refined markup syntax

### Fixed

- remove duplicated braces in error message

### Other

- update snapshot
- use nightly rust
- update code formatting
- update README
- apply automatic fixes
- remove `__assert_parent_element` guard
- add nested `ui!` calls
- apply automatic fixes
- add comments for `parse_method_chain`
- extract `parse_element_body` and early returns
- bump version

## [0.3.0]https://github.com/so1ve/gpui-markup/compare/v0.2.0...v0.3.0 - 2026-01-10

### Added

- [**breaking**] disallow empty braces, use standard rust comments instead

## [0.2.0]https://github.com/so1ve/gpui-markup/compare/v0.1.2...v0.2.0 - 2026-01-10

### Added

- support method calls in children
- [**breaking**] use `.child` by default, add new syntax `{..children}` to express `Vec<Element>`

### Fixed

- should capture whole `TokenStream` for method call instead of implementing our own naive parser
- should not wrap braces in braces

### Other

- add more invalid syntax cases
- document nested macros usage

## [0.1.2]https://github.com/so1ve/gpui-markup/compare/v0.1.1...v0.1.2 - 2026-01-10

### Added

- comments

### Other

- add docs for `deferred`

## [0.1.1]https://github.com/so1ve/gpui-markup/compare/v0.1.0...v0.1.1 - 2026-01-10

### Added

- support `deferred`
- allow components to have children
- support more native elements
- init

### Fixed

- remove `canvas` and `img` from native element list
- don't use `generate_base_with_spans` in `deferred` codegen
- add `ParentElement` trait bound check
- should generate navigation to both start tag and end tag

### Other

- update snapshot
- apply automatic fixes
- use prettyplease to prettify snapshot
- add tests for components with children
- update snapshot
- add vscode config
- fix clippy
- use macos for clippy
- okay if pinning zbus does not work...
- pin zbus to fix build
- apply automatic fixes
- wtf tauri
- use nightly rust for linting jobs
- configure ci
- add repository link
- Merge pull request #1 from so1ve/renovate/configure
- add README and LICENSE
- remove `Attribute::KeyMultiValue`