Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daskol/typstd
A plain and simple language server for Typst markup language.
https://github.com/daskol/typstd
language-server typst typst-lsp
Last synced: 2 months ago
JSON representation
A plain and simple language server for Typst markup language.
- Host: GitHub
- URL: https://github.com/daskol/typstd
- Owner: daskol
- License: apache-2.0
- Created: 2024-01-01T00:33:49.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-24T21:35:36.000Z (5 months ago)
- Last Synced: 2024-10-18T19:07:22.731Z (3 months ago)
- Topics: language-server, typst, typst-lsp
- Language: Rust
- Homepage:
- Size: 79.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-typst - typstd - Yet another Typst language server. (Integrations & Tools / Editor Integrations)
README
# Typstd
![Linting and testing][1]
[1]: https://github.com/daskol/typstd/actions/workflows/on-push.yml/badge.svg
## Overview
**Typstd** is a pretty simple language server for [Typst][2] markup language.
Its distinctive feature is workspace management and completion for global
objects which are defined out of scope of text document in focus (e.g.
bibliography references).[2]: https://github.com/typst/typst
### Workspace
In order to determine entrypoints for compilation one can define `typst.toml`
configuration file which enumerates targets for rendering.```toml
[[document]]
name = "typstd"
version = "0.0.0"
entrypoint = "main.typ"
authors = ["Daniel Bershatsky "]
license = "MIT"
description = "Plain and simple language server for Typst markup language."
repository = "https://github.com/daskol/typstd"
keywords = ["language-server", "languager-server-protocol", "lsp", "typst"]
```### Neovim
```lua
-- Default capabilities with `nvim-cmp` package.
local capabilities = require('cmp_nvim_lsp').default_capabilities()
lspconfig_configs['typstd'] = {
default_config = {
name = 'typstd',
filetypes = { 'typst' },
cmd = { 'typstd' },
cmd_env = {},
single_file_support = true,
capabilities = capabilities,
}
}
```### Telemetry
Tracing configuration can be adjusted either though CLI flags or with
environment variable `TYPSTD_LOG`.In compile time one should enable feature `telemetry` then run OpenTelemetry
collector. Perhaps the easiest way to start collector is running it in docker
container.```shell
docker run -p 4317:4317 otel/opentelemetry-collector-dev:latest
```