In addition to the work from #1908, the following have been added:
- Attempted to fix the typlite issue, see #1911
- Updated Rust toolchain to 1.88 to align with upstream Rust version
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".