Amy Grinn <grinn....@gmail.com> writes: > Ihor Radchenko <yanta...@posteo.net> writes: > >> Amy Grinn <grinn....@gmail.com> writes: >> >>> I would like to add support for setting 'org-babel-noweb-wrap-start and >>> 'org-babel-noweb-wrap-end for each src block individually >> >> May you please explain the use case when changing the default values >> is useful? > > Of course! Changing the default values can be useful to prevent syntax > highlighting errors in a specific language. In the example I gave, <<< > and >>> aren't recognized as the beginning of a heredoc in a shell > script the way <<firewall-safe-mode>> would be.
To expand on this, some major modes can fundamentally conflict with the default noweb syntax. Here is a valid shell script *and* a valid noweb reference to a block named EOF: cat <<EOF>> file.txt Hello EOF I hope this helps explain why the wrap-start and wrap-end options were necessary to include more than a decade ago. In terms of actually using them, it's a bit cumbersome, especially in Org mode buffers that use multiple languages. The second diff I sent (under the termux handle, accidentally) is my preferred solution (:noweb yes <<< >>>). This would avoid the need for new header arguments to be introduced while maintaining backwards compatibility. It also feels natural to specify the two options together: I can't think of a good reason to only need to specify the wrap-end option.