When `f` is a scope with at least one member:
- completes `#f` as `#f()` if `f` will never be a type or element
(merely a function).
- Otherwise, completes `#f` as `#f` and adds a variant `#f.paren`
completed as `#f(|)` or `#f()|`
This excepts for the following cases:
- When the surrounding syntax doesn't like parentheses (for example,
function fields)
> Complete the field name along with its value. Notes:
> No parentheses since function fields cannot currently be called
> with method syntax;
- When the surrounding syntax requires parentheses, for example set
rules, e.g. `#set r|` is completed as `#set raw(|)`.
The GitHub Action builds for Alpine containers (`alpine-{x64,arm64}`)
were producing warning messages that cluttered the build logs:
```
warning: tinymist-core@0.13.18: not within a suitable 'git' worktree!
warning: tinymist-core@0.13.18: VERGEN_GIT_DESCRIBE set to default
warning: tinymist-core@0.13.18: VERGEN_GIT_SHA set to default
```
These warnings occurred because the vergen crate was attempting to
access git repository information in containerized environments where
the full git history wasn't available due to shallow cloning.
**Root cause:** The Alpine workflow was using `actions/checkout@v4` with
default settings, which performs a shallow clone that doesn't include
the full git history that vergen needs for `git_describe` functionality.
**Solution:** Added `fetch-depth: 0` to the checkout step in the Alpine
workflow to ensure the full git history is available during builds. Git
is already properly installed in the Alpine environment via `apk add
--no-cache git`.
This approach maintains consistent behavior across all build
environments while eliminating the warnings in Alpine container builds.
The `tinymist --version` command continues to show proper git
information when available.
Fixes#1983.
<!-- START COPILOT CODING AGENT TIPS -->
---
💡 You can make Copilot smarter by setting up custom instructions,
customizing its development environment and configuring Model Context
Protocol (MCP) servers. Learn more [Copilot coding agent
tips](https://gh.io/copilot-coding-agent-tips) in the docs.
---------
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>
Co-authored-by: Myriad-Dreamin <camiyoru@gmail.com>
Thanks for making this awesome extension. I find it very useful.
This PR suggests a small rewording for a sentence. With this, I hope it
becomes a bit clearer what the command does. This is also closer to
Google Translate's translation of "将主文件固定到当前打开的文档".
When passing configuration items with null values, the default
configurations are used. Note: I don't ensure this to be always true,
some configuration items may have different non-default behaviors when
accepting a null value now or in future. The `deserialize_null_default`
is taken from https://github.com/serde-rs/serde/issues/1098.
Configuration parsing changes:
+ some configurations only accepting boolean now coerce null to `false`
(default).
+ some configurations only accepting an object now coerce null to
default.
+ The `tinymist.preview.invertColors` now now coerces null to `"never"`
(default).
Since #1807 , VS Code pops up a warning when starting tinymist:
<img width="464" height="162" alt="image"
src="https://github.com/user-attachments/assets/aeefac88-5515-4dcd-be52-82e402db74c5"
/>
Because the default value was not set, it's trying to deserialize a
`null`. I complete the corresponding configuration entry in the VS Code
extension's package.json and package.other.json with default value
"never".
`tinymist.preview.refresh` should work.
- [x] ensure that `--refresh-style` is respected
- [x] not need to pass `--refresh-style` in
extension/src/features/preview.ts
- [x] ensure configuration to work
+ use `GITHUB_TOKEN` to checkout tinymist in `release-nightly.yml`.
Therefore, GitHub Actions should be granted write permission.
+ tag directives must start from the line start.
+ use the same bot name and email in actions.
This PR introduces multiple GitHub Actions to automate the release
procedure. In brief, it contains:
- **For nightly releases**: A fully automated GitHub Action that updates
dependencies (including dependencies of typstyle, typst.ts, and
typst-ansi-hl), releases nightly RC (aka canary version in the action
script) and nightly builds, along with its helper script (which can also
be useful for manually updating versions).
- **For stable releases**: Two GitHub Actions, one that detects newly
opened PRs containing tagging directives (`+Tag vx.y.z-rcw`) and leaves
comments, and another that detects merged tagging PRs and performs the
actual tagging.
Examples:
- Nightly release:
4708018995
- Stable release: ParaN3xus/tinymist#1, ParaN3xus/tinymist#2
Extra work needed to merge this PR:
- [ ] Remove all `nightly/*` branches and create `nightly` branch
- [ ] Add `NIGHTLY_REPO_TOKEN` secret to this repo
---------
Co-authored-by: Myriad-Dreamin <camiyoru@gmail.com>
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.
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.