mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-02-09 13:47:11 +02:00
fix issue with indentation
This commit is contained in:
parent
e122f421e6
commit
7d9461877a
@ -6,7 +6,7 @@ import (
|
||||
|
||||
// Decolorise strips a string of color
|
||||
func Decolorise(str string) string {
|
||||
re := regexp.MustCompile(`\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]`)
|
||||
re := regexp.MustCompile(`\x1B\[([0-9]{1,3}(;[0-9]{1,3})*)?[mGK]`)
|
||||
return re.ReplaceAllString(str, "")
|
||||
}
|
||||
|
||||
|
198
pkg/utils/color_test.go
Normal file
198
pkg/utils/color_test.go
Normal file
@ -0,0 +1,198 @@
|
||||
package utils
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestDecolorise(t *testing.T) {
|
||||
var tests = []struct {
|
||||
input string
|
||||
output string
|
||||
}{
|
||||
{
|
||||
input: "",
|
||||
output: "",
|
||||
},
|
||||
{
|
||||
input: "hello",
|
||||
output: "hello",
|
||||
},
|
||||
{
|
||||
input: "hello\x1b[31m",
|
||||
output: "hello",
|
||||
},
|
||||
{
|
||||
input: "hello\x1b[31mworld",
|
||||
output: "helloworld",
|
||||
},
|
||||
{
|
||||
input: "hello\x1b[31m\x1b[32mworld",
|
||||
output: "helloworld",
|
||||
},
|
||||
{
|
||||
input: "hello\x1b[31m\x1b[32m\x1b[33mworld",
|
||||
output: "helloworld",
|
||||
},
|
||||
{
|
||||
input: "hello\x1b[31m\x1b[32m\x1b[33m\x1b[34mworld",
|
||||
output: "helloworld",
|
||||
},
|
||||
{
|
||||
input: "hello\x1b[31m\x1b[32m\x1b[33m\x1b[34m\x1b[35mworld",
|
||||
output: "helloworld",
|
||||
},
|
||||
{
|
||||
input: "hello\x1b[31m\x1b[32m\x1b[33m\x1b[34m\x1b[35m\x1b[36mworld",
|
||||
output: "helloworld",
|
||||
},
|
||||
{
|
||||
input: "hello\x1b[31m\x1b[32m\x1b[33m\x1b[34m\x1b[35m\x1b[36m\x1b[37mworld",
|
||||
output: "helloworld",
|
||||
},
|
||||
{
|
||||
input: "hello\x1b[31m\x1b[32m\x1b[33m\x1b[34m\x1b[35m\x1b[36m\x1b[37mworld",
|
||||
output: "helloworld",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;47;228;2mJD\x1b[0m",
|
||||
output: "JD",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;160;47;213mRy\x1b[0m",
|
||||
output: "Ry",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;179;217;72mSB\x1b[0m",
|
||||
output: "SB",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;48;34;214mMK\x1b[0m",
|
||||
output: "MK",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;28;152;222mAŁ\x1b[0m",
|
||||
output: "AŁ",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;237;230;56mHH\x1b[0m",
|
||||
output: "HH",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;63;232;69mmj\x1b[0m",
|
||||
output: "mj",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;111;207;16mbl\x1b[0m",
|
||||
output: "bl",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;250;31;163msa\x1b[0m",
|
||||
output: "sa",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;195;10;54mbt\x1b[0m",
|
||||
output: "bt",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;232;147;68mco\x1b[0m",
|
||||
output: "co",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;116;180;35mDY\x1b[0m",
|
||||
output: "DY",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;232;1;195mDB\x1b[0m",
|
||||
output: "DB",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;245;101;55mLi\x1b[0m",
|
||||
output: "Li",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;47;4;217mRy\x1b[0m",
|
||||
output: "Ry",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;252;197;1mEl\x1b[0m",
|
||||
output: "El",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;41;131;237mMG\x1b[0m",
|
||||
output: "MG",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;65;240;62mDP\x1b[0m",
|
||||
output: "DP",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;29;201;139mFM\x1b[0m",
|
||||
output: "FM",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;141;20;198mEB\x1b[0m",
|
||||
output: "EB",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;60;215;140mDM\x1b[0m",
|
||||
output: "DM",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;247;63;38mDE\x1b[0m",
|
||||
output: "DE",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;67;210;17mCB\x1b[0m",
|
||||
output: "CB",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;220;190;84mST\x1b[0m",
|
||||
output: "ST",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;137;239;6mER\x1b[0m",
|
||||
output: "ER",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;47;249;225mAY\x1b[0m",
|
||||
output: "AY",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;215;16;195mca\x1b[0m",
|
||||
output: "ca",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;73;215;122mRV\x1b[0m",
|
||||
output: "RV",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;118;15;221mJP\x1b[0m",
|
||||
output: "JP",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;186;163;39mHJ\x1b[0m",
|
||||
output: "HJ",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;54;222;111mDD\x1b[0m",
|
||||
output: "DD",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;56;209;108mPZ\x1b[0m",
|
||||
output: "PZ",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;9;179;216mPM\x1b[0m",
|
||||
output: "PM",
|
||||
},
|
||||
{
|
||||
input: "\x1b[38;2;157;205;18mta\x1b[0m",
|
||||
output: "ta",
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
output := Decolorise(test.input)
|
||||
if output != test.output {
|
||||
t.Errorf("Decolorise(%s) = %s, want %s", test.input, output, test.output)
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user