Afficher le language des blocs de code

Pour faire suite à !5351 (merged), on pourrait (comme le fait le plugin precode) afficher le language du bloc en haut à droite, exemple :

image

Avec le patch suivant pour le core :

diff --git a/ecrire/inc/texte_mini.php b/ecrire/inc/texte_mini.php
index 495e58b14b..db25374f85 100644
--- a/ecrire/inc/texte_mini.php
+++ b/ecrire/inc/texte_mini.php
@@ -69,12 +69,13 @@ function spip_balisage_code(string $corps, bool $bloc = false, string $attributs
 
 	$echap = spip_htmlspecialchars($corps); // il ne faut pas passer dans entites_html, ne pas transformer les &#xxx; du code !
 	$class = "spip_code " . ($bloc ? 'spip_code_block' : 'spip_code_inline');
-	if ($langage) {
-		$class .= " language-$langage";
-	}
 	if ($attributs) {
 		$attributs = " " . trim($attributs);
 	}
+	if ($langage) {
+		$class .= " language-$langage";
+		$attributs .= ' data-language="'. $langage .'"';
+	}
 	if ($bloc) {
 		$html = "<div class=\"precode\">"
 		  . "<pre class=\"$class\" dir=\"ltr\" style=\"text-align: left;\"$attributs>"

Et celui-ci pour la dist :

diff --git a/css/theme.css b/css/theme.css
index 31709a1..a101522 100644
--- a/css/theme.css
+++ b/css/theme.css
@@ -72,6 +72,21 @@ blockquote.spip_poesie {
 	padding: 0.75em;
 	width:100%;
 }
+.spip_code.spip_code_block[data-language],
+.spip_cadre.spip_cadre_block[data-language] {
+	position:relative;
+}
+.spip_code.spip_code_block[data-language]::before,
+.spip_cadre.spip_cadre_block[data-language]::before {
+	position: absolute;
+	top: 5px;
+	right: 6px;
+	content: attr(data-language);
+	text-transform: lowercase;
+	font-family: monospace;
+	line-height: 1;
+	font-size: 0.8rem;
+}
 
 /* ------------------------------------------
 /* Habillage des elements du contenu