plugins.lsp.servers.tinymist.settings

The settings for this LSP.

Type: attribute set of anything

Default: { }

Example:

{
  callback = {
    __raw = ''
      function()
        print('nixvim')
      end
    '';
  };
  foo_bar = 42;
  hostname = "localhost:8080";
}

Declared by:

plugins.lsp.servers.tinymist.settings.compileStatus

In VSCode, enable compile status meaning that the extension will show the compilation status in the status bar.

Since neovim and helix don’t have a such feature, it is disabled by default at the language server level.

Type: null or one of “disable”, “enable” or raw lua code

Default: null

Plugin default: "disable"

Declared by:

plugins.lsp.servers.tinymist.settings.exportPdf

The extension can export PDFs of your Typst files. This setting controls whether this feature is enabled and how often it runs.

  • auto: Select best solution automatically. (Recommended)
  • never: Never export PDFs, you will manually run typst.
  • onSave: Export PDFs when you save a file.
  • onType: Export PDFs as you type in a file.
  • onDocumentHasTitle: Export PDFs when a document has a title (and save a file), which is useful to filter out template files.

Type: null or one of “auto”, “never”, “onSave”, “onType”, “onDocumentHasTitle” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.lsp.servers.tinymist.settings.fontPaths

Font paths, which doesn’t allow for dynamic configuration. Note: you can use vscode variables in the path, e.g. $\{workspaceFolder}/fonts.

Type: null or (list of (string or raw lua code))

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.tinymist.settings.formatterMode

The extension can format Typst files using typstfmt or typstyle.

  • disable: Formatter is not activated.
  • typstyle: Use typstyle formatter.
  • typstfmt: Use typstfmt formatter.

Type: null or one of “disable”, “typstyle”, “typstfmt” or raw lua code

Default: null

Plugin default: "disable"

Declared by:

plugins.lsp.servers.tinymist.settings.formatterPrintWidth

Set the print width for the formatter, which is a soft limit of characters per line. See the definition of Print Width.

Note: this has lower priority than the formatter’s specific configurations.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 120

Declared by:

plugins.lsp.servers.tinymist.settings.outputPath

The path pattern to store Typst artifacts, you can use $root or $dir or $name to do magic configuration, e.g. $dir/$name (default) and $root/target/$dir/$name.

Type: null or string or raw lua code

Default: null

Plugin default: "$dir/$name"

Declared by:

plugins.lsp.servers.tinymist.settings.rootPath

Configure the root for absolute paths in typst.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.lsp.servers.tinymist.settings.semanticTokens

Enable or disable semantic tokens (LSP syntax highlighting).

  • enable: Use semantic tokens for syntax highlighting
  • disable: Do not use semantic tokens for syntax highlighting

Type: null or one of “enable”, “disable” or raw lua code

Default: null

Plugin default: "enable"

Declared by:

plugins.lsp.servers.tinymist.settings.systemFonts

A flag that determines whether to load system fonts for Typst compiler, which is useful for ensuring reproducible compilation. If set to null or not set, the extension will use the default behavior of the Typst compiler.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.tinymist.settings.typstExtraArgs

You can pass any arguments as you like, and we will try to follow behaviors of the same version of typst-cli.

Note: the arguments may be overridden by other settings. For example, --font-path will be overridden by tinymist.fontPaths.

Type: null or (list of (string or raw lua code))

Default: null

Plugin default: [ ]

Declared by: