html-languageservice 0.12.1

The basics of an HTML language server.
Documentation
# html-languageservice

> The project is a rewrite of [vscode-html-languageservice]https://github.com/Microsoft/vscode-html-languageservice use `rust`. It has all the features of the original project while still having higher performance.

This project is a collection of features necessary to implement an HTML language server.

## Features

- customize data providers
- parse html document
- scanner
- completion - `completion` feature activate
- hover - `hover` feature activate
- formatter - `formatter` feature activate
- find document highlights - `highlight` feature activate
- find document links - `links` feature activate
- find document symbols - `symbols` feature activate
- get folding ranges - `folding` feature activate
- get selection ranges - `selection_range` feature activate
- quote complete - `completion` feature activate
- tag complete - `completion` feature activate
- rename - `rename` feature activate
- find matching tag position - `matching_tag_position` feature activate
- find linked editing ranges - `linked_editing` feature activate

## Usage

Make sure you activated the full features of the `html-languageservice` crate on `Cargo.toml`:

```toml
html-languageservice = { version = "0.6.1", features = ["full"] }
```

You can also activate only some of the features you need on `Cargo.toml`:

```toml
html-languageservice = { version = "0.6.1", features = ["completion", "hover"] }
```

Create the `HTMLLanguageService` struct in first.

Second, You need to prepare: `document` and `position`.

Then, parse `document` as `html_document` you need to `HTMLDataManager`, tags, attributes, and attribute value data are stored in the `HTMLDataManager`.

Finally, call a function or method to get the result.

For more see [docs.rs](https://docs.rs/html-languageservice/latest/html_languageservice/)