perl_lsp_formatting/lib.rs
1//! LSP formatting provider for Perl
2//!
3//! This crate provides code formatting functionality for Perl using perltidy.
4//!
5//! ## Features
6//!
7//! - Perltidy integration
8//! - Configurable formatting options
9//! - LSP protocol compatibility
10//!
11//! ## Usage
12//!
13//! ```rust,ignore
14//! use perl_lsp_formatting::FormattingProvider;
15//! use perl_lsp_tooling::OsSubprocessRuntime;
16//!
17//! let runtime = OsSubprocessRuntime::new();
18//! let provider = FormattingProvider::new(runtime);
19//! let formatted = provider.format_document(source, &options)?;
20//! ```
21
22#![deny(unsafe_code)]
23#![warn(rust_2018_idioms)]
24#![warn(missing_docs)]
25#![warn(clippy::all)]
26
27mod formatting;
28
29pub use formatting::{
30 FormatPosition, FormatRange, FormatTextEdit, FormattedDocument, FormattingError,
31 FormattingOptions, FormattingProvider,
32};