Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ result

.idea
.vscode
scan-logs
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sysdig-lsp"
version = "0.7.0"
version = "0.7.1"
edition = "2024"
authors = [ "Sysdig Inc." ]
readme = "README.md"
Expand Down
4 changes: 4 additions & 0 deletions src/app/lsp_interactor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,8 @@ where
.read_documentation_at(uri, position)
.await
}

pub async fn remove_documentations(&self, uri: &str) {
self.document_database.remove_documentations(uri).await
}
}
1 change: 1 addition & 0 deletions src/app/lsp_server/commands/build_and_scan.rs
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ where
diagnostics_for_layers(&document_text, &scan_result)?;

self.interactor.remove_diagnostics(uri).await;
self.interactor.remove_documentations(uri).await;
self.interactor
.append_document_diagnostics(uri, &[diagnostic])
.await;
Expand Down
1 change: 1 addition & 0 deletions src/app/lsp_server/commands/scan_base_image.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ where

let uri = self.location.uri.as_str();
self.interactor.remove_diagnostics(uri).await;
self.interactor.remove_documentations(uri).await;
self.interactor
.append_document_diagnostics(uri, &[diagnostic])
.await;
Expand Down
20 changes: 12 additions & 8 deletions src/app/markdown/markdown_summary.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use super::markdown_summary_table::MarkdownSummaryTable;
pub struct MarkdownSummary {
pub pull_string: String,
pub image_id: String,
pub digest: String,
pub digest: Option<String>,
pub base_os: String,
pub total_vulns_found: MarkdownSummaryTable,
}
Expand All @@ -18,7 +18,7 @@ impl From<&ScanResult> for MarkdownSummary {
MarkdownSummary {
pull_string: value.metadata().pull_string().to_string(),
image_id: value.metadata().image_id().to_string(),
digest: value.metadata().digest().unwrap_or("").to_string(),
digest: value.metadata().digest().map(|s| s.to_string()),
base_os: value.metadata().base_os().name().to_string(),
total_vulns_found: MarkdownSummaryTable::from(value),
}
Expand All @@ -27,11 +27,15 @@ impl From<&ScanResult> for MarkdownSummary {

impl Display for MarkdownSummary {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
let format = format!(
"### Summary\n* **PullString**: {}\n* **ImageID**: `{}`\n* **Digest**: `{}`\n* **BaseOS**: {}\n\n{}",
&self.pull_string, &self.image_id, &self.digest, &self.base_os, &self.total_vulns_found
);

f.write_str(&format)
writeln!(f, "### Summary")?;
writeln!(f, "* **PullString**: {}", self.pull_string)?;
writeln!(f, "* **ImageID**: `{}`", self.image_id)?;
match &self.digest {
Some(digest) => writeln!(f, "* **Digest**: `{}`", digest)?,
None => writeln!(f, "* **Digest**: None")?,
}
writeln!(f, "* **BaseOS**: {}", self.base_os)?;
writeln!(f)?;
write!(f, "{}", self.total_vulns_found)
}
}
Loading