From 906972cb0bd7c08fe1fad7fc4cdbc4ab5c725a23 Mon Sep 17 00:00:00 2001 From: Ryan Sundberg Date: Sun, 8 Aug 2021 15:03:23 -0700 Subject: [PATCH] ftdetect: Support #lang at-exp chains Modifies the regular expression to ignore `at-exp` when present in the #lang statement, and use the next language in the chain. See documentation for #lang at-exp at https://docs.racket-lang.org/scribble/reader-internals.html#%28part._at-exp-lang%29 --- ftdetect/racket.vim | 2 +- test/at-exp.rkt | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 test/at-exp.rkt diff --git a/ftdetect/racket.vim b/ftdetect/racket.vim index 4a9ff08..6ef1c78 100644 --- a/ftdetect/racket.vim +++ b/ftdetect/racket.vim @@ -1,4 +1,4 @@ -let g:racket_hash_lang_regexp = '^#lang\s\+\([^][)(}{[:space:]]\+\)' +let g:racket_hash_lang_regexp = '^#lang\s\+\%\(\\s\+\)\?\([^][)(}{[:space:]]\+\)' let g:racket_hash_lang_dict = get(g:, 'racket_hash_lang_dict', \ { \ 'racket/base': 'racket', diff --git a/test/at-exp.rkt b/test/at-exp.rkt new file mode 100644 index 0000000..9f98a78 --- /dev/null +++ b/test/at-exp.rkt @@ -0,0 +1,9 @@ +#lang at-exp racket + +(define (bar) + "BAR") + +(define (foo) + (displayln @~a{Foo is a @(bar)})) + +(foo)