Tinymist Docs

Language and Editor Features

Language service (LSP) features:

  • Semantic highlighting

  • Code actions

    • Also known as "quick fixes" or "refactorings".
  • Formatting (Reformatting)

    • Provide the user with support for formatting whole documents, using typstfmt or typstyle.
  • Document highlight

    • Highlight all break points in a loop context.
    • (Todo) Highlight all exit points in a function context.
    • (Todo) Highlight all captures in a closure context.
    • (Todo) Highlight all occurrences of a symbol in a document.
  • Document links

    • Renders path or link references in the document, such as image("path.png")image("path.png") or bibliography(style: "path.csl")bibliography(style: "path.csl").
  • Document symbols

    • Also known as "document outline" or "table of contents" in Typst.
  • Folding ranges

    • You can collapse code/content blocks and headings.
  • Goto definitions

    • Right-click on a symbol and select "Go to Definition".
    • Or ctrl+click on a symbol.
  • References

    • Right-click on a symbol and select "Go to References" or "Find References".
    • Or ctrl+click on a symbol.
  • Hover tips

    • Also known as "hovering tooltip".
    • Render docs according to tidy style.
  • 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.
  • Color Provider

    • View all inlay colorful label for color literals in your document.
    • Change the color literal's value by a color picker or its code presentation.
  • Code Lens

    • Should give contextual buttons along with code. For example, a button for exporting your document to various formats at the start of the document.
  • Rename symbols and embedded paths
  • Help with function and method signatures
  • Workspace Symbols
  • Code Action

    • Increasing/Decreasing heading levels.
    • Turn equation into "inline", "block" or "multiple-line block" styles.
  • experimental/onEnter

    • EnterEnter inside triple-slash comments automatically inserts //////
    • EnterEnter in the middle or after a trailing space in //// inserts ////
    • EnterEnter inside //!//! doc comments automatically inserts //!//!
    • EnterEnter inside equation markups automatically inserts indents.

Extra features:

  • Compiles to PDF on save (configurable to as-you-type, or other options). Check Docs: Exporting Documents.
  • Also compiles to SVG, PNG, HTML, Markdown, Text, and other formats by commands, vscode tasks, or code lenses.
  • Provides test, benchmark, coverage collecting on documents and modules. Check Docs: Testing Features.
  • Provides builtin linting. Check Docs: Linting Features.
  • Provides a status bar item to show the current document's compilation status and words count.
  • Editor tools:

    • View a list of templates in template gallery. (tinymist.showTemplateGallerytinymist.showTemplateGallery)
    • Click a button in template gallery to initialize a new project with a template. (tinymist.initTemplatetinymist.initTemplate and tinymist.initTemplateInPlacetinymist.initTemplateInPlace)
    • Trace execution in current document (tinymist.profileCurrentFiletinymist.profileCurrentFile).