Laurenz
c3a387b8f7
Segment by script
2022-04-12 22:23:08 +02:00
Laurenz
1101a8370f
Negative array indexing
2022-04-11 16:30:34 +02:00
Laurenz
cd62792c0a
Prevent duplicate named arguments and dictionary keys
2022-04-11 16:11:16 +02:00
Laurenz
938b0af889
Spreading into arrays and dictionaries
2022-04-11 15:52:57 +02:00
Laurenz
34fa8df044
Move language-related properties from `par` to `text`
...
Closes #67
2022-04-10 23:36:36 +02:00
Laurenz
29eb13ca62
Sum color and length into stroke
2022-04-09 12:02:35 +02:00
Laurenz
712c00ecb7
Em units
2022-04-08 15:45:14 +02:00
Laurenz
977ac77e6a
Start & end alignment
2022-04-08 15:01:55 +02:00
Laurenz
4bb6240b40
Make `Relative` generic
2022-04-07 18:04:29 +02:00
Laurenz
1192132dc0
Rename length-related types
...
`Fractional` => `Fraction`
`Relative` => `Ratio`
`Linear` => `Relative`
2022-04-07 16:19:51 +02:00
Laurenz
eb22eed31b
Make chinese justification less bad
2022-04-07 12:51:03 +02:00
Laurenz
20b4d590b3
Fix wrong `search_range` computation
2022-04-05 17:03:24 +02:00
Laurenz
b8233a9e01
Don't allow empty lists and enums
2022-04-05 15:10:15 +02:00
Laurenz
b865accae6
Don't allow headings to span multiple lines
2022-04-05 15:04:31 +02:00
Laurenz
23d108c8e0
Font fallback
2022-04-03 13:55:58 +02:00
Laurenz
beca01c826
Methods
2022-03-18 23:43:58 +01:00
Laurenz
77d153d315
Add `in` and `not in` operators
2022-03-15 15:27:36 +01:00
Martin Haug
6f5b721fe5
CR: I'm gonna make him a refactor he can't refuse
2022-03-17 10:50:51 +01:00
Martin Haug
4d617bcd67
`LineNode`
2022-03-16 12:36:50 +01:00
Laurenz
288a926fea
Knuth-Plass and MicroType
2022-03-14 20:52:32 +01:00
Laurenz
2890a156d2
Remove classes and improve naming
2022-03-12 14:24:24 +01:00
Laurenz
5ac7eb3860
Rename template to content
2022-03-11 23:36:06 +01:00
Laurenz
e6b532391d
More restructuring
2022-03-11 11:58:56 +01:00
Laurenz
b71113d37a
Hyphenation
2022-03-08 19:49:26 +01:00
Laurenz
3ca5b23823
Reorganize library
2022-02-28 23:54:34 +01:00
Martin Haug
4f09233bda
Enable join collection for control flow constructs
2022-02-28 15:41:38 +01:00
Martin Haug
8e0f5993f1
Make loops and functions react to control flow
2022-02-28 13:41:15 +01:00
Laurenz
b0f4b13f6d
Basic justification
2022-02-25 20:48:38 +01:00
Laurenz
efde5cac88
Lower and upper on templates
2022-02-24 19:56:01 +01:00
Laurenz
ecd2bca606
List above & below
2022-02-24 19:15:49 +01:00
Laurenz
49c0bac44d
First-line indents
...
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-02-24 19:15:11 +01:00
Laurenz
e1f29d6cb9
Rework the core context
2022-02-23 14:53:55 +01:00
Laurenz
c7e52f2048
Refactor paragraph layout
2022-02-21 16:47:06 +01:00
Laurenz
61d1e1a683
Remove layout-cache feature
2022-02-18 17:33:13 +01:00
Laurenz
e01970b20a
Basic show rules
2022-02-18 16:57:53 +01:00
Laurenz
05ec0f993b
Headers and footers
2022-02-18 01:07:50 +01:00
Laurenz
acae6e2a54
List label styling
2022-02-18 01:06:20 +01:00
Laurenz
980f898d55
Automatic list numbering
2022-02-17 23:00:30 +01:00
Laurenz
261f387535
Accept closures for heading styling
2022-02-17 18:12:13 +01:00
Laurenz
5965515a1e
Allow escaping of `-` and `.`
2022-02-10 13:19:03 +01:00
Laurenz
e089b6ea40
Set rules for everything
2022-02-09 12:34:19 +01:00
Laurenz
68503b9a07
Redesigned template layout
2022-02-07 20:00:21 +01:00
Laurenz
5d05c3f68a
Refactor and fix style folding
2022-02-05 12:41:42 +01:00
Laurenz
d3ccd55d4b
Split up styled and sequence template
2022-02-02 16:18:10 +01:00
Laurenz
bdb1c008f2
Allow set & show only directly in markup
2022-02-02 11:28:31 +01:00
Martin Haug
fe70db1f4c
New color stuff
...
- CMYK function
- More default colors
- Interpret RGB values as sRGB
2022-02-08 21:12:09 +01:00
Martin Haug
9a9c6f22c4
Add evasion of glyph shape for under- and overlines
2022-02-04 00:30:23 +01:00
Martin Haug
bd0d0e10d8
Harmonize non-negative int arguments
2022-02-03 11:32:16 +01:00
Martin Haug
3f76aadb1a
Add modulo
2022-02-03 11:32:16 +01:00
Martin Haug
e6a0447f9d
Add roman numeral and footnote formatting
2022-02-03 11:32:15 +01:00
Laurenz
fa57d86ed9
Fix another parser bug
2022-01-31 13:57:15 +01:00
Laurenz
8d1ce390e2
Rework strong and emph
...
- Star and underscore not parsed as strong/emph inside of words
- Stars/underscores must be balanced and they cannot go over paragraph break
- New `strong` and `emph` classes
2022-01-30 22:46:59 +01:00
Laurenz
aeb036f4dc
Fix that templates don't create a scope
2022-01-29 22:32:57 +01:00
Laurenz
44ebefbec2
Add `hide` class
2022-01-29 22:32:01 +01:00
Laurenz
24d513d891
Enable for loop over captured args
2022-01-29 21:36:25 +01:00
Laurenz
5c53b9ff60
Support for `wrap`
2022-01-28 22:32:53 +01:00
Laurenz
9c906f92c5
Parse `break`, `continue` and `return` expression
2022-01-28 21:01:36 +01:00
Laurenz
3a07603b66
Remove unnecessary group
2022-01-28 20:17:30 +01:00
Laurenz
76b1d4a93f
Parse `show` and `wrap` expressions
2022-01-28 20:02:42 +01:00
Laurenz
36cae88799
Fix table panic
2022-01-18 13:46:56 +01:00
Laurenz
0c5243fa80
Basic tables
2022-01-17 16:01:01 +01:00
Laurenz
c7f52ed048
Add `even` and `odd` functions
2022-01-13 14:14:00 +01:00
Laurenz
e74ae6ce70
Make all nodes into classes
2022-01-08 00:20:48 +01:00
Laurenz
0b62439090
Scoped styles
2022-01-07 13:26:51 +01:00
Laurenz
af014cfe5e
Tidy up styling
2022-01-07 10:46:55 +01:00
Martin Haug
c994cfa7d8
Code Review: Your parsers were so preoccupied with whether they could
2022-01-04 00:21:33 +01:00
Martin Haug
98c96ba1cb
Fix parser / space / error bug
2022-01-02 14:46:08 +01:00
Martin Haug
5f114e18eb
Added a test framework for incremental parsing
...
Fix several errors:
- Indented markup is now reparsed right
- All end group errors will now fail a reparse
- Rightmost errors will always fail a reparse
2022-01-02 00:46:19 +01:00
Martin Haug
7f7e14d95f
Minor changes to columns
2021-12-28 00:23:42 +01:00
Martin Haug
37328f11ed
Adjust column size and expansion handling
2021-12-27 19:01:36 +01:00
Martin
7efdcdf247
Apply simple suggestions from code review
...
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-12-27 12:33:53 +01:00
Martin Haug
b22ce6f8b8
Introduce equal-width columns
2021-12-26 15:59:24 +01:00
Laurenz
438255519e
Review One: A Set Rules Story
2021-12-22 19:19:32 +01:00
Laurenz
11565a40b3
Set Rules Episode IX: The Rise of Testing
2021-12-21 00:20:24 +01:00
Laurenz
2a3d0f4b39
Set Rules Episode VII: The Set Awakens
2021-12-15 20:27:41 +01:00
Laurenz
244ad386ec
Set Rules Episode VI: Return of the Refactor
2021-12-15 12:49:20 +01:00
Laurenz
57f5c0a1b1
Set Rules Episode V: The Tests Strike Back
2021-12-15 11:12:38 +01:00
Martin Haug
f15ee7efb6
Add SVG capabilities
2021-12-06 14:58:57 +01:00
Laurenz
bfa9962632
Remove baseline weirdness
2021-12-02 14:48:12 +01:00
Laurenz
e4e4c1876f
Fix square and circle width & height
2021-11-29 16:13:53 +01:00
Laurenz
cae60ea0cc
Go back to wrapping inline nodes
2021-11-29 13:12:50 +01:00
Laurenz
e36b8ed374
Layout bugfixes
2021-11-29 12:06:38 +01:00
Laurenz
393d74f9bb
Layout improvements
2021-11-25 20:51:16 +01:00
Laurenz
8a88f71cb1
Transformations
2021-11-23 22:04:08 +01:00
Laurenz
c77c5a0f0a
Simpler alignment resolving
2021-11-23 14:25:50 +01:00
Laurenz
4f9e5819bb
2d alignments with plus operator
2021-11-23 12:45:20 +01:00
Laurenz
d3f6040ced
Horizon alignment
2021-11-23 11:58:16 +01:00
Laurenz
0a974d86ba
Welcome to Tigerland
2021-11-22 15:26:56 +01:00
Laurenz
ed50661378
Castable optional and smart values
2021-11-29 16:47:35 +01:00
Laurenz
cef46e6c40
Strokes
2021-11-20 15:51:07 +01:00
Laurenz
5a59bb4821
Page fill
2021-11-18 12:50:28 +01:00
Laurenz
d9c529347d
Configurable paragraph alignment
2021-11-17 23:54:43 +01:00
Laurenz
095fa52be5
Placed node
2021-11-17 23:09:23 +01:00
Laurenz
89f2e71852
Align node
2021-11-17 17:09:19 +01:00
Laurenz
9a800daa82
Image fit modes
2021-11-16 21:32:29 +01:00
Laurenz
79638d4bbd
Don't wrap already layoutable nodes into flows/pars unnecessarily
2021-11-16 12:47:14 +01:00
Laurenz
0e0f340502
Revert page and inline levels
2021-11-16 10:41:30 +01:00
Laurenz
210c4d9373
Move `lang` functionality into `par`
2021-11-16 00:37:33 +01:00
Laurenz
0ad0fa5a05
RTL tracking test
2021-11-20 13:26:28 +01:00
Martin Haug
c020707ebc
Add tracking to font function
2021-11-20 12:36:03 +01:00
Laurenz
38c5c36241
Final touches
2021-11-08 13:06:11 +01:00
Laurenz
75fffc1f9b
Fine-grained capturing
2021-11-08 11:52:09 +01:00
Laurenz
515fe89c5e
Style changes
...
Co-Authored-By: Martin <mhaug@live.de>
2021-11-05 13:46:42 +01:00
Martin Haug
cf2e527a02
Code Review: No Patrick, question marks are not an instrument
2021-11-05 13:46:41 +01:00
Martin Haug
5c952d56d0
New error handling
2021-11-05 13:46:41 +01:00
Martin Haug
1c0ac793d2
Slim `NodeKind` memory footprint
2021-11-05 13:44:49 +01:00
Martin Haug
4875633acf
Change parser
2021-11-05 13:44:49 +01:00
Laurenz
c4a87e5e7c
Number style -> type
2021-11-02 10:39:45 +01:00
Laurenz
072e7c710c
Reduce namespace pollution
2021-11-02 10:39:45 +01:00
Martin Haug
8ccb7d6f15
Smallcaps, sub- and superscript, ligature ctrls...
2021-11-02 10:39:45 +01:00
Laurenz
564cb7e989
Fix panic in pad node
2021-10-31 13:51:28 +01:00
Laurenz
1af194f383
Dedent code blocks
2021-10-29 16:26:47 +02:00
Laurenz
de6786eb28
Allow multiple template bodies
2021-10-29 16:04:55 +02:00
Laurenz
d1ecb7e52e
Add `move` function
2021-10-28 16:51:57 +02:00
Laurenz
fb0cd3df6e
Fr in stack and par
2021-10-26 14:56:10 +02:00
Laurenz
1ca4ff69e2
Trim `mailto:` and `tel:` from links
2021-10-26 14:51:57 +02:00
Laurenz
3968181622
Replace `..` syntax with `range` function
2021-10-25 13:38:32 +02:00
Laurenz
adf52a873f
Drop `iso-` prefix for A papers
2021-10-23 22:52:40 +02:00
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