use Conv for severity

This commit is contained in:
Aleksey Kladov 2019-08-06 09:29:06 +02:00
parent 12a7329cb3
commit 27303da419
2 changed files with 21 additions and 20 deletions

View file

@ -1,13 +1,13 @@
use lsp_types::{ use lsp_types::{
self, CreateFile, DocumentChangeOperation, DocumentChanges, Documentation, Location, self, CreateFile, DiagnosticSeverity, DocumentChangeOperation, DocumentChanges, Documentation,
LocationLink, MarkupContent, MarkupKind, Position, Range, RenameFile, ResourceOp, SymbolKind, Location, LocationLink, MarkupContent, MarkupKind, Position, Range, RenameFile, ResourceOp,
TextDocumentEdit, TextDocumentIdentifier, TextDocumentItem, TextDocumentPositionParams, Url, SymbolKind, TextDocumentEdit, TextDocumentIdentifier, TextDocumentItem,
VersionedTextDocumentIdentifier, WorkspaceEdit, TextDocumentPositionParams, Url, VersionedTextDocumentIdentifier, WorkspaceEdit,
}; };
use ra_ide_api::{ use ra_ide_api::{
translate_offset_with_edit, CompletionItem, CompletionItemKind, FileId, FilePosition, translate_offset_with_edit, CompletionItem, CompletionItemKind, FileId, FilePosition,
FileRange, FileSystemEdit, InsertTextFormat, LineCol, LineIndex, NavigationTarget, RangeInfo, FileRange, FileSystemEdit, InsertTextFormat, LineCol, LineIndex, NavigationTarget, RangeInfo,
SourceChange, SourceFileEdit, Severity, SourceChange, SourceFileEdit,
}; };
use ra_syntax::{SyntaxKind, TextRange, TextUnit}; use ra_syntax::{SyntaxKind, TextRange, TextUnit};
use ra_text_edit::{AtomTextEdit, TextEdit}; use ra_text_edit::{AtomTextEdit, TextEdit};
@ -79,6 +79,16 @@ impl Conv for CompletionItemKind {
} }
} }
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 { impl ConvWith for CompletionItem {
type Ctx = LineIndex; type Ctx = LineIndex;
type Output = ::lsp_types::CompletionItem; type Output = ::lsp_types::CompletionItem;

View file

@ -3,13 +3,13 @@ use std::{fmt::Write as _, io::Write as _};
use gen_lsp_server::ErrorCode; use gen_lsp_server::ErrorCode;
use lsp_types::{ use lsp_types::{
CodeAction, CodeActionResponse, CodeLens, Command, CompletionItem, Diagnostic, CodeAction, CodeActionResponse, CodeLens, Command, CompletionItem, Diagnostic,
DiagnosticSeverity, DocumentFormattingParams, DocumentHighlight, DocumentSymbol, FoldingRange, DocumentFormattingParams, DocumentHighlight, DocumentSymbol, FoldingRange, FoldingRangeKind,
FoldingRangeKind, FoldingRangeParams, Hover, HoverContents, Location, MarkupContent, FoldingRangeParams, Hover, HoverContents, Location, MarkupContent, MarkupKind, Position,
MarkupKind, Position, PrepareRenameResponse, Range, RenameParams, SymbolInformation, PrepareRenameResponse, Range, RenameParams, SymbolInformation, TextDocumentIdentifier,
TextDocumentIdentifier, TextEdit, WorkspaceEdit, TextEdit, WorkspaceEdit,
}; };
use ra_ide_api::{ 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_prof::profile;
use ra_syntax::{AstNode, SyntaxKind, TextRange, TextUnit}; use ra_syntax::{AstNode, SyntaxKind, TextRange, TextUnit};
@ -838,7 +838,7 @@ pub fn publish_diagnostics(
.into_iter() .into_iter()
.map(|d| Diagnostic { .map(|d| Diagnostic {
range: d.range.conv_with(&line_index), range: d.range.conv_with(&line_index),
severity: Some(to_diagnostic_severity(d.severity)), severity: Some(d.severity.conv()),
code: None, code: None,
source: Some("rust-analyzer".to_string()), source: Some("rust-analyzer".to_string()),
message: d.message, message: d.message,
@ -871,15 +871,6 @@ fn highlight(world: &WorldSnapshot, file_id: FileId) -> Result<Vec<Decoration>>
Ok(res) 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( pub fn handle_inlay_hints(
world: WorldSnapshot, world: WorldSnapshot,
params: InlayHintsParams, params: InlayHintsParams,