update readme.md

This commit is contained in:
Faynot
2026-05-18 14:54:16 +03:00
parent 9696f8f4ba
commit e6ed1bd9fd

View File

@@ -1,4 +1,4 @@
<h1 align="center"><img alt="DumbShot" src="./logo.png"></h1> <h1 align="center"><img alt="Glint" src="./logo.png"></h1>
<p align="center">A specialized, statically typed markup, styling, and state management language created exclusively for <strong>Eclipse DE</strong></p> <p align="center">A specialized, statically typed markup, styling, and state management language created exclusively for <strong>Eclipse DE</strong></p>
## About Glint ## About Glint
@@ -14,29 +14,34 @@ Eclipse doesn't have a concept of "default settings" in the form of hidden binar
- **Who is Glint for?**: Knowing Glint is necessary for advanced users who want full control over their DE, however, no one forbids the use of the unmodified Eclipse DE - **Who is Glint for?**: Knowing Glint is necessary for advanced users who want full control over their DE, however, no one forbids the use of the unmodified Eclipse DE
## Architecture ## Architecture
The language is designed with a focus on maximum predictability, determinism, and performance of the native application layer on 'iced' (Rust). The language is designed with a focus on maximum predictability, determinism, and performance of the native application layer on 'iced' (Rust).
### Sigil system ### Sigil system
| Symbol | Type | Description |
| --- | --- | --- | | Symbol | Type | Description |
| `@` | Directive | Single symbol → instant dispatch | | -------------- | --------- | ---------------------------------------------------------- |
| `$` | Varialbe | Distinguishes from item names and strings | | `@` | Directive | Single symbol → instant dispatch |
| `!rhei` | call Rhei | '!' does not occur in names; The body is transmitted as-is | | `$` | Varialbe | Distinguishes from item names and strings |
| `//` | Comment | Two-character check | | `!rhei` | call Rhei | '!' does not occur in names; The body is transmitted as-is |
| `"…"` | String | An unambiguous beginning and end; escape via '\' | | `//` | Comment | Two-character check |
| `#RRGGBB` | Color | Only in the value position; parsed for 7 bytes | | `"…"` | String | An unambiguous beginning and end; escape via '\' |
| `fs:/…` | FS-path | URI scheme; Recognized in 3 characters (f,s,:) | | `#RRGGBB` | Color | Only in the value position; parsed for 7 bytes |
| Capital letter | Element | Distinguishes from directives and keywords | | `fs:/…` | FS-path | URI scheme; Recognized in 3 characters (f,s,:) |
| `0-9 / -` | Integer | The first character uniquely indicates the numeric type | | Capital letter | Element | Distinguishes from directives and keywords |
| `0-9 / -` | Integer | The first character uniquely indicates the numeric type |
The parser spends **zero time** determining the type of token. It doesn't need to symbolically compare strings like `if`, `let`, or `function`. The parser spends **zero time** determining the type of token. It doesn't need to symbolically compare strings like `if`, `let`, or `function`.
### 2. Separation of scopes '()' and '{}' ### 2. Separation of scopes '()' and '{}'
* Parentheses '(...)' contain **only** the properties of the element in the format 'key=value'.
* Curly braces '{...}' contain **only** child elements and directives. - Parentheses '(...)' contain **only** the properties of the element in the format 'key=value'.
- Curly braces '{...}' contain **only** child elements and directives.
### 3. Native protocols ### 3. Native protocols
Instead of calling heavy functions like 'readFile("/path")' that require argument parsing in runtime, Glint uses built-in prefixes: Instead of calling heavy functions like 'readFile("/path")' that require argument parsing in runtime, Glint uses built-in prefixes:
```gltm ```gltm
Image(src=fs:/usr/share/backgrounds/wallpaper.png) Image(src=fs:/usr/share/backgrounds/wallpaper.png)
``` ```
@@ -48,6 +53,7 @@ Glint does not interpret pure text while DE is running. It compiles it into a co
This allows the Render Hot-Path to run without memory allocations at all This allows the Render Hot-Path to run without memory allocations at all
## Syntax example ## Syntax example
```gltm ```gltm
@version 1 @version 1
@style "desktop.glts" @style "desktop.glts"