Laurenz
c627847cb3
Remove directions from grid
2021-10-23 20:22:47 +02:00
Laurenz
1e74f7c407
New `ShapeNode`
...
Replaces `BackgroundNode` and `FixedNode`
2021-10-23 20:22:47 +02:00
Laurenz
5f4dde0a6b
Remove inline alignment from stack
...
The current inline alignment is very broken and leads to lots of subtle weirdness. Getting rid of it simplifies the stack's interface a lot. At a later point either:
- inline alignment will be added back in a better way, or
- all nodes will be able to expand or align themselves, meaning that the stack's children take care of their alignment
2021-10-23 20:22:47 +02:00
Laurenz
f4ed775df0
Make `none` spreadable
2021-10-10 12:16:28 +02:00
Laurenz
c0f5cd011f
Slim down and organize paper sizes
...
Co-Authored-By: Martin <mhaug@live.de>
2021-10-07 14:11:56 +02:00
Laurenz
b69c0355ec
Don't fit images to remaining height
...
Makes them really small if there's only little space left ...
2021-10-05 20:05:15 +02:00
Laurenz
3d0dcbea18
Error on out-of-range values in `rgb`
2021-10-05 19:55:15 +02:00
Laurenz
25b053ed93
Rename `length` to `size` in `square()`
2021-10-05 19:55:00 +02:00
Laurenz
ae05dc0876
Always use first positional argument in `expect()`
...
This changes `#h(100)` from "missing argument: spacing" to "expected linear, found integer".
2021-10-05 19:45:38 +02:00
Laurenz
0a23bfbc23
Add `assert` function
2021-10-05 19:37:38 +02:00
Laurenz
155673c15e
Paper longhand for page function
2021-10-05 19:23:45 +02:00
Laurenz
4ff1519bea
Fill shorthand for font function
2021-10-05 19:19:55 +02:00
Laurenz
dcdcf53831
Rename insert/ to elements/
2021-10-05 18:51:21 +02:00
Laurenz
5e06941c63
Iterate over grapheme clusters instead of chars
2021-10-05 17:57:30 +02:00
Laurenz
00be5d36c4
Change indent requirements to allow alignment
...
Previously the following wouldn't work correctly because "Fourth" would have been a child of "Third".
```
3. Third
⎵. Fourth
```
2021-10-05 17:25:58 +02:00
Laurenz
c25c6a35b2
Simpler and more versatile row and column gutter arguments
2021-10-02 19:35:02 +02:00
Laurenz
2818ceee44
New default fonts
2021-09-30 22:50:14 +02:00
Laurenz
6d26e15fbe
Support `else if`
2021-09-30 19:07:06 +02:00
Laurenz
9e95502622
No hashtag before else anymore
2021-09-30 18:28:25 +02:00
Laurenz
0e89facb53
Allow linear values for text edges
2021-09-28 10:53:54 +02:00
Laurenz
ed0c804017
Add spacing capabilities to stack function
...
- Named argument `spacing` controls spacing between any two template arguments
- Arbitrary linears in the list can produce arbitrary spacing
2021-09-27 22:23:26 +02:00
Laurenz
e10b3d838a
Fix panic due to bad alignments in stack function
2021-09-27 13:45:18 +02:00
Laurenz
1982a0639e
Expand all but last region for broken up auto rows
2021-09-27 11:39:31 +02:00
Laurenz
5594868f8b
Prevent paragraph from overflowing due to trailing linebreak
2021-09-25 23:35:27 +02:00
Laurenz
ea921aca5d
Blocks directly in template also scope
2021-09-15 13:12:07 +02:00
Laurenz
b0b4607725
Set the correct base for grid cells
2021-09-10 15:10:34 +02:00
Laurenz
3481d8cc81
More utility functions
...
- join("a", "b", "c", sep: ", ")
- int("12")
- float("31.4e-1")
- str(10)
- sorted((3, 2, 1))
2021-08-31 12:59:53 +02:00
Laurenz
ee84bf7408
Add abs() function
2021-08-30 16:59:09 +02:00
Laurenz
ff25573224
Lower- and uppercase string conversion functions
2021-08-30 16:39:16 +02:00
Laurenz
e4e79990da
Allow body for font function once again
2021-08-29 15:09:54 +02:00
Laurenz
17ea0d4ba9
Make font fallback disableable
2021-08-27 14:08:31 +02:00
Laurenz
148a06c070
Switch from state to decorations for underline/strikethrough/overline
2021-08-24 00:41:15 +02:00
Martin
d546453880
Links! ( #43 )
...
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2021-08-23 23:56:33 +02:00
Laurenz
a6f260ca39
Refactor layouting a bit
...
Notably:
- Handle aspect ratio in fixed node
- Inline constraint inflation into pad node
2021-08-19 15:52:15 +02:00
Laurenz
594809e35b
Library functions behave more imperatively
...
- Templates scope state changes
- State-modifying function operate in place instead of returning a template
- Internal template representation contains actual owned nodes instead of a pointer to a syntax tree + an expression map
- No more wide calls
2021-08-17 22:20:37 +02:00
Laurenz
9a798ce6f6
Make percentages for h and v relative to area instead of font size
2021-08-17 00:17:28 +02:00
Laurenz
6ae6d86b9c
Separate type for string values
2021-08-14 15:55:39 +02:00
Laurenz
6a3385e4e7
Argument collection and spreading
2021-08-13 16:55:45 +02:00
Laurenz
d002cdf451
Named arguments for user defined functions
2021-08-12 16:07:42 +02:00
Laurenz
ccb4be4da4
Make range-end exclusive
2021-08-12 14:54:52 +02:00
Laurenz
eaa3cbaa9c
Array and dictionary indexing
2021-08-12 13:56:23 +02:00
Laurenz
8207c31aec
Minor refactorings
...
- Reorder parser methods and use `Pos` everywhere
- Remove tab special handling for columns and adapt heading/list/enum indent handling
- Don't panic when a file has an empty path
2021-08-10 11:28:12 +02:00
Laurenz
3932bb2cb9
New source loading architecture
2021-08-09 11:26:41 +02:00
Laurenz
fbd3d19113
Call args span now includes parens
2021-07-31 22:41:06 +02:00
Laurenz
e35fca54a0
Change indent from 4 to 2 spaces
2021-07-30 18:49:20 +02:00
Laurenz
1ee1d078e2
Fatal errors
...
- Makes errors fatal, so that a phase is only reached when all previous phases were error-free
- Parsing still recovers and can produce multiple errors
- Evaluation fails fast and can thus produce only a single error (except for parse errors due to an import)
- The single error that could occur during execution is removed for now
- Removes Value::Error variant
2021-07-30 18:49:19 +02:00
Laurenz
2c6127dea6
Refactor state
2021-07-29 13:28:19 +02:00
Laurenz
891e0c5fa6
Remove warnings from parsing and casting
2021-07-10 23:14:46 +02:00
Laurenz
36b3067c19
Eco string 🌱
2021-07-10 13:07:39 +02:00
Laurenz
9950627789
Even shorter error annotations
...
Error annotations are now relative to the first following non-comment line.
2021-07-09 10:50:25 +02:00
Laurenz
0c74290519
Compare functions and templates by identity
2021-07-08 23:36:20 +02:00
Laurenz
fd0b89a1d8
Rename Fill to Paint
2021-07-08 22:33:44 +02:00
Laurenz
7e2c217cbc
Rename some library arguments
...
- font
- color -> fill
- shorthands for families and size
- decoration functions
- color -> stroke
- strength -> thickness
- position -> offset
- invert offsets: now positive goes downwards just like the rest of typst
2021-07-08 21:42:36 +02:00
Laurenz
551e3af9d0
Replace using with from
2021-07-08 21:16:16 +02:00
Laurenz
5c327e249e
Switch to = for headings once again
2021-07-08 20:03:13 +02:00
Laurenz
f85e5aac64
URL special case for line comments
2021-07-08 19:37:38 +02:00
Laurenz
5a500fb8a7
Range operator
2021-07-08 19:12:07 +02:00
Laurenz
c5635d8a3f
Handle missing arguments to with expr
2021-07-08 18:56:52 +02:00
Laurenz
44d8028b49
Allow wide calls only directly in templates
2021-06-30 22:49:11 +02:00
Laurenz
17e8946884
Remove color literals ( #39 )
2021-06-30 22:32:24 +02:00
Laurenz
45812b7001
Merge pull request #35 from typst/wide-calls
...
Wide calls
2021-06-30 11:04:53 +02:00
Laurenz
2f44d10aa4
Make test separators commentable
2021-06-29 16:05:05 +02:00
Laurenz
b2fb42cc70
Make even more use of wide calls
2021-06-29 16:00:46 +02:00
Laurenz
32a6b673bc
Make use of wide calls
2021-06-29 13:49:50 +02:00
Laurenz
b89cd128ae
Wide calls
2021-06-29 13:49:50 +02:00
Martin
6f518c1728
Adjust comments
...
Co-authored-by: Laurenz <laurmaedje@gmail.com>
Update tests/typ/layout/stack.typ
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2021-06-27 18:58:28 +02:00
Martin Haug
9bd8b7ddac
Code review, new stack test
2021-06-27 18:06:39 +02:00
Laurenz
f64c772b6d
Fix capturing bug
2021-06-27 12:05:36 +02:00
Laurenz
422b8e640f
With expressions
2021-06-26 18:07:05 +02:00
Laurenz
d53c933e4d
Add box and block functions
2021-06-26 15:47:37 +02:00
Laurenz
63cf361496
Make font take everything as keyword arguments
2021-06-25 18:14:19 +02:00
Laurenz
bca035172c
Join semantics
2021-06-18 11:59:05 +02:00
Laurenz
6967c6c80a
Len function for strings, arrays and dictionaries
2021-06-18 10:50:08 +02:00
Martin
fec1f41106
Allow grid cells to span multiple regions. ( #30 )
2021-06-12 18:19:18 +02:00
Laurenz
4017b5a9f6
Push some nodes directly into the stack
2021-06-11 14:42:20 +02:00
Laurenz
4dbd9285c9
Basic enums
2021-06-11 14:00:06 +02:00
Martin Haug
c28708aa19
Text decorations
2021-06-10 23:15:51 +02:00
Laurenz
5611c26577
Restructure tests
2021-06-10 16:46:01 +02:00
Laurenz
bce553a991
Tidy up
2021-06-09 22:44:40 +02:00
Martin Haug
29cfef0a6d
Add a grid layouter
2021-06-09 22:44:40 +02:00
Martin Haug
73fa2eda2c
Introduce `fr`s
2021-06-09 22:44:40 +02:00
Laurenz
c7416f18bd
Move invalid syntax tests into appropriate places
2021-06-09 10:51:19 +02:00
Laurenz
edff2ae680
Remove template pretty printing
...
Was buggy and pretty useless anyway since it couldn't peek into function templates.
2021-06-09 10:45:49 +02:00
Laurenz
5afb42ad89
Lists with indent-based parsing
...
- Unordered lists with indent-based parsing and basic layout using stacks
- Headings are now also indent based
- Removes syntax functions since they will be superseded by select & transform
2021-06-09 00:37:13 +02:00
Laurenz
f26526ba75
Switch back to hashtags for headings
2021-06-07 18:17:47 +02:00
Martin Haug
37e0846037
Test cases for include and import
2021-05-31 22:33:40 +02:00
Laurenz
e023bf2ac9
Module loading system
...
Detects cyclic imports and loads each module only once per compilation.
2021-05-31 22:33:40 +02:00
Laurenz
14f093bfee
A few predefined colors for testing
2021-05-23 22:59:25 +02:00
Laurenz
cd25b40281
Stack function
2021-05-23 22:36:34 +02:00
Laurenz
72434f0695
Min and max functions
2021-05-18 16:31:22 +02:00
Laurenz
8b58171d7c
Reorganize test cases
2021-05-18 00:36:11 +02:00
Laurenz
c975d0d5e9
Tidy up layouting code
2021-05-17 22:55:31 +02:00
Laurenz
076e767b0e
Do binary search and find the outermost glyph with the text index 🔍
...
Co-Authored-By: Martin <mhaug@live.de>
2021-04-07 00:24:42 +02:00
Laurenz
a86cf7bd8c
Refresh all reference images ✅
2021-04-03 21:12:32 +02:00
Laurenz
bfbbe8dcf8
Better paragraph layout tests ✅
2021-04-03 21:12:32 +02:00
Laurenz
12a604fec8
BiDi tests ✅
2021-03-30 14:31:50 +02:00
Laurenz
47b4dab7ed
Line breaking tests ✅
...
Co-Authored-By: Martin <mhaug@live.de>
2021-03-30 14:31:49 +02:00
Laurenz
9c040a9d2b
Move around test cases 🚚
2021-03-29 14:51:54 +02:00
Laurenz
57ca9628c1
Better space coalescing logic 🌧
...
This creates a smaller state machine helper type for softness coalescing, which does not own the resulting nodes. While this creates a bit more duplication in stack and par builder, it makes it a lot easier to integrate additional logic into the paragraph builder.
Furthermore:
- Line breaks are now "hard", that is, not coalesced with each other.
- Text nodes with equal style are now merged allowing for example `f{}i` to form a ligature.
2021-03-27 21:52:39 +01:00
Laurenz
76fc4cca62
Refactor alignments & directions 📐
...
- Adds lang function
- Refactors execution context
- Adds StackChild and ParChild enums
2021-03-25 21:32:33 +01:00