Skip to main content

Module analysis

Module analysis 

Source
Expand description

Top-level analysis API for .nautilus schema files.

This module exposes a stable public contract that editor tooling (LSP servers, CLI linters, etc.) can call without duplicating parsing or validation logic.

§Quick Start

use nautilus_schema::analysis::analyze;

let result = analyze(source);
for diag in &result.diagnostics {
    println!("{:?} — {}", diag.severity, diag.message);
}
if let Some(ir) = &result.ir {
    println!("{} models", ir.models.len());
}

Re-exports§

pub use completion::completion;
pub use completion::completion_with_analysis;
pub use completion::CompletionItem;
pub use completion::CompletionKind;
pub use goto_definition::goto_definition;
pub use goto_definition::goto_definition_with_analysis;
pub use hover::config_field_hover;
pub use hover::hover;
pub use hover::hover_with_analysis;
pub use hover::HoverInfo;
pub use semantic_tokens::semantic_tokens;
pub use semantic_tokens::SemanticKind;
pub use semantic_tokens::SemanticToken;

Modules§

completion
Completion suggestions for .nautilus schema files.
goto_definition
Goto-definition support for .nautilus schema files.
hover
Hover documentation for .nautilus schema files.
semantic_tokens
Semantic token provider for .nautilus schema files.

Structs§

AnalysisResult
The result of a full analysis pass over a .nautilus source string.

Functions§

analyze
Analyzes a .nautilus schema source string end-to-end.