Remove language::markdown (#25136)

The language::markdown crate had been superceded by markdown::Mardown.

After #25117, the only two remaining use-cases were rendering git commit
messages (which are arguably not really markdown) and the signature help
(which is definitely not markdown).

Updated the former to use the new markdown component, and the latter to
do syntax highlighting manually.

Release Notes:

- Allow selecting the commit message in git commits
This commit is contained in:
Conrad Irwin
2025-02-19 08:55:36 -07:00
committed by GitHub
parent 686978d7c5
commit 119bd896b0
25 changed files with 348 additions and 947 deletions
+4 -24
View File
@@ -6,7 +6,7 @@ use git::{
};
use gpui::{App, AppContext as _, Context, Entity, Subscription, Task};
use http_client::HttpClient;
use language::{markdown, Bias, Buffer, BufferSnapshot, Edit, LanguageRegistry, ParsedMarkdown};
use language::{Bias, Buffer, BufferSnapshot, Edit};
use multi_buffer::RowInfo;
use project::{Project, ProjectItem};
use smallvec::SmallVec;
@@ -229,6 +229,9 @@ impl GitBlame {
}
pub fn focus(&mut self, cx: &mut Context<Self>) {
if self.focused {
return;
}
self.focused = true;
if self.changed_while_blurred {
self.changed_while_blurred = false;
@@ -355,7 +358,6 @@ impl GitBlame {
let buffer_edits = self.buffer.update(cx, |buffer, _| buffer.subscribe());
let snapshot = self.buffer.read(cx).snapshot();
let blame = self.project.read(cx).blame_buffer(&self.buffer, None, cx);
let languages = self.project.read(cx).languages().clone();
let provider_registry = GitHostingProviderRegistry::default_global(cx);
self.task = cx.spawn(|this, mut cx| async move {
@@ -379,7 +381,6 @@ impl GitBlame {
remote_url,
&permalinks,
provider_registry,
&languages,
)
.await;
@@ -475,7 +476,6 @@ async fn parse_commit_messages(
remote_url: Option<String>,
deprecated_permalinks: &HashMap<Oid, Url>,
provider_registry: Arc<GitHostingProviderRegistry>,
languages: &Arc<LanguageRegistry>,
) -> HashMap<Oid, ParsedCommitMessage> {
let mut commit_details = HashMap::default();
@@ -484,8 +484,6 @@ async fn parse_commit_messages(
.and_then(|remote_url| parse_git_remote_url(provider_registry, remote_url));
for (oid, message) in messages {
let parsed_message = parse_markdown(&message, languages).await;
let permalink = if let Some((provider, git_remote)) = parsed_remote_url.as_ref() {
Some(provider.build_commit_permalink(
git_remote,
@@ -517,7 +515,6 @@ async fn parse_commit_messages(
oid,
ParsedCommitMessage {
message: message.into(),
parsed_message,
permalink,
remote,
pull_request,
@@ -528,23 +525,6 @@ async fn parse_commit_messages(
commit_details
}
async fn parse_markdown(text: &str, language_registry: &Arc<LanguageRegistry>) -> ParsedMarkdown {
let mut parsed_message = ParsedMarkdown::default();
markdown::parse_markdown_block(
text,
Some(language_registry),
None,
&mut parsed_message.text,
&mut parsed_message.highlights,
&mut parsed_message.region_ranges,
&mut parsed_message.regions,
)
.await;
parsed_message
}
#[cfg(test)]
mod tests {
use super::*;