3 releases

0.1.11 Dec 28, 2024
0.1.10 Dec 26, 2024
0.1.0 Dec 23, 2024

#382 in Text editors


Used in typst-analyzer

GPL-3.0-or-later

25KB
494 lines

Typst-Analyzer


A Language Server for Typst.

Overview

Typst-Analyzer is a Language Server Protocol (LSP) implementation designed for the Typst typesetting system.

[!WARNING] This project is a work in progress and lacks most essential features. It currently serves more as a study resource for those learning about LSP development.

Features

  • Currently, there are no implemented features.
  • Future plans include:
    • Autocompletion [Implemented but lack completion items]
    • Go To Definition [WIP]
    • Hover Actions [WIP - Implemented but lack hover text items]
    • Code Actions [WIP - Implemented but only for tables code-action can add additional params to tables]
    • Syntax highlighting [ Not in priority as it can be done using treesitter]
    • Linting for Typst documents [not in priority]
    • Formatting tools [not in priority]

Usage

Prerequisites

  • Rust (latest stable version recommended)

Installation

  1. Clone the repository:
    git clone https://github.com/abhi-xyz/typst-analyzer.git
    cd typst-analyzer
    
  2. Build the project:
    cargo build --release
    

Contributing

While the project is not feature-complete, contributions are welcome. Feel free to fork the repository, implement a new feature, and submit a pull request.

Learning Resources

If you're using this project as a learning resource for LSP development, here are a few helpful links:

Dependencies

~14–24MB
~367K SLoC