summaryrefslogtreecommitdiffstats
path: root/src/tools/rust-analyzer/xtask/src/release/changelog.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/rust-analyzer/xtask/src/release/changelog.rs')
-rw-r--r--src/tools/rust-analyzer/xtask/src/release/changelog.rs30
1 files changed, 14 insertions, 16 deletions
diff --git a/src/tools/rust-analyzer/xtask/src/release/changelog.rs b/src/tools/rust-analyzer/xtask/src/release/changelog.rs
index 2647f7794..d2a1483e3 100644
--- a/src/tools/rust-analyzer/xtask/src/release/changelog.rs
+++ b/src/tools/rust-analyzer/xtask/src/release/changelog.rs
@@ -23,9 +23,9 @@ pub(crate) fn get_changelog(
let mut others = String::new();
for line in git_log.lines() {
let line = line.trim_start();
- if let Some(pr_num) = parse_pr_number(&line) {
+ if let Some(pr_num) = parse_pr_number(line) {
let accept = "Accept: application/vnd.github.v3+json";
- let authorization = format!("Authorization: token {}", token);
+ let authorization = format!("Authorization: token {token}");
let pr_url = "https://api.github.com/repos/rust-lang/rust-analyzer/issues";
// we don't use an HTTPS client or JSON parser to keep the build times low
@@ -57,36 +57,36 @@ pub(crate) fn get_changelog(
PrKind::Other => &mut others,
PrKind::Skip => continue,
};
- writeln!(s, "* pr:{}[] {}", pr_num, l.message.as_deref().unwrap_or(&pr_title)).unwrap();
+ writeln!(s, "* pr:{pr_num}[] {}", l.message.as_deref().unwrap_or(&pr_title)).unwrap();
}
}
let contents = format!(
"\
-= Changelog #{}
+= Changelog #{changelog_n}
:sectanchors:
+:experimental:
:page-layout: post
-Commit: commit:{}[] +
-Release: release:{}[]
+Commit: commit:{commit}[] +
+Release: release:{today}[]
== New Features
-{}
+{features}
== Fixes
-{}
+{fixes}
== Internal Improvements
-{}
+{internal}
== Others
-{}
-",
- changelog_n, commit, today, features, fixes, internal, others
+{others}
+"
);
Ok(contents)
}
@@ -112,11 +112,9 @@ fn unescape(s: &str) -> String {
fn parse_pr_number(s: &str) -> Option<u32> {
const BORS_PREFIX: &str = "Merge #";
const HOMU_PREFIX: &str = "Auto merge of #";
- if s.starts_with(BORS_PREFIX) {
- let s = &s[BORS_PREFIX.len()..];
+ if let Some(s) = s.strip_prefix(BORS_PREFIX) {
s.parse().ok()
- } else if s.starts_with(HOMU_PREFIX) {
- let s = &s[HOMU_PREFIX.len()..];
+ } else if let Some(s) = s.strip_prefix(HOMU_PREFIX) {
if let Some(space) = s.find(' ') {
s[..space].parse().ok()
} else {