]> git.lizzy.rs Git - rust.git/commitdiff
use Conv for severity
authorAleksey Kladov <aleksey.kladov@gmail.com>
Tue, 6 Aug 2019 07:29:06 +0000 (09:29 +0200)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Tue, 6 Aug 2019 07:50:00 +0000 (09:50 +0200)
crates/ra_lsp_server/src/conv.rs
crates/ra_lsp_server/src/main_loop/handlers.rs

index 59c5e158238b4e08aaae2e780f7d69ea7e3a49ee..df8ea6e0d1abcacad08cb54e563827a5db674559 100644 (file)
@@ -1,13 +1,13 @@
 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};
@@ -79,6 +79,16 @@ fn conv(self) -> <Self as Conv>::Output {
     }
 }
 
+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;
index c2a44ffa0f7d2419c8ee0a802788b4fac9d83965..005ce08b32601aa15585156628c8ae427dd6702c 100644 (file)
@@ -3,13 +3,13 @@
 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};
@@ -838,7 +838,7 @@ pub fn publish_diagnostics(
         .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,
@@ -871,15 +871,6 @@ fn highlight(world: &WorldSnapshot, file_id: FileId) -> Result<Vec<Decoration>>
     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,