Skip to main content

perl_lsp_code_actions/
lib.rs

1//! LSP code actions provider for Perl
2//!
3//! This crate provides code action functionality for Perl.
4//!
5//! ## Features
6//!
7//! - Quick fixes for common mistakes
8//! - Refactoring operations
9//! - Enhanced actions (extract variable/subroutine, import management)
10//!
11//! ## Usage
12//!
13//! ```rust,ignore
14//! use perl_lsp_code_actions::CodeActionsProvider;
15//!
16//! let source = String::from("my $x = 1;");
17//! let provider = CodeActionsProvider::new(source);
18//! let actions = provider.get_code_actions(&ast, (0, 10), &diagnostics);
19//! ```
20
21#![deny(unsafe_code)]
22#![warn(rust_2018_idioms)]
23#![warn(missing_docs)]
24#![warn(clippy::all)]
25
26mod code_actions;
27mod enhanced;
28mod modernize;
29mod quick_fixes;
30mod refactors;
31mod types;
32
33pub use code_actions::{CodeAction, CodeActionKind, CodeActionsProvider};
34pub use enhanced::EnhancedCodeActionsProvider;
35pub use types::CodeActionEdit;