Myriad-Dreamin
3a4fa98b42
feat: implement delegate access model ( #1943 )
...
This is to avoid touching underlying file system if the extension is run
with liveshare.
2025-07-31 01:21:17 +08:00
Myriad-Dreamin
f9c348c7d7
feat: introduce dyn access model for futher development ( #1898 )
...
prepare for #1413 and #836
2025-07-31 00:30:13 +08:00
moeleak
3821861134
fix: correctly handle relative user-specified output paths in compile command ( #1941 )
...
This change ensures that user-specified output paths in the compile
command are properly handled, including relative paths.
Previously, the export task would reject relative output paths with an
error. This change converts relative paths to absolute paths by joining
them with the current working directory, allowing users to specify
relative paths like 'output/test.pdf' when compiling documents.
The fix adds path normalization using PathClean and handles the
conversion gracefully while maintaining the existing behavior for
absolute paths.
Fixes the issue where commands like:
tinymist compile resume-en.typ ./output/test.pdf
would fail with "output path is relative" error.
2025-07-30 21:35:36 +08:00
Myriad-Dreamin
75fc5f3bca
fix: emit onSaved signal to exporter when vfs is clean ( #1939 )
...
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 / prepare-build (push) Waiting to run
tinymist::ci / announce (push) Blocked by required conditions
tinymist::ci / build (push) Blocked by required conditions
tinymist::gh_pages / build-gh-pages (push) Waiting to run
This bugs involves two main component: the compiler and the exporter,
the compiler compiles first and then exporter exports then. it is useful
to emit `CompileSignal::by_fs_events` to exporter even if vfs is clean
at the time we save a document.
An example triggering this bug. When user sets `exportPdf` to `onSave`,
It *bugged*:
1. OnTyped first: User types some character at T1. compiler learns that
the file content is of revision R1. the compiler compiles with revision
R1, which is needed by diagnostics event.
2. OnSaved then: Editor saves the document at T2. the compilation is
skipped early because file content is still under revision R1. In
previous version, The compilation is skipped and therefore the export is
also skipped. This is *bugged* if user sets `exportPdf` to `onSave`,
because the exporter is not run in both steps.
This PR emits the onSaved signals to both the compiler and the exporter
in the step 2.
2025-07-30 04:49:30 +08:00
Myriad-Dreamin
d59a15df1a
build: bump version to 0.13.16 ( #1934 )
2025-07-29 15:16:18 +08:00
Myriad-Dreamin
9181619e95
build: bump version to 0.13.16-rc3 ( #1928 )
...
tinymist::ci / Duplicate Actions Detection (push) Has been cancelled
tinymist::ci / prepare-build (push) Has been cancelled
tinymist::ci / Check Clippy, Formatting, Completion, Documentation, and Tests (Linux) (push) Has been cancelled
tinymist::ci / Check Minimum Rust version and Tests (Windows) (push) Has been cancelled
tinymist::gh_pages / build-gh-pages (push) Has been cancelled
tinymist::ci / build-vscode (push) Has been cancelled
tinymist::ci / build-vscode-others (push) Has been cancelled
tinymist::ci / publish-vscode (push) Has been cancelled
tinymist::ci / build-binary (push) Has been cancelled
tinymist::ci / build-vsc-assets (push) Has been cancelled
tinymist::ci / E2E Tests (win32-x64 on windows-latest) (push) Has been cancelled
tinymist::ci / E2E Tests (darwin-arm64 on macos-latest) (push) Has been cancelled
tinymist::ci / E2E Tests (linux-x64 on ubuntu-22.04) (push) Has been cancelled
tinymist::ci / E2E Tests (linux-x64 on ubuntu-latest) (push) Has been cancelled
tinymist::ci / E2E Tests (win32-x64 on windows-2022) (push) Has been cancelled
* build: bump version to 0.13.16-rc3
* build: update asset crates
2025-07-26 17:54:25 +08:00
Myriad-Dreamin
3c40385cd2
build: bump version to 0.13.16-rc2 ( #1919 )
...
* build: bump version to 0.13.16-rc2
* docs: update changelog
* fix: update reflexo versions
* build: bump asset crates
2025-07-24 01:37:42 +08:00
Myriad-Dreamin
e6c1894ce4
build: bump world crates to 0.13.16-rc1 ( #1905 )
...
* docs: update changelog
* build: bump world crates to 0.13.16-rc1
* build: bump reflexo crates to pre v0.6.1-rc2
2025-07-16 12:28:05 +08:00
Myriad-Dreamin
0849d6c641
feat: compilation respect SOURCE_DATE_EPOCH ( #1631 )
...
* Changes before error encountered
Co-authored-by: Myriad-Dreamin <35292584+Myriad-Dreamin@users.noreply.github.com>
* feat: errors caused by copilot
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-07-09 19:09:58 +08:00
Myriad-Dreamin
d0a478929e
fix: don't export on entry change and first filesystem sync ( #1854 )
...
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