Commit Graph

777 Commits

Author SHA1 Message Date
Laurenz a6f347fbb7 Add test for ends-with fix 2023-08-30 17:19:25 +02:00
Laurenz 5b36b46230 Fix data loading display names 2023-08-30 17:15:49 +02:00
Pg Biel 19b91d59d1
Allow renaming imports with `as` (#1923) 2023-08-30 13:36:02 +02:00
Sébastien d'Herbais de Thun 8a0dd88f10
Make zip variadic (#2041) 2023-08-30 13:31:37 +02:00
Beiri22 e1558268f9
Introduce second variant of Ignorant Behaviour and prevent weak page breaks at basically empty pages (#1929) 2023-08-30 12:58:16 +02:00
Beiri22 f616302496
Duration type, simple date-duration-calculations and comparisons (#1843) 2023-08-30 12:28:53 +02:00
Laurenz a71a2057f2 More type safety for spans 2023-08-29 17:35:35 +02:00
sitandr b2d6cb58dc
Fix weak spacing broken in math (#1966) 2023-08-26 17:36:52 +02:00
Kevin K 45bd58fbaa
Implement `rev()` method on string (#2013) 2023-08-26 17:35:52 +02:00
Sébastien d'Herbais de Thun cd13e55dd1
Fixed numbering hint (#2012) 2023-08-26 16:02:28 +02:00
Beiri22 22b5959608
separate decode from string/bytes for all data functions; and encode for json, toml, yaml via serde (#1935) 2023-08-25 14:31:03 +02:00
lolstork c00fc14905
Initial support for augmented matrices (#1679) 2023-08-25 11:16:03 +02:00
bluebear94 3fcb5ea73c
Render opening smart quote after another opening quote of a different type (#1559) 2023-08-23 14:55:43 +02:00
bluebear94 b59b8bfb35
linebreak_optimized: Handle breakpoints separated only by spaces (#1821) 2023-08-23 13:39:22 +02:00
damaxwell 756bdb623c
Support selectors with and/or followed by before/after (#1883)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-08-22 12:23:55 +02:00
Simon Rask 046029b1e2
Add hint for missing method error for dictionary where a field with a function is present (#1922) 2023-08-21 16:26:05 +02:00
bluebear94 877df549aa
Check for control flow event before let binding (#1912)
Fixes #1906 (trying to destructure the result of `continue`).
2023-08-21 16:21:37 +02:00
Gokul Soumya 5c6434d4ce
Add intersperse() method for arrays (#1897) 2023-08-21 16:01:27 +02:00
Laurenz d52493938e Make bytes joinable 2023-08-21 15:33:03 +02:00
astrale-sharp 99ddbafc09
Wasm plugin system (#1555) 2023-08-21 15:17:16 +02:00
sitandr 2f81089995
Fix single prime in subscript (#1909)
* Fix single prime in subscript (a_' producing wrong result)

* Clippy
2023-08-10 21:36:05 +02:00
sitandr 1e21fac2ce
Fix crashing on empty regexps (#1870) 2023-08-08 14:42:04 +02:00
Matt Fellenz f56060c1b3
Penalize runts (#1858) 2023-08-08 11:27:15 +02:00
Mathias Fischler 800744ed9d
Show warning to user if they use double/empty underscores (italic) (#1871) 2023-08-07 13:47:29 +02:00
Matt Fellenz 823fc5e5c4
Fix incomplete line endings (#1866) 2023-08-06 00:15:29 +02:00
Beiri22 e3115336bf
Decode image (#1810) 2023-08-05 13:58:28 +02:00
damaxwell ba0990f189
Period and slash are ordinary characters in math (#1855) 2023-08-05 12:02:38 +02:00
damaxwell ad55755f33
Correct spacing between closing delimiter and large operators (#1857) 2023-08-05 12:01:53 +02:00
Laurenz b8b0137504 Bytes type
- Moves `Bytes` from `util` to `eval` module
- Accepts bytes in `str` function for bytes -> str conversion
- Adds `bytes` function for str | array -> bytes conversion
- Adds `array` function for bytes -> array conversion
- Adds `len`, `at`, and `slice` methods for bytes
- Adds `encoding` parameter to `read` function
2023-08-04 15:46:46 +02:00
bluebear94 c5a103867d
layout::par::finalize: Bound allotted width when fitting to width (#1828)
Sometimes, optimized line breaking outputs lines that are wider
than the allotted width so that spacing between words can be
narrowed to fit. However, the width calculation for the fit-to-width
case does not account for this, causing the resulting width to exceed
the width of the region. This commit takes the minimum of the
calculated width with the width of the region. Fixes #1825.
2023-08-03 00:45:40 +02:00
damaxwell cd163868f5
large operators have limits in displays; relations have limits always (#1748) 2023-08-03 00:27:33 +02:00
bluebear94 3c94e05ced
Warn if layout doesn't stabilize (#1684) 2023-08-03 00:24:25 +02:00
bluebear94 66df130ca4
Add start parameter to array enumerate (#1818) 2023-07-29 23:11:21 +02:00
Pg Biel 5bd97e218b
Update field mutation error message (#1742) 2023-07-26 23:03:33 +02:00
damaxwell 51a21403ba
Improved #box baselines in math (#1755)
* Improved #box baselines in math

* add a test
2023-07-20 12:59:22 +02:00
Laurenz fc90b72355 Identify state by key only 2023-07-19 13:11:54 +02:00
Laurenz fa9e2c6237 Resolve `place` deltas relative to real container size 2023-07-19 12:59:34 +02:00
Laurenz 3dcd8e6e6b
Positions placed elements relative to real container size (#1745)
This positions placed elements relative to the real container size instead of relative to the base size of the region. This makes its usage more versatile.

Fixes #82
Fixes #685
Fixes #1705
2023-07-19 12:53:36 +02:00
lolstork b37c1e2731
Add infrastructure for compiler warnings (#1731) 2023-07-19 12:52:47 +02:00
damaxwell 8a57395ee4
Support OpenType writing script (#1697) 2023-07-19 12:25:24 +02:00
Laurenz 803ae9309f Support `scope` argument for `eval` 2023-07-18 21:53:42 +02:00
Sébastien d'Herbais de Thun 0c94d2b34e
Adding `dedup` to `array` (#1738) 2023-07-18 15:23:56 +02:00
damaxwell e43903d625
split attach test (#1744) 2023-07-18 10:26:20 +02:00
damaxwell 7a1cd362aa
Support for bounding box text edges (#1626) 2023-07-17 18:19:46 +02:00
Myriad-Dreamin 9b72ee4d22
Load theme for raw code (#1675) 2023-07-17 16:43:33 +02:00
Liam Murphy e0e797c27d
Classify `dots.c`, `dots.down`, `dots.up` and `dots.v` as normal (#1726)
Fixes #713. They were previously classified by Unicode as relations, which caused a '+' sign after one of them to be treated as a unary operator rather than a binary operator. This PR overrides the Unicode classification and classifies them as normal instead, which causes a '+' sign after one of them to be properly treated as a binary operator.
2023-07-17 16:08:19 +02:00
KG 31efd542cb
Rename math symbols (#1124)
Co-authored-by: Ryan Pitasky <111201305+rpitasky@users.noreply.github.com>
Co-authored-by: Daniel Csillag <15617291+dccsillag@users.noreply.github.com>
2023-07-17 15:54:26 +02:00
Pg Biel 9b1a2b41f0
Add fields and methods to several primitives (#790) 2023-07-11 16:11:18 +02:00
MALO 507efc3a1c
Do not take empty lines into account when computing `raw` block dedent (#1676) 2023-07-10 18:23:14 +02:00
Laurenz 78f96f844b Basic floating placement 2023-07-10 18:16:59 +02:00
sitandr dfe361ec6a
Better primes in math (#1614) 2023-07-10 12:09:09 +02:00
Eric Biedert be0f8fe6d7
Customizable math classes (#1681) 2023-07-10 11:00:12 +02:00
Laurenz db09a5a712 Better error messages for `#` expressions 2023-07-06 16:01:23 +02:00
Laurenz adcc6e5506 Better error messages for keywords in place of identifiers
Fixes #1123
2023-07-06 15:16:41 +02:00
Sébastien d'Herbais de Thun 07553cbe71
Raw syntax definition loading (#1655) 2023-07-06 13:51:28 +02:00
bluebear94 cba200d4ec
Handle single and alternate substs for single glyphs in math mode (#1592) 2023-07-06 10:11:42 +02:00
bluebear94 a4756d8576
Add support for weak elements in math (#1633) 2023-07-06 09:37:19 +02:00
Mathias Fischler 5bdad06d92
Parser hints infrastructure (#1570) 2023-07-05 16:25:26 +02:00
Pg Biel d37217aaa4
Add heading `bookmarked` toggle (#1566) 2023-07-05 16:16:00 +02:00
Lynn 9a9da80665
Color mixing function (#1332)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-07-05 11:26:50 +02:00
Laurenz 65f11dc364 Minor improvements 2023-06-30 09:59:58 +02:00
Laurenz 04bffc4f12 Reintroduce `--root` 2023-06-28 10:36:53 +02:00
Laurenz 7b92bd7c34 Basic package management 2023-06-27 18:40:17 +02:00
damaxwell 9eb350d7de
support optical sizes for script/scriptscript when available (#1580) 2023-06-26 13:51:27 +02:00
MALO 33803b1614
Make footnotes referenceable (#1546) 2023-06-26 13:40:52 +02:00
bluebear94 9ef4643ba1
shape_tofus: respect text direction when inserting tofus (#1519)
This ensures that the ranges of the shaped glyphs are monotonically
decreasing in right-to-left-text, thus avoiding nonsensical results
in find_safe_to_break that later causes a panic (see #1373).
Additionally, debug assertions have been added to catch non-monotonic
glyph ranges.
2023-06-26 13:40:21 +02:00
MALO b96b7b7ee1
Use third person in documentation (#1560) 2023-06-24 14:33:17 +02:00
sitandr c5e82b3fa8
Added argument to disable limits in inline math, closes #1522 (#1552) 2023-06-24 14:28:36 +02:00
bluebear94 622cef8e00
layout::par::collect: Treat linebreak element as whitespace (#1542)
Fixes #1540.
2023-06-24 14:26:06 +02:00
Mathias Fischler 2e03fb34cb
Add infrastructure to enrich errors with hints (#1486) 2023-06-24 14:18:21 +02:00
bluebear94 ececd07424
Make factorial take precedence over fraction in math expressions (#1487)
Fixes #1475.
2023-06-20 16:59:42 +02:00
sitandr 03675fc429
Created new system for limits (fixes #1443) (#1452) 2023-06-20 16:58:22 +02:00
Laurenz c5cdbaeaf8 Fix bug with extra table lines
Fixes #183
2023-06-12 17:48:30 +02:00
Laurenz 6720d8c301 Fix bug with missing table row
Fixes #1388
2023-06-12 17:20:54 +02:00
Laurenz 378ebe5f56 Delayed errors
Fixes #785. Thanks to @Dherse for the idea!
2023-06-12 15:42:01 +02:00
Zachary Capalbo 19bf1f5894
Clear page to Even Or Odd (#1427)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-06-12 14:28:25 +02:00
Luis David Licea Torres 3284e7fac7
Support for inside and outside margins (#1308)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-06-12 12:46:34 +02:00
Mathias Fischler 93e6638bfe
Resolve #1141: Add hint for missing numbering, improve hint format consistency (#1456) 2023-06-12 12:46:08 +02:00
Pg Biel c58a8fbd1d
Add `outline.entry` (#1423) 2023-06-12 11:50:59 +02:00
Laurenz c65aaa9137 Undo regex type rename
Unnecessary breaking change for now
2023-06-09 15:52:31 +02:00
Laurenz 3bedf8d0d1 Translate TOML datetime properly 2023-06-09 15:45:16 +02:00
Laurenz 7ece53ae0c Adjust outline indent option 2023-06-09 14:50:29 +02:00
Laurenz 903f440b28 Rename `cramp` to `cramped` 2023-06-09 14:48:23 +02:00
Alex Saveau 635ef03273
Treat function-looking code in attachment as function (#985) 2023-06-09 11:36:44 +02:00
Alex Saveau 61effc350a
Don't type check matrices (#1442) 2023-06-09 10:25:12 +02:00
Laurenz 56f7ede964 Improve footnote handling for multi-page blocks 2023-06-08 15:51:22 +02:00
Laurenz 2b812259c2 Fix footnote in columns
Fixes #1433
2023-06-08 12:24:47 +02:00
Laurenz a1b0a41883 Fix a bug with footnotes in blocks/lists/etc.
This still not gives the "footnote and entry" are on same page invariant for blocks, but at least we do not get random extraneous page breaks anymore.

Relevant issues: #1275, #1433
2023-06-08 11:51:42 +02:00
Laurenz f3e3061a7f Fix a bug in footnote together-keeping logic 2023-06-08 11:21:35 +02:00
Laurenz 10ae0a2c2b Fix line alignment
Fixes #1398. How this works for the other shapes is a hack, but the line was missing from that hack.
2023-06-08 10:20:24 +02:00
Jett Chen c87f802cf6
add calc.exp, calc.ln (#1299)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-06-07 14:44:07 +02:00
Laurenz fd417da04f Improve value casting infrastructure 2023-06-06 22:06:16 +02:00
Peng Guanwen a54cde71cb
Bugfix of CJK punctuation adjustment (#1384) 2023-06-01 15:14:56 +02:00
Sung Jeon 08b49291bc
Add NumberingKind variants for Korean (#1360)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-05-30 18:42:24 +02:00
Erik Bünnig b805c5f100
Unicode code point conversion (#1068) (#1132) 2023-05-30 18:11:30 +02:00
Lynn 7e07b61046
Add a base parameter to str() (#1362) 2023-05-30 18:05:15 +02:00
Peng Guanwen e2bf2327b5
Use icu4x for linebreaking algorithm (#1355) 2023-05-30 17:53:10 +02:00
Laurenz 25e94cef03 Fix doc links 2023-05-30 14:50:43 +02:00
Laurenz f90fcd664b Fix pagebreak before `place`
Fixes #1368
2023-05-30 14:36:34 +02:00
Gabriel Wu 87ee97ae5e
Support syntax highlighting for more languages (#771)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-05-30 10:46:56 +02:00