42wim / matterircd

Connect to your mattermost or slack using your IRC-client of choice.
MIT License
294 stars 60 forks source link

Support for empty lines in syntax highlighted code blocks #501

Closed hloeung closed 1 year ago

hloeung commented 1 year ago

That is:

Testing

` ` ` go
package main

import "fmt"

func main() {
    fmt.Println("Hello, 世界")
}
` ` `
Testing end

Becomes:

|14:24 <hloeung> [@@pwxztbmprbgim8hsa5j9147jao] Testing
|14:24 <hloeung> [@@pwxztbmprbgim8hsa5j9147jao] ``` go
|14:24 <hloeung> [@@pwxztbmprbgim8hsa5j9147jao] package main
|14:24 <hloeung> [@@pwxztbmprbgim8hsa5j9147jao]
|14:24 <hloeung> [@@pwxztbmprbgim8hsa5j9147jao] import "fmt"
|14:24 <hloeung> [@@pwxztbmprbgim8hsa5j9147jao]
|14:24 <hloeung> [@@pwxztbmprbgim8hsa5j9147jao] func main() {
|14:24 <hloeung> [@@pwxztbmprbgim8hsa5j9147jao]     fmt.Println("Hello, 世界")
|14:24 <hloeung> [@@pwxztbmprbgim8hsa5j9147jao] }
|14:24 <hloeung> [@@pwxztbmprbgim8hsa5j9147jao] ```
|14:24 <hloeung> [@@pwxztbmprbgim8hsa5j9147jao] Testing end

That is, empty lines are preserved in syntax formatted code blocks much like plain non-syntax highlighted code blocks.

Without this, it is shown as follows:

|14:15 <hloeung> [@@nn86pumhs3bexpjwb757cyr86r] ``` go
|14:15 <hloeung> [@@nn86pumhs3bexpjwb757cyr86r] package main
|14:15 <hloeung> [@@nn86pumhs3bexpjwb757cyr86r] import "fmt"
|14:15 <hloeung> [@@nn86pumhs3bexpjwb757cyr86r] func main() {
|14:15 <hloeung> [@@nn86pumhs3bexpjwb757cyr86r]     fmt.Println("Hello, 世界")
|14:15 <hloeung> [@@nn86pumhs3bexpjwb757cyr86r] }
|14:15 <hloeung> [@@nn86pumhs3bexpjwb757cyr86r] ```