mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 04:53:34 +00:00
Rename ra_flycheck -> flycheck
This commit is contained in:
parent
5a184fe855
commit
0ec5d4f55c
8 changed files with 31 additions and 30 deletions
26
Cargo.lock
generated
26
Cargo.lock
generated
|
@ -340,6 +340,18 @@ version = "0.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
|
checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "flycheck"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"cargo_metadata",
|
||||||
|
"crossbeam-channel",
|
||||||
|
"jod-thread",
|
||||||
|
"log",
|
||||||
|
"ra_toolchain",
|
||||||
|
"serde_json",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fnv"
|
name = "fnv"
|
||||||
version = "1.0.7"
|
version = "1.0.7"
|
||||||
|
@ -959,18 +971,6 @@ dependencies = [
|
||||||
"vfs",
|
"vfs",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "ra_flycheck"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"cargo_metadata",
|
|
||||||
"crossbeam-channel",
|
|
||||||
"jod-thread",
|
|
||||||
"log",
|
|
||||||
"ra_toolchain",
|
|
||||||
"serde_json",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ra_fmt"
|
name = "ra_fmt"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
@ -1373,6 +1373,7 @@ dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"crossbeam-channel",
|
"crossbeam-channel",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
|
"flycheck",
|
||||||
"globset",
|
"globset",
|
||||||
"insta",
|
"insta",
|
||||||
"itertools",
|
"itertools",
|
||||||
|
@ -1384,7 +1385,6 @@ dependencies = [
|
||||||
"pico-args",
|
"pico-args",
|
||||||
"ra_cfg",
|
"ra_cfg",
|
||||||
"ra_db",
|
"ra_db",
|
||||||
"ra_flycheck",
|
|
||||||
"ra_hir",
|
"ra_hir",
|
||||||
"ra_hir_def",
|
"ra_hir_def",
|
||||||
"ra_hir_ty",
|
"ra_hir_ty",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
name = "ra_flycheck"
|
name = "flycheck"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
authors = ["rust-analyzer developers"]
|
authors = ["rust-analyzer developers"]
|
||||||
|
|
|
@ -32,7 +32,7 @@ threadpool = "1.7.1"
|
||||||
stdx = { path = "../stdx" }
|
stdx = { path = "../stdx" }
|
||||||
|
|
||||||
lsp-server = "0.3.3"
|
lsp-server = "0.3.3"
|
||||||
ra_flycheck = { path = "../ra_flycheck" }
|
flycheck = { path = "../flycheck" }
|
||||||
ra_ide = { path = "../ra_ide" }
|
ra_ide = { path = "../ra_ide" }
|
||||||
ra_prof = { path = "../ra_prof" }
|
ra_prof = { path = "../ra_prof" }
|
||||||
ra_project_model = { path = "../ra_project_model" }
|
ra_project_model = { path = "../ra_project_model" }
|
||||||
|
|
|
@ -10,9 +10,9 @@
|
||||||
use std::{ffi::OsString, path::PathBuf};
|
use std::{ffi::OsString, path::PathBuf};
|
||||||
|
|
||||||
use crate::diagnostics::DiagnosticsConfig;
|
use crate::diagnostics::DiagnosticsConfig;
|
||||||
|
use flycheck::FlycheckConfig;
|
||||||
use lsp_types::ClientCapabilities;
|
use lsp_types::ClientCapabilities;
|
||||||
use ra_db::AbsPathBuf;
|
use ra_db::AbsPathBuf;
|
||||||
use ra_flycheck::FlycheckConfig;
|
|
||||||
use ra_ide::{AssistConfig, CompletionConfig, HoverConfig, InlayHintsConfig};
|
use ra_ide::{AssistConfig, CompletionConfig, HoverConfig, InlayHintsConfig};
|
||||||
use ra_project_model::{CargoConfig, ProjectJson, ProjectJsonData, ProjectManifest};
|
use ra_project_model::{CargoConfig, ProjectJson, ProjectJsonData, ProjectManifest};
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
|
|
@ -2,20 +2,21 @@
|
||||||
//! `cargo check` json format to the LSP diagnostic format.
|
//! `cargo check` json format to the LSP diagnostic format.
|
||||||
use std::{collections::HashMap, path::Path};
|
use std::{collections::HashMap, path::Path};
|
||||||
|
|
||||||
|
use flycheck::{Applicability, DiagnosticLevel, DiagnosticSpan, DiagnosticSpanMacroExpansion};
|
||||||
use lsp_types::{
|
use lsp_types::{
|
||||||
Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, Location,
|
Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, Location,
|
||||||
NumberOrString, Position, Range, TextEdit, Url,
|
NumberOrString, Position, Range, TextEdit, Url,
|
||||||
};
|
};
|
||||||
use ra_flycheck::{Applicability, DiagnosticLevel, DiagnosticSpan, DiagnosticSpanMacroExpansion};
|
|
||||||
use stdx::format_to;
|
use stdx::format_to;
|
||||||
|
|
||||||
use super::DiagnosticsConfig;
|
|
||||||
use crate::{lsp_ext, to_proto::url_from_abs_path};
|
use crate::{lsp_ext, to_proto::url_from_abs_path};
|
||||||
|
|
||||||
|
use super::DiagnosticsConfig;
|
||||||
|
|
||||||
/// Determines the LSP severity from a diagnostic
|
/// Determines the LSP severity from a diagnostic
|
||||||
fn map_diagnostic_to_severity(
|
fn map_diagnostic_to_severity(
|
||||||
config: &DiagnosticsConfig,
|
config: &DiagnosticsConfig,
|
||||||
val: &ra_flycheck::Diagnostic,
|
val: &flycheck::Diagnostic,
|
||||||
) -> Option<DiagnosticSeverity> {
|
) -> Option<DiagnosticSeverity> {
|
||||||
let res = match val.level {
|
let res = match val.level {
|
||||||
DiagnosticLevel::Ice => DiagnosticSeverity::Error,
|
DiagnosticLevel::Ice => DiagnosticSeverity::Error,
|
||||||
|
@ -95,7 +96,7 @@ fn map_secondary_span_to_related(
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Determines if diagnostic is related to unused code
|
/// Determines if diagnostic is related to unused code
|
||||||
fn is_unused_or_unnecessary(rd: &ra_flycheck::Diagnostic) -> bool {
|
fn is_unused_or_unnecessary(rd: &flycheck::Diagnostic) -> bool {
|
||||||
match &rd.code {
|
match &rd.code {
|
||||||
Some(code) => match code.code.as_str() {
|
Some(code) => match code.code.as_str() {
|
||||||
"dead_code" | "unknown_lints" | "unreachable_code" | "unused_attributes"
|
"dead_code" | "unknown_lints" | "unreachable_code" | "unused_attributes"
|
||||||
|
@ -107,7 +108,7 @@ fn is_unused_or_unnecessary(rd: &ra_flycheck::Diagnostic) -> bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Determines if diagnostic is related to deprecated code
|
/// Determines if diagnostic is related to deprecated code
|
||||||
fn is_deprecated(rd: &ra_flycheck::Diagnostic) -> bool {
|
fn is_deprecated(rd: &flycheck::Diagnostic) -> bool {
|
||||||
match &rd.code {
|
match &rd.code {
|
||||||
Some(code) => code.code.as_str() == "deprecated",
|
Some(code) => code.code.as_str() == "deprecated",
|
||||||
None => false,
|
None => false,
|
||||||
|
@ -121,7 +122,7 @@ enum MappedRustChildDiagnostic {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn map_rust_child_diagnostic(
|
fn map_rust_child_diagnostic(
|
||||||
rd: &ra_flycheck::Diagnostic,
|
rd: &flycheck::Diagnostic,
|
||||||
workspace_root: &Path,
|
workspace_root: &Path,
|
||||||
) -> MappedRustChildDiagnostic {
|
) -> MappedRustChildDiagnostic {
|
||||||
let spans: Vec<&DiagnosticSpan> = rd.spans.iter().filter(|s| s.is_primary).collect();
|
let spans: Vec<&DiagnosticSpan> = rd.spans.iter().filter(|s| s.is_primary).collect();
|
||||||
|
@ -183,7 +184,7 @@ pub(crate) struct MappedRustDiagnostic {
|
||||||
/// If the diagnostic has no primary span this will return `None`
|
/// If the diagnostic has no primary span this will return `None`
|
||||||
pub(crate) fn map_rust_diagnostic_to_lsp(
|
pub(crate) fn map_rust_diagnostic_to_lsp(
|
||||||
config: &DiagnosticsConfig,
|
config: &DiagnosticsConfig,
|
||||||
rd: &ra_flycheck::Diagnostic,
|
rd: &flycheck::Diagnostic,
|
||||||
workspace_root: &Path,
|
workspace_root: &Path,
|
||||||
) -> Vec<MappedRustDiagnostic> {
|
) -> Vec<MappedRustDiagnostic> {
|
||||||
let primary_spans: Vec<&DiagnosticSpan> = rd.spans.iter().filter(|s| s.is_primary).collect();
|
let primary_spans: Vec<&DiagnosticSpan> = rd.spans.iter().filter(|s| s.is_primary).collect();
|
||||||
|
@ -286,8 +287,8 @@ pub(crate) fn map_rust_diagnostic_to_lsp(
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
fn parse_diagnostic(val: &str) -> ra_flycheck::Diagnostic {
|
fn parse_diagnostic(val: &str) -> flycheck::Diagnostic {
|
||||||
serde_json::from_str::<ra_flycheck::Diagnostic>(val).unwrap()
|
serde_json::from_str::<flycheck::Diagnostic>(val).unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -6,10 +6,10 @@
|
||||||
use std::{convert::TryFrom, sync::Arc};
|
use std::{convert::TryFrom, sync::Arc};
|
||||||
|
|
||||||
use crossbeam_channel::{unbounded, Receiver};
|
use crossbeam_channel::{unbounded, Receiver};
|
||||||
|
use flycheck::{CheckTask, FlycheckConfig, FlycheckHandle};
|
||||||
use lsp_types::Url;
|
use lsp_types::Url;
|
||||||
use parking_lot::RwLock;
|
use parking_lot::RwLock;
|
||||||
use ra_db::{CrateId, SourceRoot, VfsPath};
|
use ra_db::{CrateId, SourceRoot, VfsPath};
|
||||||
use ra_flycheck::{CheckTask, FlycheckConfig, FlycheckHandle};
|
|
||||||
use ra_ide::{Analysis, AnalysisChange, AnalysisHost, CrateGraph, FileId};
|
use ra_ide::{Analysis, AnalysisChange, AnalysisHost, CrateGraph, FileId};
|
||||||
use ra_project_model::{CargoWorkspace, ProcMacroClient, ProjectWorkspace, Target};
|
use ra_project_model::{CargoWorkspace, ProcMacroClient, ProjectWorkspace, Target};
|
||||||
use stdx::format_to;
|
use stdx::format_to;
|
||||||
|
|
|
@ -9,10 +9,10 @@ use std::{
|
||||||
};
|
};
|
||||||
|
|
||||||
use crossbeam_channel::{never, select, unbounded, RecvError, Sender};
|
use crossbeam_channel::{never, select, unbounded, RecvError, Sender};
|
||||||
|
use flycheck::CheckTask;
|
||||||
use lsp_server::{Connection, ErrorCode, Message, Notification, Request, RequestId, Response};
|
use lsp_server::{Connection, ErrorCode, Message, Notification, Request, RequestId, Response};
|
||||||
use lsp_types::{request::Request as _, NumberOrString, TextDocumentContentChangeEvent};
|
use lsp_types::{request::Request as _, NumberOrString, TextDocumentContentChangeEvent};
|
||||||
use ra_db::VfsPath;
|
use ra_db::VfsPath;
|
||||||
use ra_flycheck::CheckTask;
|
|
||||||
use ra_ide::{Canceled, FileId, LineIndex};
|
use ra_ide::{Canceled, FileId, LineIndex};
|
||||||
use ra_prof::profile;
|
use ra_prof::profile;
|
||||||
use ra_project_model::{PackageRoot, ProjectWorkspace};
|
use ra_project_model::{PackageRoot, ProjectWorkspace};
|
||||||
|
@ -629,9 +629,9 @@ fn on_check_task(
|
||||||
|
|
||||||
CheckTask::Status(status) => {
|
CheckTask::Status(status) => {
|
||||||
let (state, message) = match status {
|
let (state, message) = match status {
|
||||||
ra_flycheck::Status::Being => (ProgressState::Start, None),
|
flycheck::Status::Being => (ProgressState::Start, None),
|
||||||
ra_flycheck::Status::Progress(target) => (ProgressState::Report, Some(target)),
|
flycheck::Status::Progress(target) => (ProgressState::Report, Some(target)),
|
||||||
ra_flycheck::Status::End => (ProgressState::End, None),
|
flycheck::Status::End => (ProgressState::End, None),
|
||||||
};
|
};
|
||||||
|
|
||||||
report_progress(global_state, msg_sender, "cargo check", state, message, None);
|
report_progress(global_state, msg_sender, "cargo check", state, message, None);
|
||||||
|
|
Loading…
Reference in a new issue