update readme.md
This commit is contained in:
34
README.md
34
README.md
@@ -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>
|
||||
|
||||
## 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
|
||||
|
||||
## Architecture
|
||||
|
||||
The language is designed with a focus on maximum predictability, determinism, and performance of the native application layer on 'iced' (Rust).
|
||||
|
||||
### Sigil system
|
||||
| Symbol | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| `@` | Directive | Single symbol → instant dispatch |
|
||||
| `$` | Varialbe | Distinguishes from item names and strings |
|
||||
| `!rhei` | call Rhei | '!' does not occur in names; The body is transmitted as-is |
|
||||
| `//` | Comment | Two-character check |
|
||||
| `"…"` | String | An unambiguous beginning and end; escape via '\' |
|
||||
| `#RRGGBB` | Color | Only in the value position; parsed for 7 bytes |
|
||||
| `fs:/…` | FS-path | URI scheme; Recognized in 3 characters (f,s,:) |
|
||||
| Capital letter | Element | Distinguishes from directives and keywords |
|
||||
| `0-9 / -` | Integer | The first character uniquely indicates the numeric type |
|
||||
|
||||
| Symbol | Type | Description |
|
||||
| -------------- | --------- | ---------------------------------------------------------- |
|
||||
| `@` | Directive | Single symbol → instant dispatch |
|
||||
| `$` | Varialbe | Distinguishes from item names and strings |
|
||||
| `!rhei` | call Rhei | '!' does not occur in names; The body is transmitted as-is |
|
||||
| `//` | Comment | Two-character check |
|
||||
| `"…"` | String | An unambiguous beginning and end; escape via '\' |
|
||||
| `#RRGGBB` | Color | Only in the value position; parsed for 7 bytes |
|
||||
| `fs:/…` | FS-path | URI scheme; Recognized in 3 characters (f,s,:) |
|
||||
| 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`.
|
||||
|
||||
### 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
|
||||
|
||||
Instead of calling heavy functions like 'readFile("/path")' that require argument parsing in runtime, Glint uses built-in prefixes:
|
||||
|
||||
```gltm
|
||||
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
|
||||
|
||||
## Syntax example
|
||||
|
||||
```gltm
|
||||
@version 1
|
||||
@style "desktop.glts"
|
||||
|
||||
Reference in New Issue
Block a user