runtime(java): Dismiss "g:markdown_fenced_languages" for Java buffers
Commit:
https://github.com/vim/vim/commit/71149dfec502d7489cd7e46c721f891b486bdbf6
Author: Aliaksei Budavei <
0x00...@gmail.com>
Date: Sun Aug 31 19:16:14 2025 +0200
runtime(java): Dismiss "g:markdown_fenced_languages" for Java buffers
No support is provided or planned for language recognition
in code snippets of documentation comments. Requesting to
load arbitrary syntax plugins with the aid of the concerned
variable is therefore wasteful in general and erroneous when
paired languages ":syn-include" one another without taking
steps to manage circularity.
related: #17308
related: #17220
closes: #18172
Signed-off-by: Aliaksei Budavei <
0x00...@gmail.com>
Signed-off-by: Christian Brabandt <
c...@256bit.org>
diff --git a/runtime/syntax/java.vim b/runtime/syntax/java.vim
index 22b86ed9d..a7c0f4abe 100644
--- a/runtime/syntax/java.vim
+++ b/runtime/syntax/java.vim
@@ -3,7 +3,7 @@
" Maintainer: Aliaksei Budavei <0x000c70 AT gmail DOT com>
" Former Maintainer: Claudio Fleiner <
cla...@fleiner.com>
" Repository:
https://github.com/zzzyxwvut/java-vim.git
-" Last Change: 2025 Aug 07
+" Last Change: 2025 Aug 30
" Please check ":help java.vim" for comments on some of the options
" available.
@@ -447,6 +447,11 @@ if !exists("g:java_ignore_javadoc") && (s:with_html || s:with_markdown) && g:mai
unlet g:html_syntax_folding
endif
+ if !empty(get(g:, 'markdown_fenced_languages', []))
+ let s:markdown_fenced_languages_copy = g:markdown_fenced_languages
+ unlet g:markdown_fenced_languages
+ endif
+
syntax include @javaMarkdown syntax/markdown.vim
try
@@ -464,6 +469,11 @@ if !exists("g:java_ignore_javadoc") && (s:with_html || s:with_markdown) && g:mai
finally
unlet! b:current_syntax
+ if exists("s:markdown_fenced_languages_copy")
+ let g:markdown_fenced_languages = s:markdown_fenced_languages_copy
+ unlet s:markdown_fenced_languages_copy
+ endif
+
if exists("s:html_syntax_folding_copy")
let g:html_syntax_folding = s:html_syntax_folding_copy
unlet s:html_syntax_folding_copy
diff --git a/runtime/syntax/testdir/dumps/java_comments_html_00.dump b/runtime/syntax/testdir/dumps/java_comments_html_00.dump
index 50c110924..5744fdc81 100644
--- a/runtime/syntax/testdir/dumps/java_comments_html_00.dump
+++ b/runtime/syntax/testdir/dumps/java_comments_html_00.dump
@@ -3,7 +3,7 @@
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |u|n|l|e|t|!| |g+0fd7ff255|:+0&#ffffff0|j|a|v|a|_|c|o|n|s|e|n|t|_|t|o|_|h|t|m|l|_|s|y|n|t|a|x|_|f|o|l|d|i|n|g| +0#0000000&@10
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t|[|g|:|j|a|v|a|_|s|p|a|c|e|_|e|r@1|o|r|s|,|g|:|j|a|v|a|_|c|o|m@1|e|n|t|_|s|t|r|i|n|g|s|]|=|[|1+0#e000002&|,+0#0000e05&|1+0#e000002&|]+0#0000e05&| +0#0000000&@1
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t|[|g|:|j|a|v|a|_|i|g|n|o|r|e|_|m|a|r|k|d|o|w|n|,|g|:|h|t|m|l|_|s|y|n|t|a|x|_|f|o|l|d|i|n|g|]|=|[|1+0#e000002&|,+0#0000e05&|1+0#e000002&|]+0#0000e05&
-| +0&#a8a8a8255@1| +0#0000000#ffffff0@72
+| +0&#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|m|a|r|k|d|o|w|n|_|f|e|n|c|e|d|_|l|a|n|g|u|a|g|e|s| |=| |[|"+0#e000002&|j|a|v|a|"|]+0#0000e05&| +0#0000000&@12
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
diff --git a/runtime/syntax/testdir/dumps/java_comments_markdown_00.dump b/runtime/syntax/testdir/dumps/java_comments_markdown_00.dump
index 2fe656fcd..f7fbca8ce 100644
--- a/runtime/syntax/testdir/dumps/java_comments_markdown_00.dump
+++ b/runtime/syntax/testdir/dumps/java_comments_markdown_00.dump
@@ -4,7 +4,7 @@
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t|[|g|:|j|a|v|a|_|i|g|n|o|r|e|_|h|t|m|l|,|g|:|m|a|r|k|d|o|w|n|_|s|y|n|t|a|x|_|c|o|n|c|e|a|l|]|=|[|1+0#e000002&|,+0#0000e05&|1+0#e000002&|]+0#0000e05&
| +0&#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|h|t|m|l|_|s|y|n|t|a|x|_|f|o|l|d|i|n|g| |=| |1+0#e000002&| +0#0000000&@25
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|j|a|v|a|_|c|o|n|s|e|n|t|_|t|o|_|h|t|m|l|_|s|y|n|t|a|x|_|f|o|l|d|i|n|g| |=| |1+0#e000002&| +0#0000000&@9
-| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
+| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|m|a|r|k|d|o|w|n|_|f|e|n|c|e|d|_|l|a|n|g|u|a|g|e|s| |=| |[|"+0#e000002&|j|a|v|a|"|]+0#0000e05&| +0#0000000&@12
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |d|e|f|e|r| |e|x|e|c|u|t|e|(|'|m|a|t|c|h| |V|i|s|u|a|l| |/|\|%|>|2+0#e000002&|1|l|\+0#0000e05&|s|\|+|$|/|'|)| +0#0000000&@11
diff --git a/runtime/syntax/testdir/input/java_comments_html.java b/runtime/syntax/testdir/input/java_comments_html.java
index 15d4a2fad..74e0e1515 100644
--- a/runtime/syntax/testdir/input/java_comments_html.java
+++ b/runtime/syntax/testdir/input/java_comments_html.java
@@ -3,7 +3,7 @@
// VIM_TEST_SETUP unlet! g:java_consent_to_html_syntax_folding
// VIM_TEST_SETUP let[g:java_space_errors,g:java_comment_strings]=[1,1]
// VIM_TEST_SETUP let[g:java_ignore_markdown,g:html_syntax_folding]=[1,1]
-
+// VIM_TEST_SETUP let g:markdown_fenced_languages = ["java"]
diff --git a/runtime/syntax/testdir/input/java_comments_markdown.java b/runtime/syntax/testdir/input/java_comments_markdown.java
index a34af8f39..c6be7312b 100644
--- a/runtime/syntax/testdir/input/java_comments_markdown.java
+++ b/runtime/syntax/testdir/input/java_comments_markdown.java
@@ -4,7 +4,7 @@
// VIM_TEST_SETUP let[g:java_ignore_html,g:markdown_syntax_conceal]=[1,1]
// VIM_TEST_SETUP let g:html_syntax_folding = 1
// VIM_TEST_SETUP let g:java_consent_to_html_syntax_folding = 1
-
+// VIM_TEST_SETUP let g:markdown_fenced_languages = ["java"]
// VIM_TEST_SETUP defer execute('match Visual /\%>21l\s\+$/')