summaryrefslogtreecommitdiff
path: root/uncrust.go
diff options
context:
space:
mode:
authorÖzgür Kesim <oec@codeblau.de>2024-12-08 23:06:58 +0100
committerÖzgür Kesim <oec@codeblau.de>2024-12-08 23:06:58 +0100
commite682ade2e9b491a7abe3bc1ba8cdda9c0b2460f5 (patch)
tree5e4c9b1812f6e2c35e1db81424b3da013ebeebae /uncrust.go
parentfc558d99f29c5333dd0b26428e48ec2b61d640ec (diff)
substitute location in error output with acme addr
Diffstat (limited to 'uncrust.go')
-rw-r--r--uncrust.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/uncrust.go b/uncrust.go
index 456db8a..2beef5d 100644
--- a/uncrust.go
+++ b/uncrust.go
@@ -7,6 +7,8 @@ import (
"log"
"os"
"os/exec"
+ "path/filepath"
+ "regexp"
"strconv"
"strings"
@@ -17,6 +19,8 @@ import (
var (
fl_lang = flag.String("l", "C", "Language")
fl_verbose = flag.Bool("v", false, "Verbosity on")
+
+ pos_rx = regexp.MustCompile(`File: stdin, orig line is ([\d]+), orig col is ([\d])`)
)
func main() {
@@ -54,7 +58,9 @@ func main() {
if _, ok := e.(*exec.ExitError); ok {
str := stderr.String()
if len(samfile) != 0 {
+ samfile = "./" + filepath.Base(samfile)
str = strings.ReplaceAll(str, "stdin, open_line is ", samfile+":")
+ str = pos_rx.ReplaceAllString(str, fmt.Sprintf("%s:$1:#$2", samfile))
}
log.Fatal("error: " + str)
}
@@ -87,11 +93,11 @@ func main() {
}
if len(edits) > 0 {
- win.Write("ctl", []byte("mark"))
- win.Write("ctl", []byte("nomark"))
if *fl_verbose {
log.Printf("Applying %d diffs:\n%s\n", len(edits), pretty(edits, samfile))
}
+ win.Write("ctl", []byte("mark"))
+ win.Write("ctl", []byte("nomark"))
}
for i := len(edits) - 1; i >= 0; i-- {