|
|
|
@ -19,17 +19,23 @@ func main() {
|
|
|
|
|
|
|
|
|
|
// fmt.Println(string(input_text))
|
|
|
|
|
|
|
|
|
|
input_text = []byte(FixPunctuation(string(input_text))) // initial punctuation edits
|
|
|
|
|
text_slice := SplitBySpace(string(input_text)) |
|
|
|
|
|
|
|
|
|
text_slice := SplitBySpace(string(input_text)) // string to slice of strings
|
|
|
|
|
text_slice = FindHexBinArticles(text_slice) // convert nr systems
|
|
|
|
|
|
|
|
|
|
text_slice = FindTriggers(text_slice) // find and correct formatting/converting
|
|
|
|
|
text := RemoveDoubleSpaces(strings.Join(text_slice, " ")) // empty slice units removed
|
|
|
|
|
|
|
|
|
|
output_text := RemoveDoubleSpaces(strings.Join(text_slice, " ")) // slice back to single string
|
|
|
|
|
text = FixPunctuation(text) // first punctuation check
|
|
|
|
|
|
|
|
|
|
next_slice := SplitBySpace(text) |
|
|
|
|
|
|
|
|
|
next_slice = FindTriggers(next_slice) // upper lower capitalize
|
|
|
|
|
|
|
|
|
|
output_text := RemoveDoubleSpaces(strings.Join(next_slice, " ")) // slice back to single string
|
|
|
|
|
|
|
|
|
|
output_text = FixPunctuation(output_text) // final punctuation control
|
|
|
|
|
|
|
|
|
|
output_text = FixApostrophes(output_text) // function dealing with apostrophes
|
|
|
|
|
output_text = FixApostrophes(output_text) // apostrophes being checked
|
|
|
|
|
|
|
|
|
|
os.WriteFile(string(os.Args[2]), []byte(string(output_text)), os.ModePerm) |
|
|
|
|
|
|
|
|
@ -98,24 +104,37 @@ func FixApostrophes(text string) string {
|
|
|
|
|
return text |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func FindTriggers(slice []string) []string { // all of those add extra space when completed (fix implemented)
|
|
|
|
|
func FindHexBinArticles(slice []string) []string { |
|
|
|
|
var x int |
|
|
|
|
var z int // how many words to modify
|
|
|
|
|
for i := range slice { |
|
|
|
|
|
|
|
|
|
if slice[i] == "(bin)" || slice[i] == "(hex)" { |
|
|
|
|
x = Converter(slice[i-1], slice[i]) |
|
|
|
|
if strings.Contains(string(slice[i]), "(bin)") || strings.Contains(string(slice[i]), "(hex)") { |
|
|
|
|
x = Converter(slice[i-1], slice[i][:5]) |
|
|
|
|
slice[i-1] = strconv.Itoa(x) |
|
|
|
|
slice[i] = "" |
|
|
|
|
|
|
|
|
|
slice[i] = strings.TrimPrefix(slice[i], "(bin)") |
|
|
|
|
slice[i] = strings.TrimPrefix(slice[i], "(hex)") |
|
|
|
|
} |
|
|
|
|
if i+1 != len(slice) && (slice[i] == "a" || slice[i] == "A") { |
|
|
|
|
if strings.ContainsAny(string(slice[i+1][0]), "aeiouh") { |
|
|
|
|
slice[i] += "n" |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return slice |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func FindTriggers(slice []string) []string { // all of those add extra space when completed (fix implemented)
|
|
|
|
|
|
|
|
|
|
var x int // how many words to modify
|
|
|
|
|
for i := range slice { |
|
|
|
|
|
|
|
|
|
if strings.Contains(string(slice[i]), "(up)") { |
|
|
|
|
slice[i-1] = strings.ToUpper(slice[i-1]) |
|
|
|
|
slice[i] = strings.TrimPrefix(slice[i], "(up)") |
|
|
|
|
} |
|
|
|
|
if strings.Contains(string(slice[i]), "(up,") { |
|
|
|
|
z = int(slice[i][5]) - 48 |
|
|
|
|
for a := i - z; a < i; a++ { |
|
|
|
|
x = int(slice[i][5]) - 48 |
|
|
|
|
for a := i - x; a < i; a++ { |
|
|
|
|
slice[a] = strings.ToUpper(slice[a]) |
|
|
|
|
} |
|
|
|
|
slice[i] = slice[i][7:] |
|
|
|
@ -126,8 +145,8 @@ func FindTriggers(slice []string) []string { // all of those add extra space whe
|
|
|
|
|
slice[i] = strings.TrimPrefix(slice[i], "(low)") |
|
|
|
|
} |
|
|
|
|
if strings.Contains(string(slice[i]), "(low,") { |
|
|
|
|
z = int(slice[i][6]) - 48 |
|
|
|
|
for b := i - z; b < i; b++ { |
|
|
|
|
x = int(slice[i][6]) - 48 |
|
|
|
|
for b := i - x; b < i; b++ { |
|
|
|
|
slice[b] = strings.ToLower(slice[b]) |
|
|
|
|
} |
|
|
|
|
slice[i] = slice[i][8:] |
|
|
|
@ -138,19 +157,13 @@ func FindTriggers(slice []string) []string { // all of those add extra space whe
|
|
|
|
|
slice[i] = strings.TrimPrefix(slice[i], "(cap)") |
|
|
|
|
} |
|
|
|
|
if strings.Contains(string(slice[i]), "(cap,") { |
|
|
|
|
z = int(slice[i][6]) - 48 |
|
|
|
|
for c := i - z; c < i; c++ { |
|
|
|
|
x = int(slice[i][6]) - 48 |
|
|
|
|
for c := i - x; c < i; c++ { |
|
|
|
|
slice[c] = strings.ToUpper(string(slice[c][0])) + slice[c][1:] |
|
|
|
|
} |
|
|
|
|
slice[i] = slice[i][8:] |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if i+1 != len(slice) && (slice[i] == "a" || slice[i] == "A") { |
|
|
|
|
if strings.ContainsAny(string(slice[i+1][0]), "aeiouh") { |
|
|
|
|
slice[i] += "n" |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return slice |
|
|
|
|
} |
|
|
|
|