docs: maintain docs for tinymist 0.12.2 (#825)

This commit is contained in:
Myriad-Dreamin 2024-11-15 14:17:43 +08:00 committed by GitHub
parent da1e68ad1f
commit 9f36fea62b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 46 additions and 12 deletions

View file

@ -29,6 +29,7 @@ Language service (LSP) features:
- Or ctrl+click on a symbol.
- #link("https://code.visualstudio.com/api/language-extensions/programmatic-language-features#show-hovers")[Hover tips]
- Also known as "hovering tooltip".
- Render docs according to #link("https://github.com/Mc-Zen/tidy")[tidy] style.
- #link("https://www.jetbrains.com/help/idea/inlay-hints.html")[Inlay hints]
- Inlay hints are special markers that appear in the editor and provide you with additional information about your code, like the names of the parameters that a called method expects.
- #link("https://code.visualstudio.com/api/language-extensions/programmatic-language-features#show-color-decorators")[Color Provider]
@ -41,10 +42,12 @@ Language service (LSP) features:
- #link("https://code.visualstudio.com/api/language-extensions/programmatic-language-features#show-all-symbol-definitions-in-folder")[Workspace Symbols]
- #link("https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-code-actions")[Code Action]
- Increasing/Decreasing heading levels.
- Turn equation into "inline", "block" or "multiple-line block" styles.
- #link("https://github.com/rust-lang/rust-analyzer/blob/master/docs/dev/lsp-extensions.md#on-enter")[experimental/onEnter]
- #kbd("Enter") inside triple-slash comments automatically inserts `///`
- #kbd("Enter") in the middle or after a trailing space in `//` inserts `//`
- #kbd("Enter") inside `//!` doc comments automatically inserts `//!`
- #kbd("Enter") inside equation markups automatically inserts indents.
Extra features:

View file

@ -87,6 +87,14 @@ Nightly Channel:
Please read the #link("CONTRIBUTING.md")[CONTRIBUTING.md] file for contribution guidelines.
== Maintainers
Get list of maintainers from #link("https://github.com/Myriad-Dreamin/tinymist/blob/main/MAINTAINERS.typ")[MAINTAINERS.typ]. Or programmatically by `yarn maintainers`
#note-box[
You can add extra arguments for specific information. For example, `yarn maintainers --input="action=maintainers"`.
]
== Acknowledgements
- Partially code is inherited from #link("https://github.com/nvarner/typst-lsp")[typst-lsp]

View file

@ -15,21 +15,24 @@ From the directory structure of `crates/tinymist`, the `main.rs` file parses the
```rust
match args.command.unwrap_or_default() {
Commands::Query(query_cmds) => query_main(query_cmds),
Commands::Lsp(args) => lsp_main(args),
Commands::Compile(args) => compiler_main(args),
Commands::TraceLsp(args) => trace_lsp_main(args),
Commands::Preview(args) => tokio_runtime.block_on(preview_main(args)),
Commands::Probe => Ok(()),
}
```
The `query` subcommand contains the query commands, which are used to perform language queries via cli, which is convenient for debugging and profiling single query of the language server.
There are three servers in the `server` directory:
- `lsp.rs` provides the language server, initialized by `lsp_init.rs` and owns commands in `lsp_cmd.rs`.
- `compiler.rs` provides the compiler server, initialized by `compiler_init.rs` and owns commands in `compiler_cmd.rs`.
- `preview.rs` provides a `typst-preview` compatible preview server.
- `lsp` provides the language server, initialized by `lsp_main` in `main.rs`.
- `trace` provides the trace server (profiling typst programs), initialized by `trace_lsp_main` in `main.rs`.
- `preview` provides a `typst-preview` compatible preview server, initialized by `preview_main` in `tool/preview.rs`.
The long-running servers are contributed by the modules in the `server` directory.
The long-running servers are contributed by the `LanguageState` in the `server.rs` file.
They will bootstrap actors in the `actor` directory.
They will bootstrap actors in the `actor` directory and start tasks in the `task` directory.
They can construct and return resources in the `resource` directory.