use lsp_types::{
- self, CreateFile, DocumentChangeOperation, DocumentChanges, Documentation, Location,
- LocationLink, MarkupContent, MarkupKind, Position, Range, RenameFile, ResourceOp, SymbolKind,
- TextDocumentEdit, TextDocumentIdentifier, TextDocumentItem, TextDocumentPositionParams, Url,
- VersionedTextDocumentIdentifier, WorkspaceEdit,
+ self, CreateFile, DiagnosticSeverity, DocumentChangeOperation, DocumentChanges, Documentation,
+ Location, LocationLink, MarkupContent, MarkupKind, Position, Range, RenameFile, ResourceOp,
+ SymbolKind, TextDocumentEdit, TextDocumentIdentifier, TextDocumentItem,
+ TextDocumentPositionParams, Url, VersionedTextDocumentIdentifier, WorkspaceEdit,
};
use ra_ide_api::{
translate_offset_with_edit, CompletionItem, CompletionItemKind, FileId, FilePosition,
FileRange, FileSystemEdit, InsertTextFormat, LineCol, LineIndex, NavigationTarget, RangeInfo,
- SourceChange, SourceFileEdit,
+ Severity, SourceChange, SourceFileEdit,
};
use ra_syntax::{SyntaxKind, TextRange, TextUnit};
use ra_text_edit::{AtomTextEdit, TextEdit};
}
}
+impl Conv for Severity {
+ type Output = DiagnosticSeverity;
+ fn conv(self) -> DiagnosticSeverity {
+ match self {
+ Severity::Error => DiagnosticSeverity::Error,
+ Severity::WeakWarning => DiagnosticSeverity::Hint,
+ }
+ }
+}
+
impl ConvWith for CompletionItem {
type Ctx = LineIndex;
type Output = ::lsp_types::CompletionItem;
use gen_lsp_server::ErrorCode;
use lsp_types::{
CodeAction, CodeActionResponse, CodeLens, Command, CompletionItem, Diagnostic,
- DiagnosticSeverity, DocumentFormattingParams, DocumentHighlight, DocumentSymbol, FoldingRange,
- FoldingRangeKind, FoldingRangeParams, Hover, HoverContents, Location, MarkupContent,
- MarkupKind, Position, PrepareRenameResponse, Range, RenameParams, SymbolInformation,
- TextDocumentIdentifier, TextEdit, WorkspaceEdit,
+ DocumentFormattingParams, DocumentHighlight, DocumentSymbol, FoldingRange, FoldingRangeKind,
+ FoldingRangeParams, Hover, HoverContents, Location, MarkupContent, MarkupKind, Position,
+ PrepareRenameResponse, Range, RenameParams, SymbolInformation, TextDocumentIdentifier,
+ TextEdit, WorkspaceEdit,
};
use ra_ide_api::{
- AssistId, Cancelable, FileId, FilePosition, FileRange, FoldKind, Query, RunnableKind, Severity,
+ AssistId, Cancelable, FileId, FilePosition, FileRange, FoldKind, Query, RunnableKind,
};
use ra_prof::profile;
use ra_syntax::{AstNode, SyntaxKind, TextRange, TextUnit};
.into_iter()
.map(|d| Diagnostic {
range: d.range.conv_with(&line_index),
- severity: Some(to_diagnostic_severity(d.severity)),
+ severity: Some(d.severity.conv()),
code: None,
source: Some("rust-analyzer".to_string()),
message: d.message,
Ok(res)
}
-fn to_diagnostic_severity(severity: Severity) -> DiagnosticSeverity {
- use ra_ide_api::Severity::*;
-
- match severity {
- Error => DiagnosticSeverity::Error,
- WeakWarning => DiagnosticSeverity::Hint,
- }
-}
-
pub fn handle_inlay_hints(
world: WorldSnapshot,
params: InlayHintsParams,