summaryrefslogtreecommitdiff
path: root/.config/nvim/compiler/racket.vim
diff options
context:
space:
mode:
authorMike Vink <mike@pionative.com>2025-02-08 08:16:07 +0100
committerMike Vink <mike@pionative.com>2025-02-08 08:16:07 +0100
commit7d30d2272ef59166c1b382cab324a400a42d577d (patch)
tree8f153f04818c7622b9cd2a3e1a18f9dcce1a1104 /.config/nvim/compiler/racket.vim
parentfd48011d2ef530b392df72e8685da4e8a2a54d1d (diff)
copy config
Diffstat (limited to '.config/nvim/compiler/racket.vim')
-rw-r--r--.config/nvim/compiler/racket.vim26
1 files changed, 26 insertions, 0 deletions
diff --git a/.config/nvim/compiler/racket.vim b/.config/nvim/compiler/racket.vim
new file mode 100644
index 0000000..1f98a41
--- /dev/null
+++ b/.config/nvim/compiler/racket.vim
@@ -0,0 +1,26 @@
+if exists('current_compiler')
+ finish
+endif
+let current_compiler = 'go-test'
+
+if exists(':CompilerSet') != 2
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+" The errorformat can also use vim's regular expression syntax (albeit in a rather awkward way) which gives us a solution to the problem. We can use a non-capturing group and a zero-width assertion to require the presence of these signaling phrases without consuming them. This then allows the %m to pick them up. As plain regular expression syntax this zero-width assertion looks like:
+"
+" \%(undefined reference\|multiple definition\)\@=
+"
+" But in order to use it in efm we need to replace \ by %\ and % by %%
+
+
+CompilerSet makeprg=compile\ racket
+CompilerSet errorformat=\%Z%*\\S%.%#,
+ \%C\ \ \ %f:%l:%c,
+ \%C\ \ \ %f:%l:%c:\ %m,
+ \%C\ \ %.%#%\\%%(module%\\spath:%\\\|at\:%\\\|in\:%\\\|expected\:%\\\|given\:%\\)%\\@=%m,
+ \%C\ %.%#,
+ \%E%\\%%(%\\w%\\)%\\@=%f:%*\\d:%*\\d:\ %m,
+ \%E%*\\f:%*\\d:%*\\d:\ %m,
+ \%E%\\%%(%\\S%\\+:%\\\|%\.%\\+--%\\)%\\@=%m,
+" vim: sw=2 sts=2 et