Commit graph

53 commits

Author SHA1 Message Date
QuadnucYard
c26dc8de85
feat: add new pdf opts and image page number template to exporter (#2281)
Enhanced the exporter tool:
- For PDF format, added `pdf.pdfVersion`, `pdf.pdfValidator` and
`pdf.pdfTags`. `pdf.pdfVersion`, and `pdf.pdfValidator` will be combined
into `pdfStandard`, and `pdf.pdfTags` will be inverted into `noPdfTags`.
- Use `datetime-local` input for `pdf.pdfCreationTimestamp`.
- For image formats, added `pageNumberTemplate` option, since we cannot
customize that with output path for now.

<img width="1028" height="391" alt="image"
src="https://github.com/user-attachments/assets/1c0c44c9-0ea3-4f7c-a316-5a2746cb8a96"
/>

---------

Co-authored-by: Myriad-Dreamin <camiyoru@gmail.com>
2025-12-07 20:00:26 +08:00
Copilot
0714d19e29
feat: add c alias for compile command (#2261)
Some checks failed
tinymist::auto_tag / auto-tag (push) Has been cancelled
tinymist::ci / Duplicate Actions Detection (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::ci / prepare-build (push) Has been cancelled
tinymist::gh_pages / build-gh-pages (push) Has been cancelled
tinymist::ci / announce (push) Has been cancelled
tinymist::ci / build (push) Has been cancelled
Adds `c` as an alias for the `compile` subcommand to match `typst-cli`
behavior where `c = compile`.

## Changes

- Added `#[clap(alias = "c")]` attribute to the `Compile` command
variant
- Added test coverage for `tinymist c --help` and actual compilation via
alias

## Usage

```bash
# Both commands now work identically
tinymist compile input.typ output.pdf
tinymist c input.typ output.pdf
```

<!-- START COPILOT CODING AGENT SUFFIX -->



<details>

<summary>Original prompt</summary>

> 
> ----
> 
> *This section details on the original issue you should resolve*
> 
> <issue_title>Support command alias `c` in tinymist-cli</issue_title>
> <issue_description>### Motivation
> 
> As `typst-cli` has a alias `c = compile`, `tinymist compile` receives
exactly same arguments as `typst compile`, it will be suprise if the
alias itself is not supported.
> 
> May not also applies to other subcommands.
> 
> If this is feasible, I'd be willing to write a PR. This should be
easy.
> 
> ### Description
> 
> _No response_
> 
> ### More Examples/Questions
> 
> _No response_</issue_description>
> 
> ## Comments on the Issue (you are @copilot in this section)
> 
> <comments>
> </comments>
> 


</details>

- Fixes Myriad-Dreamin/tinymist#2259

<!-- START COPILOT CODING AGENT TIPS -->
---

 Let Copilot coding agent [set things up for
you](https://github.com/Myriad-Dreamin/tinymist/issues/new?title=+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Myriad-Dreamin <35292584+Myriad-Dreamin@users.noreply.github.com>
2025-11-20 03:29:31 +08:00
QuadnucYard
a42700c04b
feat: export tool with page/text preview features (#2182)
Added an editor tool to export and preview documents, with all
configurable options.

Not supported: output path customization (requires changes in server)

<img width="1381" height="1458" alt="image"
src="https://github.com/user-attachments/assets/d27e6e19-bcf4-4d1a-a20e-9bea0258be24"
/>
<img width="1392" height="877" alt="image"
src="https://github.com/user-attachments/assets/53d93601-3e05-4e36-b4fd-26384fda1347"
/>

---------

Co-authored-by: Myriad-Dreamin <camiyoru@gmail.com>
2025-11-17 21:59:12 +08:00
Myriad-Dreamin
9d5beb196b
feat: minimal viable support for syntax-only mode (#2247)
Configure whether to enable syntax-only mode for the language server. In
syntax-only mode, the language server will only provide syntax checking
and basic code completion, but will not perform full document
compilation or code analysis. This can be useful for improving
performance on low-end devices, devices under power-saving mode, or when
working with large documents.

Default behavior: Always disable syntax-only mode. The strategy may be
changed in the future, for example, automatically enable syntax-only
mode when the system is in power-saving mode.

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-11-16 08:30:20 +08:00
Myriad-Dreamin
7c00eba127
feat: introspect and show complation statistics happening in the language server (#1958)
Some checks are pending
tinymist::auto_tag / auto-tag (push) Waiting to run
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
Adds capability to introspect complations happening in the language
server, to help improve efficiency. I expect most compilations are
caused by tracing for analyzing dynamic expressions, but I haven't
really profiled a document. Then introspection will help confirm or
refute the expectation.
2025-11-03 19:28:42 +08:00
QuadnucYard
f13532964d
feat: update symbol list and preserve definition order (#2217)
Some checks are pending
tinymist::auto_tag / auto-tag (push) Waiting to run
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
- Updated symbols to the latest. Simplified category map initialization.
- Preserve the definition order of symbols. This is more natural.

There are still issues with symbol rendering and clipping, but that will
not be covered here.

<img width="1255" height="583" alt="image"
src="https://github.com/user-attachments/assets/4bdfdcb6-25b4-4821-85fd-50e945871b32"
/>
<img width="1220" height="409" alt="image"
src="https://github.com/user-attachments/assets/22124806-db58-42d7-b834-96508199fcb5"
/>
2025-11-03 02:13:58 +08:00
QuadnucYard
4c8d34cdb2
feat: generate resource symbol svg in server and improve viewBox (#2109)
Some checks are pending
tinymist::auto_tag / auto-tag (push) Waiting to run
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
- feat: move symbol svg generation logic from client to client, and
directly display svg elements instead of mask-image. This significantly
boosts loading speed.
- fix: use font ascender and descender to bound view box, avoid
clipping.
2025-09-10 19:17:06 +08:00
QuadnucYard
4ebdd906c2
feat: revamp symbol view and add optional details (#2101)
Some checks are pending
tinymist::auto_tag / auto-tag (push) Waiting to run
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
- Restructured files.
- Render non-printable symbols, following typst documentation's
convention.
- Add a toggle to show details: symbol name and unicode, both of which
can be copied to clipboard on click.
- Make detypify import async, so that it will not block symbol
rendering.
- Show detypify canvas only when available.

<img width="1289" height="421" alt="image"
src="https://github.com/user-attachments/assets/ed6469c4-57a0-4d17-a4be-206875a03e43"
/>

<img width="1238" height="632" alt="image"
src="https://github.com/user-attachments/assets/e6bba758-7836-4230-9ab9-f9550454b4de"
/>

---------

Co-authored-by: Myriad-Dreamin <camiyoru@gmail.com>
2025-09-10 11:27:44 +08:00
Myriad-Dreamin
6e386e2838
feat: use card/button styles from vscode themes (#2100) 2025-09-02 11:10:43 +08:00
QuadnucYard
8d4052e612
feat: revamp font view with more features and better styles (#2060)
## Features

- Added font filters.
- Greatly improved styles. Now it follows the VSCode theme.
- Added tailwindcss-like utility classes.

<img width="713" height="941" alt="3H L7HDJOZ`X(UJU)L2PEYS"
src="https://github.com/user-attachments/assets/2a239bde-e01e-497c-803e-3d1c958319b6"
/>
2025-09-02 10:02:32 +08:00
Myriad-Dreamin
1c9db1ce69
build: make use of async io of js to speed up vscode builds (#2069)
Some checks are pending
tinymist::auto_tag / auto-tag (push) Waiting to run
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
2025-08-31 18:34:20 +08:00
Myriad-Dreamin
9bb784e6f0
feat: run prettier correctly (#1893) 2025-07-09 19:34:57 +08:00
Myriad-Dreamin
d6d3766b6f
feat: add command to profile the entire server (#1438)
* feat: declare and bind tinymist.profileServer command

* feat: editor bridge with the frontend

* feat: start and stop server profiling

* feat: add profile-server prototype (#1440)

* Add profile-server prototype

* fix: use branch

---------

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

* feat: make it good

* build: update cargo.lock

* dev: ls profile impl and hook

* test: update snapshot

---------

Co-authored-by: Derived Cat <hooyuser@outlook.com>
2025-05-09 15:29:24 +08:00
Myriad-Dreamin
20746e3acd
feat: improve ArgSlots a bit (#1479) 2025-03-10 17:42:23 +08:00
Yifan Song
672a95c908
feat: search in template gallery (#922)
* feat: Search Gallery by name

* dev: use minisearch

* feat: highlight search

* feat: all query terms for highlight

---------

Co-authored-by: Myriad-Dreamin <camiyoru@gmail.com>
2024-12-03 12:23:34 +08:00
Myriad-Dreamin
3c98d574a2
feat: provide elementary font view (#932)
* dev: font view

* dev: tune functionality

* dev: add a todo
2024-12-03 12:20:27 +08:00
Caleb Maclennan
6f4aba4aa8 chore: Fix typos throughout code base (automatic)
This is all the typos that `typos` is confident can just be fixed
automatically, minus the overrides added to the manifest for the false
positives I found.
2024-11-25 09:26:53 +08:00
Myriad-Dreamin
5ce0a8feba
fix: enclose fallback docs in code block (#828) 2024-11-15 20:59:26 +08:00
Myriad-Dreamin
adbf05d366
fix: rename export_again to is_external (#777) 2024-11-08 16:16:01 +08:00
Myriad-Dreamin
3da56a4dd2
fix: range error when converting huge base64 strings (#774) 2024-11-08 15:55:57 +08:00
summerBreeze630
5dd1226cdc
dev: complete symbol classification in handwriting recognizer (#705)
* dev: complete symbol classification in handwriting recognizer

* dev: update symbol category

---------

Co-authored-by: Myriad-Dreamin <camiyoru@gmail.com>
2024-10-29 11:19:48 +08:00
Myriad-Dreamin
2c38695b6f
docs: maintain readme and command docs (#733)
* docs: maintain readme and command docs

* docs: update inline images

* test: update snapshot

* test: update baseline

* test: update baseline
2024-10-26 22:47:12 +08:00
Myriad-Dreamin
7a54bc1030
feat: {en,de}code base-64 strings with Text{De,En}coder (#719) 2024-10-21 13:23:08 +08:00
Myriad-Dreamin
a3f100e7cb
refactor: change PrimarySignature structure to merge type checking info (#687)
* dev: support spread left params

* dev: stage merge

* dev: remove ParamSpecShort

* chore: remove useless code

* dev: merge all things back

* fix: testing

* fix: testing

* remove: useless method
2024-10-16 14:35:24 +08:00
Myriad-Dreamin
b9da92175e
dev: merge signature docs and rest docs (#685)
* dev: deduplicate code

* dev: merge signature docs and rest docs

* dev: change struct of the `DocString`

* dev: improve structure of SymbolDocs
2024-10-16 11:16:16 +08:00
Myriad-Dreamin
ae08ce8723
feat: send trace data via http instead of lsp stdio (#660) 2024-10-11 15:27:23 +08:00
Myriad-Dreamin
f3ccb4a186
build: bump version to 0.11.22 (#611)
* build: bump version to 0.11.22

* fix: bugs in package view

* feat: check release version for nightly releases
2024-09-28 07:38:25 +08:00
Myriad-Dreamin
78f3893185
feat: provide package view and local documentation (#596)
* feat: move featured components

* feat: provide package view and local documentation

* stage

* fix: compile error by merged commits
2024-09-12 21:17:07 +08:00
Myriad-Dreamin
22aea0e075
dev: intern vscode-variable package (#460)
* dev: intern vscode-variable package

* dev: add vitest

* dev: add tests

* fix: a bug

* dev: less global state

* dev: less bug-prone construction
2024-07-26 12:47:26 +08:00
Myriad-Dreamin
7aca6a657f
test: add editor-side e2e testing (#441)
* test: first runnable editor e2e

* test: first smoke testing

* fix: a bug found by editor e2e

* test: add completion e2e testing

* test: add diagnostics and focus e2e testing

* feat: test extension in ci

* dev: remove one useless dependency

* dev: setup x server for testing

* dev: recover stable test

* test: add multiple preview e2e testing
2024-07-20 18:52:15 +08:00
7sDream
8784a07b2b
feat: add font list export panel in summary tool (#322)
* feat(vscode/summary): add font list export pannel

* feat: json/csv format,  export to file and state persistence
2024-06-17 17:17:11 +08:00
Myriad-Dreamin
caaeb8efe8
fix: errors on debugging frontend (#297) 2024-05-17 17:07:45 +08:00
Myriad-Dreamin
6b9bd73d8a
build: uses types declaration in detypify (#277) 2024-05-12 17:00:35 +08:00
Myriad-Dreamin
99aed49f8d
build: install detypify service from npm (#275)
* dev: install detypify service

* build: remove manual detypify assets downloading

* build: add types declaration for detypify
2024-05-12 01:06:54 +08:00
Myriad-Dreamin
d9df64bca7
feat: make compile-based symbol resolver (#269)
* feat: use new symbol resolver

* feat: render emojis in symbol view
2024-05-09 12:33:19 +08:00
Myriad-Dreamin
1814f42165
fix: symbol view issues (#224) 2024-05-04 13:56:25 +08:00
Myriad-Dreamin
5fdf3353b7
build: bump version to 0.11.6 (#219)
* dev: add help and acknowledgement about symbol view

* dev: add changelog for  0.11.6

* build: bump version to 0.11.6
2024-04-27 10:49:18 +08:00
Myriad-Dreamin
bbc6e3e4e9
feat: complete symbol view (#218)
* dev: make detypify work

* dev: add symbol view

* fix: some bugs in symbol picker

* dev: make names correct

* dev: add help panel in symbol picker

* feat: paste the sym directly into the source position

* dev: tuning the detail

* dev: remove debug logging

* dev: recover mock

* docs: improve accessibility

* dev: change symbol picker to symbol view

* dev: download detypify assets

* dev: fix download script
2024-04-27 09:58:58 +08:00
Myriad-Dreamin
786814b09c
build: bump version to 0.11.5 (#207)
* build: update changelog

* build: bump version to 0.11.5
2024-04-20 19:33:47 +08:00
Myriad-Dreamin
68ce4701c6
build: bump version to 0.11.4 (#191)
* build: update changelog

* build: bump version to 0.11.4

* docs: update readme

* docs: update wording
2024-04-15 01:34:38 +08:00
QuarticCat
ebed95cbcd
fix: improve release profile & fix typos (#177)
* dev: split a gh-release profile to accelerate development

* fix: many typos

* fix: miri warnings

* fix: update fixtures
2024-04-10 11:34:18 +08:00
Myriad-Dreamin
da70c0d31c
build: bump version to 0.11.3 (#172)
* build: update readme and changelog for update

* build: bump version to 0.11.3

* dev: remove a dirty console log

* dev: update changelog
2024-04-06 19:46:41 +08:00
Myriad-Dreamin
7613712137
feat: support tracing execution in current document (#166)
* feat: support tracing execution in current document

* dev: improve frontend appearence

* fix: word grammar

* dev: update snapshot
2024-04-06 13:32:11 +08:00
Myriad-Dreamin
703c8b4c1d
dev: collect server information for summary (#162)
* dev: collect server information for summary

* dev: humanize font variant to show

* fix: let focus state correct
2024-04-05 13:18:36 +08:00
Myriad-Dreamin
36eea552ac
feat: initialize symbol picker (#155)
* feat: initialize symbol picker

* dev: update snapshot

* dev: remove mock
2024-04-04 10:33:25 +08:00
Myriad-Dreamin
3945c59be1
dev: reduce information to show in summary page (#154) 2024-04-04 09:49:54 +08:00
Myriad-Dreamin
7e453872b1
dev: init summary page (#137)
* feat: add summary frontend

* dev: init summary page

* build: update cargo.lock

* feat: init diagnostics frontend

* build: update snapshot hash
2024-04-01 10:16:26 +08:00
Myriad-Dreamin
1cd6e03529
feat: add tracing frontend (#98) 2024-03-26 10:54:47 +08:00
Myriad-Dreamin
5d123221db
fix: two bugs during initializing template (#65)
* fix: show packages only if it is favorited

* fix: vscode dark theme detection
2024-03-18 12:00:16 +08:00
Myriad-Dreamin
512d33b734
feat: add favorite function in template gallery (#61) 2024-03-17 16:56:54 +08:00