summaryrefslogtreecommitdiffstats
path: root/contrib/nvi/perl_scripts/make.pl
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/nvi/perl_scripts/make.pl')
-rw-r--r--contrib/nvi/perl_scripts/make.pl27
1 files changed, 27 insertions, 0 deletions
diff --git a/contrib/nvi/perl_scripts/make.pl b/contrib/nvi/perl_scripts/make.pl
new file mode 100644
index 0000000..118dd99
--- /dev/null
+++ b/contrib/nvi/perl_scripts/make.pl
@@ -0,0 +1,27 @@
+sub make {
+ open MAKE, "make 2>&1 1>/dev/null |";
+ while(<MAKE>) {
+ if (($file, $line, $msg) = /([^: ]*):(\d*):(.+)/) {
+ if ($file == $prevfile && $line == $prevline) {
+ $error[-1]->[2] .= "\n$msg";
+ } else {
+ push @error, [$file, $line, $msg];
+ ($prevline, $prevfile) = ($line, $file);
+ }
+ }
+ }
+ close MAKE;
+}
+
+sub nexterror {
+ if ($index <= $#error) {
+ my $error = $error[$index++];
+ $curscr->Edit($error->[0]);
+ $curscr->SetCursor($error->[1],0);
+ $curscr->Msg($error->[2]);
+ }
+}
+
+# preverror is left as an exercise
+
+1;
OpenPOWER on IntegriCloud