Olivier Goffart
dcd8450dfa
WIP: start working on translations: @tr()
...
This commit just do the parsing of the @tr macro.
2023-06-05 16:34:59 +02:00
Amirhossein Akhlaghpour
3a4f3c61d5
Add @rust-attr
on scturct ( #2785 )
...
Fixes : #2660
2023-06-05 16:29:55 +02:00
Olivier Goffart
875a7ea179
Parser: Nicer error when extra top-level semicolon
...
Recover from extra semicolon
2023-04-17 15:13:20 +02:00
Olivier Goffart
a7b8bafdf9
Ensure completion in the document in case of parse error or empty document
...
Every token must be part of a document, including the EOF,
otherwise completion don't work at the end of the document.
2023-04-17 07:58:18 +02:00
Olivier Goffart
ee9f730a6d
Parser: Don't parse everything as a component
...
The old parser always try first to find `Foo :=` from the old syntax so it
would error saying it expect an identifier or `:=`
But if we don't find a component, don't try to parse it as a component too early
This way we get better error and better auto-completions
2023-04-17 07:58:18 +02:00
Olivier Goffart
40922874fa
parser: don't parse error on empty import statement
...
Report the error later when loading the import.
That way, we get a more complete AST for auto-completion
2023-04-17 07:58:18 +02:00
Olivier Goffart
82ae83ce8c
Parser: don't have the whitespace as part of an expression
...
That way the error for an expression is at a better location, and
this also prevent the formater that removes space in expressions to
remove the spaces before the expression that shouldn't be removed
2023-04-14 17:46:19 +02:00
Olivier Goffart
4f00f268a5
Make the old syntax a warning
2023-02-14 12:38:39 +01:00
Olivier Goffart
a0d057b8b8
Enable the new syntax by default
2023-01-07 14:18:10 +01:00
Olivier Goffart
1cbd61145e
WIP: pure qualifier for callback and functions
2022-12-22 00:26:27 -08:00
Olivier Goffart
aeed3b48fc
Parser: fix parsing of "public function" in release mode
...
`consume()` does not advance whitespace, while `peek()` does. And the
`peek()` in the debug_assert meant that the behavior was different in
release and debug mode.
Use `expect` instead of consume as it skip over white space
2022-12-15 12:52:21 +01:00
Simon Hausmann
8faf57fa40
Minor fix to export * from "blah"
parsing
...
Use the star token directly.
2022-12-09 11:05:08 +01:00
Simon Hausmann
03fe599890
Add support for re-exporting modules
...
Use `export * from "somewhere.slint"` to avoid having to repeat all the
types of an existing module in order to re-export all of the types.
2022-12-09 11:05:08 +01:00
Olivier Goffart
ed07cd825d
Make functions private by default unless annotated with 'public'
2022-12-06 14:56:25 +01:00
Olivier Goffart
851a910e41
Parser: Parse functions
2022-12-06 14:56:25 +01:00
Olivier Goffart
51933b99bb
New syntax for transitions, within the state
2022-11-22 15:16:54 +01:00
Olivier Goffart
c1c52a2b86
Make the test pass without defining the SLINT_EXPERIMENTAL_SYNTAX env variable
2022-11-21 22:01:52 +01:00
Olivier Goffart
d2ade4fd98
Document and enable the in / out keywords with the old component syntax ( #1879 )
...
But it still defaults to `in-out`
2022-11-21 18:41:35 +01:00
Simon Hausmann
59d3a69688
Fix support for multiple import statements from the same path ( #1868 )
...
Importing multiple types from the same file with multiple import statements would produce an error.
2022-11-21 15:37:38 +01:00
Olivier Goffart
dd4c701307
Rename input
and output
property to in
, out
and in-out
2022-11-08 15:25:20 +01:00
Olivier Goffart
5613fc4416
Rename inout
property to input output
...
`inout` and `input` are too similar, so use a longer form for `inout`
CC https://github.com/slint-ui/slint/issues/191#issuecomment-1296176978
2022-10-31 14:57:52 +01:00
Olivier Goffart
f055afd2de
New syntax: allow to create component without base
2022-10-26 18:09:57 +02:00
Olivier Goffart
69b15043d4
Gate the new syntax with an environment variable
2022-10-20 08:02:26 +02:00
Olivier Goffart
baeb2cd419
New language syntax: allow struct declaration without ':='
2022-10-20 08:02:26 +02:00
Olivier Goffart
c1f4f4e96b
Start working on input/output properties
2022-10-20 08:02:26 +02:00
Olivier Goffart
a3ba7bf78a
syntax_updater: Continue new syntax, add it to the parser
...
This re-adds inheritence with the "inherits" keyword
2022-10-20 08:02:26 +02:00
Olivier Goffart
98a922bf42
syntax_updater: Experimental support for input/output properties
2022-10-20 08:02:26 +02:00
Olivier Goffart
f611651bb7
LSP: Fix auto-completion of @
-macros
2022-05-19 19:22:56 +02:00
Olivier Goffart
b4ebd88d35
Implements @radial-gradient(circle, ...)
...
Only the circle is implemented so far.
Part of #263
2022-05-19 14:07:20 +02:00
Tobias Hunger
4230ac2572
Update copyright information to reflect name change
...
Also run resue over the codebase and fix complaints from that tool.
2022-02-09 10:27:47 +01:00
Tobias Hunger
e6b24bceec
[reorg]: Set up and populate the internal
directory
...
Move "internal" crates into the `internal` directory. This first batch
includes most of sixtyfps_runtime but leaves the rendering backends
alone for now.
pre-commit applied some cleanups to the moved files:
- Consistent newline at end of file policy
- trimming trailing whitespace
- Formatting Cargo.toml files.
2022-01-31 16:00:50 +01:00