Skip to content

Commit 143686b

Browse files
zzzyxwvutchrisbra
authored andcommitted
runtime(java): Fold adjacent "import" declarations
Also, distinguish (by abbreviating their names) and manage foldable kinds of syntax items: blocks of code ("b"), plain comments ("c"), Javadoc comments ("d"), adjacent "import" declarations ("i"). Fold all qualifying items by default; otherwise, do not fold items of explicitly delisted kinds. For example, ------------------------------------------------------------ let g:java_ignore_folding = "bcdi" ------------------------------------------------------------ Resolves zzzyxwvut/java-vim#12. closes: #18492 Signed-off-by: Aliaksei Budavei <[email protected]> Signed-off-by: Christian Brabandt <[email protected]>
1 parent 97d1255 commit 143686b

22 files changed

+438
-258
lines changed

runtime/doc/syntax.txt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2214,14 +2214,17 @@ Note that these three variables are maintained in the HTML syntax file.
22142214
Numbers and strings can be recognized in non-Javadoc comments with >
22152215
:let g:java_comment_strings = 1
22162216
2217-
When 'foldmethod' is set to "syntax", blocks of code and multi-line comments
2218-
will be folded. No text is usually written in the first line of a multi-line
2219-
comment, making folded contents of Javadoc comments less informative with the
2220-
default 'foldtext' value; you may opt for showing the contents of a second
2221-
line for any comments written in this way, and showing the contents of a first
2222-
line otherwise, with >
2217+
When 'foldmethod' is set to "syntax", multi-line blocks of code ("b"), plain
2218+
comments ("c"), Javadoc comments ("d"), and adjacent "import" declarations
2219+
("i") will be folded by default. Syntax items of any supported kind will
2220+
remain NOT foldable when its abbreviated name is delisted with >
2221+
:let g:java_ignore_folding = "bcdi"
2222+
No text is usually written in the first line of a multi-line comment, making
2223+
folded contents of Javadoc comments less informative with the default
2224+
'foldtext' value; you may opt for showing the contents of a second line for
2225+
any comments written in this way, and showing the contents of a first line
2226+
otherwise, with >
22232227
:let g:java_foldtext_show_first_or_second_line = 1
2224-
22252228
HTML tags in Javadoc comments can additionally be folded by following the
22262229
instructions listed under |html-folding| and giving explicit consent with >
22272230
:let g:java_consent_to_html_syntax_folding = 1

runtime/syntax/java.vim

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
" Maintainer: Aliaksei Budavei <0x000c70 AT gmail DOT com>
44
" Former Maintainer: Claudio Fleiner <[email protected]>
55
" Repository: https://github.com/zzzyxwvut/java-vim.git
6-
" Last Change: 2025 Oct 04
6+
" Last Change: 2025 Oct 08
77

88
" Please check ":help java.vim" for comments on some of the options
99
" available.
@@ -59,6 +59,10 @@ else
5959
endfunction
6060
endif
6161

62+
function! s:ff.QueryFoldArgForSyntaxItems(kind) abort
63+
return stridx(s:java_ignore_folding, a:kind) < 0 ? "fold" : ""
64+
endfunction
65+
6266
if !exists("*s:ReportOnce")
6367
function s:ReportOnce(message) abort
6468
echomsg 'syntax/java.vim: ' . a:message
@@ -90,6 +94,8 @@ if exists("g:java_foldtext_show_first_or_second_line")
9094
setlocal foldtext=JavaSyntaxFoldTextExpr()
9195
endif
9296

97+
let s:java_ignore_folding = get(g:, 'java_ignore_folding', '')
98+
9399
" Admit the ASCII dollar sign to keyword characters (JLS-17, §3.8):
94100
try
95101
exec 'syntax iskeyword ' . &l:iskeyword . ',$'
@@ -121,6 +127,11 @@ syn match javaOperator "\<var\>\%(\s*(\)\@!"
121127
syn match javaExternal "\<import\s\+module\>" contains=javaModuleImport
122128
syn keyword javaModuleImport contained module
123129

130+
if !empty(s:ff.QueryFoldArgForSyntaxItems('i'))
131+
" Group and fold adjacent "import" declarations.
132+
syn region javaImportDeclBlock transparent start="\<import\s\+\K" skip="\<import\s\+\K" end="^" contains=javaExternal,@javaClasses,javaComment,javaLineComment fold
133+
endif
134+
124135
" Since the yield statement, which could take a parenthesised operand,
125136
" and _qualified_ yield methods get along within the switch block
126137
" (JLS-17, §3.8), it seems futile to make a region definition for this
@@ -380,7 +391,7 @@ syn keyword javaLabelDefault contained default
380391
syn keyword javaLabelVarType contained var
381392
" Allow for the contingency of the enclosing region not being able to
382393
" _keep_ its _end_, e.g. case ':':.
383-
syn region javaLabelWhenClause contained transparent matchgroup=javaLabel start="\<when\>" matchgroup=NONE end=":"me=e-1 end="->"me=e-2 contains=TOP,javaExternal,javaLambdaDef
394+
syn region javaLabelWhenClause contained transparent matchgroup=javaLabel start="\<when\>" matchgroup=NONE end=":"me=e-1 end="->"me=e-2 contains=TOP,javaImportDeclBlock,javaExternal,javaLambdaDef
384395

385396
" Comments
386397
syn keyword javaTodo contained TODO FIXME XXX
@@ -396,7 +407,7 @@ if exists("g:java_comment_strings")
396407
syn cluster javaCommentSpecial2 add=javaComment2String,javaCommentCharacter,javaNumber,javaStrTempl
397408
endif
398409

399-
syn region javaComment matchgroup=javaCommentStart start="/\*" end="\*/" contains=@javaCommentSpecial,javaTodo,javaCommentError,javaSpaceError,@Spell fold
410+
exec 'syn region javaComment matchgroup=javaCommentStart start="/\*" end="\*/" contains=@javaCommentSpecial,javaTodo,javaCommentError,javaSpaceError,@Spell ' . s:ff.QueryFoldArgForSyntaxItems('c')
400411
syn match javaCommentStar contained "^\s*\*[^/]"me=e-1
401412
syn match javaCommentStar contained "^\s*\*$"
402413
syn match javaLineComment "//.*" contains=@javaCommentSpecial2,javaTodo,javaCommentMarkupTag,javaSpaceError,@Spell
@@ -510,7 +521,7 @@ if !exists("g:java_ignore_javadoc") && (s:with_html || s:with_markdown) && g:mai
510521
endtry
511522

512523
if s:with_markdown
513-
syn region javaMarkdownComment start="///" skip="^\s*///.*$" end="^" keepend contains=javaMarkdownCommentTitle,javaMarkdownShortcutLink,@javaMarkdown,@javaDocTags,javaTodo,@Spell nextgroup=javaMarkdownCommentTitle fold
524+
exec 'syn region javaMarkdownComment start="///" skip="^\s*///.*$" end="^" keepend contains=javaMarkdownCommentTitle,javaMarkdownShortcutLink,@javaMarkdown,@javaDocTags,javaTodo,@Spell nextgroup=javaMarkdownCommentTitle ' . s:ff.QueryFoldArgForSyntaxItems('d')
514525
syn match javaMarkdownCommentMask contained "^\s*///"
515526
exec 'syn region javaMarkdownCommentTitle contained matchgroup=javaMarkdownComment start="\%(///.*\r\=\n\s*\)\@' . s:ff.PeekFor('javaMarkdownCommentTitle', 120) . '<!///" matchgroup=javaMarkdownCommentTitle end="\.$" end="\.[ \t\r]\@=" end="\n\%(\s*///\s*$\)\@=" end="\%(^\s*///\s*\)\@' . s:ff.PeekFor('javaMarkdownCommentTitle', 120) . '<=@"me=s-2,he=s-1 contains=javaMarkdownShortcutLink,@javaMarkdown,javaMarkdownCommentMask,javaTodo,@Spell,@javaDocTags'
516527
exec 'syn region javaMarkdownCommentTitle contained matchgroup=javaMarkdownComment start="\%(///.*\r\=\n\s*\)\@' . s:ff.PeekFor('javaMarkdownCommentTitle', 120) . '<!///\s*\%({@return\>\)\@=" matchgroup=javaMarkdownCommentTitle end="}\%(\s*\.*\)*" contains=javaMarkdownShortcutLink,@javaMarkdown,javaMarkdownCommentMask,javaTodo,@Spell,@javaDocTags,javaTitleSkipBlock'
@@ -565,7 +576,7 @@ if !exists("g:java_ignore_javadoc") && (s:with_html || s:with_markdown) && g:mai
565576
endif
566577

567578
if s:with_html
568-
syn region javaDocComment start="/\*\*" end="\*/" keepend contains=javaCommentTitle,@javaHtml,@javaDocTags,javaTodo,javaCommentError,javaSpaceError,@Spell fold
579+
exec 'syn region javaDocComment start="/\*\*" end="\*/" keepend contains=javaCommentTitle,@javaHtml,@javaDocTags,javaTodo,javaCommentError,javaSpaceError,@Spell ' . s:ff.QueryFoldArgForSyntaxItems('d')
569580
exec 'syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*" matchgroup=javaCommentTitle end="\.$" end="\.[ \t\r]\@=" end="\%(^\s*\**\s*\)\@' . s:ff.PeekFor('javaCommentTitle', 120) . '<=@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,@javaDocTags'
570581
syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*\s*\r\=\n\=\s*\**\s*\%({@return\>\)\@=" matchgroup=javaCommentTitle end="}\%(\s*\.*\)*" contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,@javaDocTags,javaTitleSkipBlock
571582
syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*\s*\r\=\n\=\s*\**\s*\%({@summary\>\)\@=" matchgroup=javaCommentTitle end="}" contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,@javaDocTags,javaTitleSkipBlock
@@ -690,7 +701,7 @@ syn region javaString start=+"""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=
690701
syn match javaTextBlockError +"""\s*"""+
691702

692703
if s:ff.IsAnyRequestedPreviewFeatureOf([430])
693-
syn region javaStrTemplEmbExp contained matchgroup=javaStrTempl start="\\{" end="}" contains=TOP
704+
syn region javaStrTemplEmbExp contained matchgroup=javaStrTempl start="\\{" end="}" contains=TOP,javaImportDeclBlock
694705
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.PeekFor('javaStrTempl', 80) . '<="+ end=+"+ contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,@Spell'
695706
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.PeekFor('javaStrTempl', 80) . '<="""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,javaTextBlockError,@Spell'
696707
hi def link javaStrTempl Macro
@@ -751,7 +762,7 @@ if exists("g:java_highlight_functions")
751762
" in order to not include javaFuncDef.
752763
syn region javaParenE transparent matchgroup=javaParen start="(" end=")" contains=@javaEnumConstants,javaInParen
753764
syn region javaParenE transparent matchgroup=javaParen start="\[" end="\]" contains=@javaEnumConstants
754-
syn cluster javaEnumConstants contains=TOP,javaTopEnumDeclaration,javaFuncDef,javaParenT
765+
syn cluster javaEnumConstants contains=TOP,javaTopEnumDeclaration,javaImportDeclBlock,javaFuncDef,javaParenT
755766
unlet s:indent s:last
756767
else
757768
" This is the "style" variant (:help ft-java-syntax).
@@ -822,7 +833,7 @@ syn region javaBlockOther transparent matchgroup=javaBlockOtherStart start="{" e
822833

823834
" Try not to fold top-level-type bodies under assumption that there is
824835
" but one such body.
825-
exec 'syn region javaBlock transparent matchgroup=javaBlockStart start="\%(^\|^\S[^:]\+\)\@' . s:ff.PeekFor('javaBlock', 120) . '<!{" end="}" fold'
836+
exec 'syn region javaBlock transparent matchgroup=javaBlockStart start="\%(^\|^\S[^:]\+\)\@' . s:ff.PeekFor('javaBlock', 120) . '<!{" end="}" ' . s:ff.QueryFoldArgForSyntaxItems('b')
826837

827838
" See "D.2.1 Anonymous Classes" at
828839
" https://web.archive.org/web/20010821025330/java.sun.com/docs/books/jls/first_edition/html/1.1Update.html#12959.
@@ -966,7 +977,7 @@ endif
966977

967978
let b:spell_options = "contained"
968979
let &cpo = s:cpo_save
969-
unlet s:cpo_save s:ff s:with_html s:with_markdown
980+
unlet s:cpo_save s:ff s:java_ignore_folding s:with_html s:with_markdown
970981

971982
" See ":help vim9-mix".
972983
if !has("vim9script")
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
| +0#0000e05#a8a8a8255@1>/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |s|e|t|l|o|c|a|l| |f|o|l|d|e|n|a|b|l|e| |f|o|l|d|c|o|l|u|m|n|=|2| |f|o|l|d|m|e|t|h|o|d|=|s|y|n|t|a|x| +0#0000000&@4
1+
| +0#0000e05#a8a8a8255@1>/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |s|e|t|l|o|c|a|l| |f|e|n| |f|d|c|=|2| |f|d|l|=|8| |f|d|m|=|s|y|n|t|a|x| +0#0000000&@19
22
| +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|_|f|o|l|d|t|e|x|t|_|s|h|o|w|_|f|i|r|s|t|_|o|r|_|s|e|c|o|n|d|_|l|i|n|e| |=| |1| +0#0000000&@5
3+
| +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|_|h|i|g|h|l|i|g|h|t|_|j|a|v|a|_|l|a|n|g| |=| |1| +0#0000000&@20
4+
| +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|_|f|o|l|d|i|n|g| |=| |"|x|"| +0#0000000&@23
35
| +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|_|l|o@1|k|b|e|h|i|n|d|_|b|y|t|e|_|c|o|u|n|t|s| |=| |{|'|j|a|v|a|B|l|o|c|k|'|:| |-|1|}| +0#0000000&@1
6+
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
7+
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
8+
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
9+
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
10+
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
411
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |j|a|v|a|B|l|o|c|k|O|t|h|e|r|S|t|a|r|t| |S|t|r|u|c|t|u|r|e| +0#0000000&@10
512
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |j|a|v|a|B|l|o|c|k|S|t|a|r|t| |T|o|d|o| +0#0000000&@20
613
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
7-
|++0#0000e05#a8a8a8255| |+|-@1| |1|9| |l|i|n|e|s|:| |@|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|{|-@39
8-
| @1|c+0#00e0003#ffffff0|l|a|s@1| +0#0000000&|F|o|l|d|i|n|g|T|e|s|t|s| |{+0#00e0003&| +0#0000000&@52
9-
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|F|o|l|d|e|n|a|b|l|e| @48
10-
|++0#0000e05#a8a8a8255| |+|-@1| @1|2| |l|i|n|e|s|:| |{|-@57
11-
| @1| +0#0000000#ffffff0@72
12-
|++0#0000e05#a8a8a8255| |+|-@1| |1|9| |l|i|n|e|s|:| |s|t|a|t|i|c| |{|-@50
13-
| @1| +0#0000000#ffffff0@72
14-
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|{+0#0000001#ffff4012| +0#0000000#ffffff0|O|b|j|e|c|t| |b@1| |=| |(@1|O|b|j|e|c|t|)| |n+0#af5f00255&|e|w| +0#0000000&|b+0#00e0003&|y|t|e|[+0#0000000&|]|{+0#0000001#ffff4012|}|)+0#0000000#ffffff0|;| |}+0#0000001#ffff4012| +0#0000000#ffffff0@28
15-
|++0#0000e05#a8a8a8255| |+|-@1| @1|8| |l|i|n|e|s|:| |{|-@57
16-
| @1|/+0&#ffffff0|*|\@2|*|/| +0#0000000&|{+0#00e0003&| +0#0000000&@63
17-
|++0#0000e05#a8a8a8255| |+|-@1| @1|5| |l|i|n|e|s|:| |(|n|e|w| |j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|O|b|j|e|c|t|,| |O|b|j|e|c|t|>|(|)| |{|-@6
18-
|+| |+|-@1| @1|5| |l|i|n|e|s|:| |(|n|e|w| |j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|O|b|j|e|c|t|,| |O|b|j|e|c|t|>|(|)| |{|-@6
19-
| @1| +0#0000000#ffffff0@3|}+0#00e0003&| +0#0000000&@67
14+
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
15+
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
16+
|-+0#0000e05#a8a8a8255| |/+0&#ffffff0|*@2|/| +0#0000000&@1|i+0#e000e06&|m|p|o|r|t| +0#0000000&|j|a|v|a|.|l|a|n|g|.|C+0#00e0003&|o|m|p|a|r|a|b|l|e|;+0#0000000&| |/+0#0000e05&|*| +0#0000000&@34
17+
|2+0#0000e05#a8a8a8255| |i+0&#ffffff0|m|p|o|r|t| |j|a|v|a|.|l|a|n|g|.|O|b|j|e|c|t|;| +0#0000000&@48
18+
|2+0#0000e05#a8a8a8255| |i+0&#ffffff0|m|p|o|r|t| |j|a|v|a|.|l|a|n|g|.|S|t|r|i|n|g|;| +0#0000000&@48
19+
|2+0#0000e05#a8a8a8255| |*+0&#ffffff0|/| +0#0000000&@70
2020
@57|1|,|1| @10|T|o|p|
Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|{+0#0000001#ffff4012| +0#0000000#ffffff0|O|b|j|e|c|t| |b@1| |=| |(@1|O|b|j|e|c|t|)| |n+0#af5f00255&|e|w| +0#0000000&|b+0#00e0003&|y|t|e|[+0#0000000&|]|{+0#0000001#ffff4012|}|)+0#0000000#ffffff0|;| |}+0#0000001#ffff4012| +0#0000000#ffffff0@28
2-
|++0#0000e05#a8a8a8255| |+|-@1| @1|8| |l|i|n|e|s|:| |{|-@57
3-
| @1|/+0&#ffffff0|*|\@2|*|/| +0#0000000&|{+0#00e0003&| +0#0000000&@63
4-
|++0#0000e05#a8a8a8255| |+|-@1| @1|5| |l|i|n|e|s|:| |(|n|e|w| |j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|O|b|j|e|c|t|,| |O|b|j|e|c|t|>|(|)| |{|-@6
5-
|+| |+|-@1| @1|5| |l|i|n|e|s|:| |(|n|e|w| |j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|<|O|b|j|e|c|t|,| |O|b|j|e|c|t|>|(|)| |{|-@6
6-
| @1| +0#0000000#ffffff0@3>}+0#00e0003&| +0#0000000&@67
71
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
8-
|++0#0000e05#a8a8a8255| |+|-@1| @1|3| |l|i|n|e|s|:| @2|*| |N|o| |o|p|e|r|a|t|i|o|n|.|-@41
9-
| @1| +0#0000000#ffffff0@3|v+0#00e0003&|o|i|d| +0#0000000&|n|o|O|p|1|(|)| |{+0#0000001#ffff4012| +0#0000000#ffffff0|}+0#0000001#ffff4012| +0#0000000#ffffff0@52
10-
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&|*@1| +0#e000e06&|N|o| |o|p|e|r|a|t|i|o|n|.| +0#0000e05&|*|/| +0#0000000&@48
11-
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|v+0#00e0003&|o|i|d| +0#0000000&|n|o|O|p|2|(|)| @56
12-
|++0#0000e05#a8a8a8255| |+|-@1| @1|2| |l|i|n|e|s|:| |{|-@57
13-
| @1| +0#0000000#ffffff0@3|/+0#0000e05&|*@1| +0#e000e06&|N|o| |o|p|e|r|a|t|i|o|n|.| +0#0000e05&|*|/| +0#0000000&@48
14-
|++0#0000e05#a8a8a8255| |+|-@1| @1|2| |l|i|n|e|s|:| |v|o|i|d| |n|o|O|p|3|(|)| |{|-@44
15-
| @1| +0#0000000#ffffff0@3|/+0#0000e05&|*@1| +0#e000e06&|N|o| |o|p|e|r|a|t|i|o|n|.| +0#0000e05&|*|/| +0#0000000&@48
16-
|++0#0000e05#a8a8a8255| |+|-@1| @1|2| |l|i|n|e|s|:| |v|o|i|d| |n|o|O|p|4|(|)| |{|-@44
17-
| @1| +0#0000000#ffffff0@72
18-
|++0#0000e05#a8a8a8255| |+|-@1| @1|3| |l|i|n|e|s|:| |/| |N|o| |o|p|e|r|a|t|i|o|n|.|-@43
19-
| @1| +0#0000000#ffffff0@3|v+0#00e0003&|o|i|d| +0#0000000&|n|o|O|p|5|(|)| |{+0#0000001#ffff4012| +0#0000000#ffffff0|}+0#0000001#ffff4012| +0#0000000#ffffff0@52
20-
@57|7|1|,|2|-|5| @7|6|1|%|
2+
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
3+
|-+0#0000e05#a8a8a8255| |/+0&#ffffff0|*@2|/| +0#0000000&@1|i+0#e000e06&|m|p|o|r|t| +0#0000000&|j|a|v|a|.|l|a|n|g|.|C+0#00e0003&|o|m|p|a|r|a|b|l|e|;+0#0000000&| |/+0#0000e05&|*| +0#0000000&@34
4+
|2+0#0000e05#a8a8a8255| |i+0&#ffffff0|m|p|o|r|t| |j|a|v|a|.|l|a|n|g|.|O|b|j|e|c|t|;| +0#0000000&@48
5+
|2+0#0000e05#a8a8a8255| |i+0&#ffffff0|m|p|o|r|t| |j|a|v|a|.|l|a|n|g|.|S|t|r|i|n|g|;| +0#0000000&@48
6+
|2+0#0000e05#a8a8a8255| >*+0&#ffffff0|/| +0#0000000&@70
7+
||+0#0000e05#a8a8a8255| |i+0#e000e06#ffffff0|m|p|o|r|t| +0#0000000&|j|a|v|a|.|l|a|n|g|.|S+0#e000002&|t|r|i|n|g|;+0#0000000&| @48
8+
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
9+
|-+0#0000e05#a8a8a8255| |i+0#e000e06#ffffff0|m|p|o|r|t| +0#0000000&|j|a|v|a|.|l|a|n|g|.|C+0#00e0003&|o|m|p|a|r|a|b|l|e|;+0#0000000&| @3|/+0#0000e05&|*@2|/| +0#0000000&@35
10+
||+0#0000e05#a8a8a8255| |i+0#e000e06#ffffff0|m|p|o|r|t| +0#0000000&|j|a|v|a|.|l|a|n|g|.|O+0#e000002&|b|j|e|c|t|;+0#0000000&| @3|/+0#0000e05&@1| |/@1| +0#0000000&@39
11+
||+0#0000e05#a8a8a8255| |i+0#e000e06#ffffff0|m|p|o|r|t| +0#0000000&|j|a|v|a|.|l|a|n|g|.|S+0#e000002&|t|r|i|n|g|;+0#0000000&| @3|/+0#0000e05&|*@2|/| +0#0000000&@39
12+
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
13+
| +0#0000e05#a8a8a8255@1|i+0#e000e06#ffffff0|m|p|o|r|t| +0#0000000&|j|a|v|a|.|u|t|i|l|.|f|u|n|c|t|i|o|n|.|F|u|n|c|t|i|o|n|;| @37
14+
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|{+0#0000001#ffff4012| +0#0000000#ffffff0@49
15+
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|"@2| @65
16+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@3|b|e|s|p|o|k|e| +0#0000000&@61
17+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@3|/|*| +0#0000000&@66
18+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@4|*| +0#0000000&@66
19+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@4|*|/| +0#0000000&@65
20+
@57|1|9|,|1| @9|1|0|%|
Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|v+0#00e0003&|o|i|d| +0#0000000&|n|o|O|p|5|(|)| |{+0#0000001#ffff4012| +0#0000000#ffffff0|}+0#0000001#ffff4012| +0#0000000#ffffff0@52
2-
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|/+0#0000e05&@2| +0#e000e06&|N|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@51
3-
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|v+0#00e0003&|o|i|d| +0#0000000&|n|o|O|p|6|(|)| @56
4-
|++0#0000e05#a8a8a8255| |+|-@1| @1|2| |l|i|n|e|s|:| |{|-@57
5-
| @1| +0#0000000#ffffff0@3|/+0#0000e05&@2| +0#e000e06&|N|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@51
6-
|++0#0000e05#a8a8a8255| >+|-@1| @1|2| |l|i|n|e|s|:| |v|o|i|d| |n|o|O|p|7|(|)| |{|-@44
7-
| @1| +0#0000000#ffffff0@3|/+0#0000e05&@2| +0#e000e06&|N|o| |o|p|e|r|a|t|i|o|n|.| +0#0000000&@51
8-
|++0#0000e05#a8a8a8255| |+|-@1| @1|2| |l|i|n|e|s|:| |v|o|i|d| |n|o|O|p|8|(|)| |{|-@44
9-
| @1|}+0#00e0003#ffffff0| +0#0000000&@71
1+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@4|*|/| +0#0000000&@65
2+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@3|/|*@1| +0#0000000&@65
3+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@4|*| +0#0000000&@66
4+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@4|*|/| +0#0000000&@65
5+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@3|/@2| +0#0000000&@65
6+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@3>/@2| +0#0000000&@65
7+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@3|/@2| +0#0000000&@65
8+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@3|/@1| +0#0000000&@66
9+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@3|/@1| +0#0000000&@66
10+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@3|/@1| +0#0000000&@66
11+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@3|{| +0#0000000&@67
12+
||+0#0000e05#a8a8a8255| | +0#e000002#ffffff0@3|}| +0#0000000&@67
13+
||+0#0000e05#a8a8a8255| |"+0#0000000#ffffff0@2| @69
14+
||+0#0000e05#a8a8a8255| |}+0#0000001#ffff4012|)+0#e000e06#ffffff0| +0#0000000&@70
15+
| +0#0000e05#a8a8a8255@1|c+0#00e0003#ffffff0|l|a|s@1| +0#0000000&|F|o|l|d|i|n|g|T|e|s|t|s| |{+0#00e0003&| +0#0000000&@52
16+
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|F|o|l|d|a|b|l|e| @50
17+
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|{+0#0000001#ffff4012| +0#0000000#ffffff0@67
18+
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|}+0#0000001#ffff4012| +0#0000000#ffffff0@67
1019
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
11-
|++0#0000e05#a8a8a8255| |+|-@1| @1|5| |l|i|n|e|s|:| @1|*| |S|o|m|e| |n|o|t|e|.|-@45
12-
|+| |+|-@1| @1|5| |l|i|n|e|s|:| @1|*| |A| |s|u|m@1|a|r|y|.|-@45
13-
|+| |+|-@1| @1|3| |l|i|n|e|s|:| |/| |A| |s|u|m@1|a|r|y|.|-@46
14-
| @1|/+0&#ffffff0@1| +0#0000000&@70
15-
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |{| +0#0000000&@68
16-
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |}| +0#0000000&@68
17-
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
18-
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0|*| |1|2@1|||.@65
19-
| +0&#a8a8a8255@1|.+0&#ffffff0@23|*|/| +0#0000000&|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|F|o|l|d|e|n|a|b|l|e| |{+0#00e0003&| +0#0000000&@23
20-
@57|9|7|,|2|-|1| @7|9|8|%|
20+
@57|3|7|,|2|-|5| @7|2|4|%|

0 commit comments

Comments
 (0)