<idea-plugin>
<id>com.rovo.lsp</id>
<name>Rovo LSP</name>
<vendor email="dev@arthurdw.com" url="https://github.com/Arthurdw/rovo">Rovo</vendor>
<description><![CDATA[
<p>Language Server Protocol (LSP) support for Rovo framework annotations in Rust. Write cleaner, more maintainable OpenAPI-style documentation directly in your Rust code with intelligent IDE support.</p>
<h3>Features</h3>
<ul>
<li><strong>Smart completions</strong> - Auto-complete for Rovo section headers and metadata annotations with helpful snippets</li>
<li><strong>Hover documentation</strong> - Detailed information for section headers, metadata annotations, status codes, and security schemes</li>
<li><strong>Real-time diagnostics</strong> - Instant feedback on syntax errors and invalid section headers or metadata annotations</li>
<li><strong>Code actions</strong> - Quick fixes for common issues</li>
<li><strong>Navigation</strong> - Go to definition, find usages, and rename support for tags</li>
<li><strong>Syntax highlighting</strong> - Context-aware highlighting for section headers, metadata annotations, status codes, and security schemes</li>
</ul>
<h3>Requirements</h3>
<p>Install the matching version of <code>rovo-lsp</code>:</p>
<pre>cargo install rovo-lsp --version 0.4.8</pre>
<p>The plugin will automatically detect the LSP server from common locations or your system PATH.</p>
<h3>Usage Example</h3>
<pre>
/// Get user by ID
///
/// # Responses
///
/// 200: Json<User> - Successfully retrieved user
/// 404: Json<Error> - User not found
///
/// # Metadata
///
/// @tag users
/// @security bearer
#[rovo]
async fn get_user(id: i64) -> impl IntoApiResponse {
// Implementation
}</pre>
]]></description>
<change-notes><![CDATA[
<h3>Version 0.1.0</h3>
<ul>
<li>Initial release</li>
<li>Context-aware syntax highlighting for Rovo annotations</li>
<li>Support for RustRover, IntelliJ IDEA, and CLion</li>
</ul>
]]></change-notes>
<idea-version since-build="243"/>
<depends>com.intellij.modules.platform</depends>
<depends optional="true" config-file="rust-support.xml">org.rust.lang</depends>
<depends>com.redhat.devtools.lsp4ij</depends>
<extensions defaultExtensionNs="com.intellij">
<notificationGroup id="Rovo" displayType="BALLOON"/>
</extensions>
<extensions defaultExtensionNs="com.redhat.devtools.lsp4ij">
<server id="rovoLanguageServer"
name="Rovo LSP"
factoryClass="com.rovo.lsp.RovoLanguageServerFactory">
<description>Language server for Rovo framework annotations</description>
</server>
<languageMapping language="Rust"
serverId="rovoLanguageServer"
languageId="rust"/>
</extensions>
</idea-plugin>