github.com/dancsecs/gotomd@v0.0.0-20240310162206-65c4805cf510/sz_test_transform.go (about) 1 /* 2 Golang To Github Markdown Utility: gotomd 3 Copyright (C) 2023, 2024 Leslie Dancsecs 4 5 This program is free software: you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation, either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <https://www.gnu.org/licenses/>. 17 */ 18 19 package main 20 21 import ( 22 "strings" 23 24 "github.com/dancsecs/sztest" 25 ) 26 27 const ( 28 markInsOn = "<{INS_ON}>" 29 markInsOff = "<{INS_OFF}>" 30 markDelOn = "<{DEL_ON}>" 31 markDelOff = "<{DEL_OFF}>" 32 markChgOn = "<{CHG_ON}>" 33 markChgOff = "<{CHG_OFF}>" 34 markWntOn = "<{WNT_ON}>" 35 markWntOff = "<{WNT_OFF}>" 36 markGotOn = "<{GOT_ON}>" 37 markGotOff = "<{GOT_OFF}>" 38 markSepOn = "<{SEP_ON}>" 39 markSepOff = "<{SEP_OFF}>" 40 markMsgOn = "<{MSG_ON}>" 41 markMsgOff = "<{MSG_OFF}>" 42 ) 43 44 const ( 45 internalTestMarkDelOn = `\color{red}` 46 internalTestMarkDelOff = `\color{default}` 47 internalTestMarkInsOn = `\color{green}` 48 internalTestMarkInsOff = `\color{default}` 49 internalTestMarkChgOn = `\color{darkturquoise}` 50 internalTestMarkChgOff = `\color{default}` 51 internalTestMarkSepOn = `\color{yellow}` 52 internalTestMarkSepOff = `\color{default}` 53 internalTestMarkWntOn = `\color{cyan}` 54 internalTestMarkWntOff = `\color{default}` 55 internalTestMarkGotOn = `\color{magenta}` 56 internalTestMarkGotOff = `\color{default}` 57 internalTestMarkMsgOn = `\emph{` 58 internalTestMarkMsgOff = `}` 59 ) 60 61 //nolint:goCheckNoGlobals // Ok. 62 var szEnvSetup = []string{ 63 sztest.EnvMarkWntOn + "=" + markWntOn, 64 sztest.EnvMarkWntOff + "=" + markWntOff, 65 sztest.EnvMarkGotOn + "=" + markGotOn, 66 sztest.EnvMarkGotOff + "=" + markGotOff, 67 sztest.EnvMarkMsgOn + "=" + markMsgOn, 68 sztest.EnvMarkMsgOff + "=" + markMsgOff, 69 sztest.EnvMarkInsOn + "=" + markInsOn, 70 sztest.EnvMarkInsOff + "=" + markInsOff, 71 sztest.EnvMarkDelOn + "=" + markDelOn, 72 sztest.EnvMarkDelOff + "=" + markDelOff, 73 sztest.EnvMarkChgOn + "=" + markChgOn, 74 sztest.EnvMarkChgOff + "=" + markChgOff, 75 sztest.EnvMarkSepOn + "=" + markSepOn, 76 sztest.EnvMarkSepOff + "=" + markSepOff, 77 } 78 79 func translateToTestSymbols(lines string) string { 80 lines = strings.ReplaceAll(lines, markDelOn, internalTestMarkDelOn) 81 lines = strings.ReplaceAll(lines, markDelOff, internalTestMarkDelOff) 82 lines = strings.ReplaceAll(lines, markInsOn, internalTestMarkInsOn) 83 lines = strings.ReplaceAll(lines, markInsOff, internalTestMarkInsOff) 84 lines = strings.ReplaceAll(lines, markChgOn, internalTestMarkChgOn) 85 lines = strings.ReplaceAll(lines, markChgOff, internalTestMarkChgOff) 86 lines = strings.ReplaceAll(lines, markSepOn, internalTestMarkSepOn) 87 lines = strings.ReplaceAll(lines, markSepOff, internalTestMarkSepOff) 88 lines = strings.ReplaceAll(lines, markWntOn, internalTestMarkWntOn) 89 lines = strings.ReplaceAll(lines, markWntOff, internalTestMarkWntOff) 90 lines = strings.ReplaceAll(lines, markGotOn, internalTestMarkGotOn) 91 lines = strings.ReplaceAll(lines, markGotOff, internalTestMarkGotOff) 92 lines = strings.ReplaceAll(lines, markMsgOn, internalTestMarkMsgOn) 93 lines = strings.ReplaceAll(lines, markMsgOff, internalTestMarkMsgOff) 94 95 return lines 96 } 97 98 func translateToBlankSymbols(lines string) string { 99 lines = strings.ReplaceAll(lines, markDelOn, "") 100 lines = strings.ReplaceAll(lines, markDelOff, "") 101 lines = strings.ReplaceAll(lines, markInsOn, "") 102 lines = strings.ReplaceAll(lines, markInsOff, "") 103 lines = strings.ReplaceAll(lines, markChgOn, "") 104 lines = strings.ReplaceAll(lines, markChgOff, "") 105 lines = strings.ReplaceAll(lines, markSepOn, "") 106 lines = strings.ReplaceAll(lines, markSepOff, "") 107 lines = strings.ReplaceAll(lines, markWntOn, "") 108 lines = strings.ReplaceAll(lines, markWntOff, "") 109 lines = strings.ReplaceAll(lines, markGotOn, "") 110 lines = strings.ReplaceAll(lines, markGotOff, "") 111 lines = strings.ReplaceAll(lines, markMsgOn, "") 112 lines = strings.ReplaceAll(lines, markMsgOff, "") 113 114 return lines 115 }