html-languageservice
The basics of an HTML language server.
Features
Example
use std::sync::Arc;
use html_languageservice::{
services::html_completion::DefaultDocumentContext, LanguageService, LanguageServiceOptions,
};
use lsp_textdocument::FullTextDocument;
use lsp_types::Position;
#[tokio::main]
async fn main() {
let options = Arc::new(LanguageServiceOptions::default());
let language_service = LanguageService::new(options, None);
let document = FullTextDocument::new("html".to_string(), 1, "<div></div>".to_string());
let html_document = language_service.parse_html_document(&document).await;
let position = Position::new(0, 1);
let document_context = DefaultDocumentContext {};
let completion_list = language_service
.do_complete(&document, &position, &html_document, document_context, None)
.await;
println!("completion_list: {:#?}", completion_list);
let hover = language_service
.do_hover(&document, &position, &html_document, None)
.await;
println!("hover: {:#?}", hover);
}