Commit graph

69 commits

Author SHA1 Message Date
Myriad-Dreamin
d0a478929e
fix: don't export on entry change and first filesystem sync (#1854)
Some checks are pending
tinymist::ci / build-vscode-others (push) Blocked by required conditions
tinymist::ci / publish-vscode (push) Blocked by required conditions
tinymist::ci / build-vsc-assets (push) Blocked by required conditions
tinymist::ci / build-vscode (push) Blocked by required conditions
tinymist::ci / Duplicate Actions Detection (push) Waiting to run
tinymist::ci / Check Clippy, Formatting, Completion, Documentation, and Tests (Linux) (push) Waiting to run
tinymist::ci / Check Minimum Rust version and Tests (Windows) (push) Waiting to run
tinymist::ci / E2E Tests (darwin-arm64 on macos-latest) (push) Blocked by required conditions
tinymist::ci / E2E Tests (linux-x64 on ubuntu-22.04) (push) Blocked by required conditions
tinymist::ci / E2E Tests (linux-x64 on ubuntu-latest) (push) Blocked by required conditions
tinymist::ci / E2E Tests (win32-x64 on windows-2019) (push) Blocked by required conditions
tinymist::ci / E2E Tests (win32-x64 on windows-latest) (push) Blocked by required conditions
tinymist::ci / prepare-build (push) Waiting to run
tinymist::ci / build-binary (push) Blocked by required conditions
tinymist::gh_pages / build-gh-pages (push) Waiting to run
* fix: make real onSave export conditions

* fix: remove fix

* feat: pass export tests

* fix: revert bootstrap changes

* feat: reduce num of exports

* fix: diag tests
2025-06-29 21:54:05 +08:00
Eric Long
9d9d360db9
fix(test): running test as root (#1817)
* fix(test): running test as root

The dummy root path /root conflicts with root user's home directory on Linux and redacts incorrectly. Our downstream CI environment builds tinymist in docker as root and encounters the problem. Change the path to `/dummy-root` fixes it. To ensure consistency, other similar occurences are also prefixed with `dummy-`.

* dev: deduplicate a bit

---------

Co-authored-by: Myriad-Dreamin <camiyoru@gmail.com>
2025-06-16 13:01:25 +08:00
Myriad-Dreamin
4871cd3917
build: bump version to 0.13.12 (#1715)
* docs: update changelog

* build: bump version to 0.13.12

* build: bump assets  to v0.13.12
2025-04-30 14:45:23 +08:00
Myriad-Dreamin
0552d4bb4f
build: bump version to 0.13.12-rc6 (#1713)
* fix: sync-ls warnings

* build: bump version to 0.13.12-rc6

* fix: lint config bug

* build: fix assets ver

* feat: bump asset crate
2025-04-30 13:53:28 +08:00
Myriad-Dreamin
f4a6d2b271
build: bump version to 0.13.12-rc5 (#1710)
* build: bump version to 0.13.12-rc5

* build: bump assets to v0.13.12-rc5

* docs: edit changelog
2025-04-30 02:09:28 +08:00
Myriad-Dreamin
042fc2a477
feat: forbid weird embedded font uses and make toml dep optional (#1701)
* cg

* fix: forbid weird embedded

* feat: optional toml
2025-04-25 17:56:17 +08:00
Myriad-Dreamin
923155a2e2
build: bump version to 0.13.12-rc4 (#1680) 2025-04-18 02:40:51 +08:00
Myriad-Dreamin
8f4f07673f
build: bump version to 0.13.12-rc3 (#1676)
* build: bump version to 0.13.12-rc3

* build: update assets
2025-04-17 20:23:38 +08:00
Myriad-Dreamin
a3758038ee
build: bump version to 0.13.12-rc2 (#1674)
* build: bump version to v0.13.12-rc2

* build: update targets

* build: update assets

* fix: warning
2025-04-17 17:02:34 +08:00
Myriad-Dreamin
84c211c7eb
feat: extract package implementation (#1647)
* feat: extract registry implementation

* feat: tinymist package

* fix: guard

* fix: guard 2

* feat: no specifier

* fix: temp_dir_in impl

* fix: impls

* feat: UniversePack::new

* feat: clone into memory

* feat: implement some pack for testing

* build: update cargo.lock

* feat: fit for web

* fix: guard
2025-04-16 18:19:03 +08:00
Myriad-Dreamin
9d1007a4f3
feat: refactor and add page count for the status bar format (#1666)
* feat: refactor and add page count for the status bar format

* chore: edit code style

* chore: edit code style

* chore: edit code style

* chore: edit code style

* chore: edit code style
2025-04-16 17:45:53 +08:00
Myriad-Dreamin
92c5e40abd
feat: resolve roots of typst packages (#1663) 2025-04-16 13:51:33 +08:00
Myriad-Dreamin
39d13c83f6
refactor: simplify world font impl and add docs (#1645)
* fix: remove unnecessary &mut in FontResolverImpl::append_font()

* refactor: better readablity in FontResolverImpl::rebuild()

* feat: FontResovlerImpl::clone_and_rebuild()

Change FontSlot to store Arc to QueryRef<Font, FontLoader>, so we can
clone FontSlot and share the cached loaded font between different slots.

Since CompilerUniverse only holds a immutable Arc to FontResovlerImpl,
adding clone_and_rebuild method allow us to append and rebuild without
mutable access to FontResovlerImpl.

* refactor: remove partial_book and modify methods from FontResolverImpl

partial_book is removed from FontResolverImpl, all the modifying methods
are also removed.
new method get_fonts and new_with_fonts are added.
If you want to modify fonts, you can get all fonts and modify them, then
call new_with_fonts to create a new FontResolverImpl.

* refactor: SystemFontSearch, BrowserFontSearch

- Both font searcher now is just a wrapper for Vec<(FontInfo,
  FontSlot)>, typst::FontBook will be built when converting into
  FontResolverImpl.

- Provide a method with_fonts_mut() so user can get a direct mutable
  access to the under lying fonts vector to do any changes.

- Support searcher -> resolver and resolver -> searcher conversion.

* refactor: api change to biulder pattern

Method new_with_resolver() is added since CompilerUniverse only holds
Arc reference to resolver, and we can't move it out.

* fix: add fontdb::Database to SystemFontSearcher

Store fonts info in db, load them in bulk when calling flush()

* chore: merge `FontResolverImpl` and `TinymistFontResolver`

* feat: remove font profile feature

* feat: remove project font

* docs: comment the font resolver trait

* docs: comment the font slot struct

* docs: comment the crate

* test: move system tests

* dev: clean resolver

* dev: clean searchers

* dev: clean par iters

* feat: enrich memory font resolver

* todo: useless reuse

* dev: remove reuse api

* dev: build font book in `fn build`

* fix: make clippy happy

* fix: bad use

---------

Co-authored-by: c0per <60544162+c0per@users.noreply.github.com>
2025-04-15 22:23:13 +08:00
Myriad-Dreamin
769fc93df9
fix: remove system time deps from crates (#1621)
* fix: remove system time deps from crates

* fix: remove system time deps from crates

* fix: smater feature gate

* docs: add some todos

* Update time.rs

* Update Cargo.toml

* build: remove hard dep chrono
2025-04-08 01:46:05 +08:00
Myriad-Dreamin
b97335c0ef
fix: order to publish crates (#1609)
* fix: order to publish crates

* fix: bad version
2025-03-31 17:03:26 +08:00
Myriad-Dreamin
71116758ef
build: bump world crates to 0.13.12-rc1 (#1608)
* refactor: move `debug_loc`

* build: fix rev

* build: bump tinymist inner version

* build: bump tinymist world version

* build: bump world crates to 0.13.12-rc1

* fix: used bad patch

* fix: clippy errors
2025-03-31 16:01:51 +08:00
Myriad-Dreamin
90f9949f8c
feat: support --feature and --pdf-standard. (#1596) 2025-03-28 17:42:03 +08:00
Myriad-Dreamin
e4a4fc568f
fix: correct rename on unix platforms caused by pathdiff#8 (#1587)
* fix: correct rename on unix platforms caused by pathdiff#8

* fix: ensure all calls to pathdiff

* fix: names

* fix: file path on windows
2025-03-26 12:46:33 +08:00
Myriad-Dreamin
10ec787cc9
dev: stateful requests now accept snapshot (#1581)
* dev: stateful requests now accept snapshot

* dev: add some convenient methods

* dev: remove unused latest_doc state

* dev: use graph

* docs: comment

* fix: bad flag
2025-03-25 16:28:00 +08:00
Myriad-Dreamin
c8c891fbc3
feat: pass tests if warnings happens (#1535) 2025-03-19 12:02:40 +08:00
Myriad-Dreamin
4bb16b5b93
feat: watch tests and print test information (#1534)
* feat: test watch support

* feat: terminal printer

* feat: print coverage

* feat: update docs
2025-03-18 16:13:08 +08:00
Myriad-Dreamin
b4e5f4ff62
feat: add test framework with coverage support (#1518)
* feat: test framework with coverage support

* feat: clean up

* fix: dangling else block

* feat: implement show set

* feat: implement show replace content

* feat: compare framework

* feat: preserve extension

* feat: exit 1 if failed testing

* docs: update docs about it

* docs: wording

* docs: wording

* docs: wording
2025-03-17 22:41:33 +08:00
Myriad-Dreamin
478842c6bc
feat: exit if compile errors happen (#1512) 2025-03-16 16:41:04 +08:00
Myriad-Dreamin
bc5960ec39
feat: support l10n message with arguments (#1508)
* feat: support l10n message with arguments

* dev: edit message

* dev: edit message

* fix: message error
2025-03-15 12:50:50 +08:00
Myriad-Dreamin
7c78171987
build(pkg): bump version to 0.13.4-rc1 (#1433) 2025-03-01 23:17:54 +08:00
Myriad-Dreamin
6130a0062c
fix: apply memory changes to dedicate instances (#1371) 2025-02-22 20:54:18 +08:00
Myriad-Dreamin
d21ebc38dc
feat: bump typst to v0.13.0-rc1 (#1342)
* dev: use range type from lsp-types

* feat: add html document variant

* feat: use new-style bytes constructors

* fix: broken span usages

* fix: syntax kind is changed

* fix: label use pico str

* fix: bib element is changed

* fix: raw element is changed

* fix: typst use codex

* fix: package fn is removed from world trait

* feat: reflexo accept typst document

* docs: update changelog

* dev: cargo patch

* fix: typst pdf timestamp is changed

* fix: pattern is renamed to tiling

* dev: make eval compat

* test: update snapshots

* build: bump version to nightly 0.12.19-rc4

* build: bump version to 0.12.19-rc1 (#1164)

  * build update changelog

  * build: bump version to 0.12.19-rc1

* build: bump version to nightly 0.12.19-rc2 (#1221)

  * feat: update typst to `85d1778`

  * deps: lock git deps version

  * build: bump version to 0.12.19-rc2

  * docs: remove rc in changelog

  * fix: mathtext formatting of typstyle

  * fix: completion related to mathtext

  * build: update cargo.lock

* build: bump version to nightly 0.12.19-rc3 (#1232)

* build: bump version to nightly 0.12.19-rc4 (#1239)

* feat: add typst-html

* feat: add typst-html

* cargo patch

* fix: features doesn't take effect

* fix: casting

* fix: broken no-content-hint

* fix: snapshot

* fix: remove unnecessary `fs` feature

* fix: move system features feature

* feat: remove nightly shim

* test: update snapshot

* dev: nightly v0.12.21 (#1279)

* feat: update typst to `0ea6680`

feat: update typst to `0ea6680`

build: bump version to nightly 0.12.19 (#1261)

* fix: fix lint errors

* styl: fotmat

* fix: build web ci

* build: update cargo.toml

* build: bump version to nightly 0.12.21-rc1 (#1280)

* build: update typstyle & reflexo (#1336)

* build: update typstyle & reflexo

* dev: remove useless patches

---------

Co-authored-by: Myriad-Dreamin <camiyoru@gmail.com>

* build: update version

* fix: pdf gate were broken (#1285)

* fix: panic on convert_datetime (#1286)

* feat: run language sever with targeting html (#1284)

* dev: add some debug logging

* feat: html compilation

* fix: revert changes

* feat: adjust html interfaces

* feat: lock reflexo

* feat: provide exportTarget configuration

* feat: export html actions when target is html

* build: bump reflexo

* fix: system feature gate

* fix: feature gate 2

* fix: feature gate 3

* feat: make tinymist-world featured by lsp

* feat: text export over typst's HTML export (#1289)

* feat: add more doc, world, and task apis (#1290)

* feat: add num of pages method

* feat: add from_snapshot_inner method

* feat: add clear_dedicates method

* feat: more convertion traits

* feat: add doc_get_as_value method

* feat: add doc_get_as_value method

* feat: add cast_run method

* fix: set is compiling flag (#1293)

* feat: publish {tinymist-{derive,analysis,std,vfs,world,project},typlite,crityp} crates (#1310)

* build: bump version to 0.12.21-pre-rc1

* fix: deps

* build: set nightly in nightly branch

* docs: add readmes for publish

* feat: add release crates action

* dev: remove publish of sync-lsp

* dev: remove useless setup

* fix: remove readme

* fix: publish ignore errors

* fix: specify version for publish

* fix: specify version for publish

* feat: update tinymist-web version

* test: update snapshot

* fix: diverged deps

---------

Co-authored-by: ParaN3xus <136563585+ParaN3xus@users.noreply.github.com>
2025-02-21 03:18:04 +08:00
Myriad-Dreamin
d470cb061f
dev: remove some heavy logging (#1338) (#1340) 2025-02-20 01:48:42 +08:00
Myriad-Dreamin
497c82588d
dev: log vfs on didChanged (#1311) (#1332) 2025-02-20 00:47:16 +08:00
Myriad-Dreamin
0c64bea89e
fix: emit latest status and artifact with correct signals (#1294) (#1330)
* fix: emit latest compiled artifact with correct signals

* fix: bad guard
2025-02-19 22:34:11 +08:00
Hong Jiarong
47fff57cbb
fix: add tinymist-task/no-content-hint to tinymist-project (#1297) 2025-02-17 20:20:05 +08:00
Myriad-Dreamin
3799db6dd4
feat: split tinymist-task (#1277)
* feat: split tinymist-task

* cargo lock

* revert html changes

* Revert "revert html changes"

This reverts commit b82662e441.

* Revert "Revert "revert html changes""

This reverts commit b42643399c.

* fix: examples
2025-02-08 23:10:02 +08:00
Myriad-Dreamin
70d4d82cdb
feat: move snapshot structs to tinymist-world (#1275)
* feat: move snapshot structs to tinymist-world

* fix: new typst compile

* Revert "fix: new typst compile"

This reverts commit 1d181cd48d.

* Revert "Revert "fix: new typst compile""

This reverts commit 12fe1fbfb0.

* fix: broken link

* fix: broken example
2025-02-08 19:58:01 +08:00
Myriad-Dreamin
9864d438c9
feat: remove uses of CompileEnv and Compiler (#1272)
* feat: remove uses of `CompileEnv` and `Compiler`

* build: update cargo.lock

* fix: new typst

* Revert "fix: new typst"

This reverts commit ca624d391a.

* Revert "Revert "fix: new typst""

This reverts commit 012d3cff03.
2025-02-08 15:15:13 +08:00
Myriad-Dreamin
6b31d4418d
feat: store raw diag in error (#1271) 2025-02-08 15:11:48 +08:00
Myriad-Dreamin
5b2b34ee9e fix: make preview feature gate work 2025-02-08 14:55:47 +08:00
Myriad-Dreamin
3bc5f19cf5
feat: convert TypstDocument to enum (#1256)
* feat: convert `TypstDocument` to enum

* fix: errors

* build: update cargo.lock

* fix: warnings

* fix: error

* html changes

* Revert "html changes"

This reverts commit f9fc0e4872.

* Revert "Revert "html changes""

This reverts commit 7dc554a9e4.

* use std typst docs

* span

* paged

* paged

* html change

* paged

* html change

* bytes

* paged

* paged

* paged

* html changes

* paged

* html changes

* paged
2025-02-03 11:17:58 +08:00
Myriad-Dreamin
88912bc12e
feat: prepublish tinymist-world (#1248) 2025-02-02 14:51:49 +08:00
Myriad-Dreamin
36d07464c1
refactor: tail log error that is ignorable (#1244) 2025-02-02 13:59:55 +08:00
Myriad-Dreamin
2b56e71435
feat: watch dependencies of multiple projects (#1231) 2025-01-30 01:44:57 +08:00
Myriad-Dreamin
8d588c1057
fix: correct impl WorldProvider::entry for CompileOnceArgs (#1230) 2025-01-30 00:26:12 +08:00
Myriad-Dreamin
0451a1089d
dev: handle compilation notifications for multiple projects (#1229)
* dev: handle multiple-project notifications

* dev: remove todo
2025-01-30 00:25:59 +08:00
Myriad-Dreamin
af47f578e4
dev: cleanup project creation (#1227) 2025-01-29 20:57:34 +08:00
Myriad-Dreamin
7647d807ec
feat: replace diag_group id with project_id (#1224) 2025-01-29 19:40:31 +08:00
Myriad-Dreamin
0b4014be80
feat: CLI generate shell build script (#1219)
* feat: CLI generate shell build script

* dev: update build script sample
2025-01-28 15:13:59 +08:00
Myriad-Dreamin
b541daf50e
feat: CLI compile documents with lock updates (#1218) 2025-01-28 13:57:27 +08:00
Myriad-Dreamin
1b80d8c31d
feat: execute export and query on the task model (#1214)
* feat: extract id and doc id from config

* dev: merge `TaskWhen` and move `PathPattern`

* g

* dev: let it compile

* dev: rename a bit

* dev: finish cmd conversions

* dev: configure server

* dev: run export

* dev: clean code

* dev: parse gap on export

* fix: when test
2025-01-27 13:14:17 +08:00
Myriad-Dreamin
86d3b912d4
fix: try getting font index which is hit by comemo (#1213) 2025-01-27 09:58:24 +08:00
Myriad-Dreamin
0a91f0d2b4
refactor: rearrange state crates (#1205)
* refactor: rearrange states

* feat: remove MemoryFileMeta

* feat: split server.rs
2025-01-21 01:32:19 +08:00
Myriad-Dreamin
ac25cc1365
refactor: rearrangement and document about tinymist-project (#1204)
* refactor: rearrangement and document about tinymist-project

* refactor: more rearrangement and document about tinymist-project
2025-01-21 00:56:30 +08:00