JavaFolding: added folding for multiline comments (IDEA-106702), added header for javadocs foldings (IDEA-144788)

This commit is contained in:
Artemiy Sartakov
2019-01-24 19:07:44 +07:00
parent 9ad6e6ea10
commit 5b31737289
9 changed files with 449 additions and 88 deletions
@@ -0,0 +1,67 @@
<fold text='/** outer class javadoc ...*/'>/**
* outer class javadoc
* javadoc body
*/</fold>
class Test {
<fold text='/** method javadoc ...*/'>/**
* method javadoc
* javadoc body
*
* @param i
*/</fold>
void foo(int i) <fold text='{...}'>{
<fold text='/** method var javadoc ...*/'>/**
* method var javadoc
* javadoc body
*/</fold>
int j = i;
}</fold>
<fold text='/**...*/'>/**ill-formed javadoc
*/</fold>
void bar(char c) <fold text='{}'>{
}</fold>
<fold text='/**...*/'>/**
*/</fold>
void emptyJavadoc() <fold text='{}'>{
}</fold>
<fold text='/**...*/'>/***/</fold>
void oneLineEmptyJavadoc() <fold text='{}'>{
}</fold>
<fold text='/** dangling javadoc ...*/'>/**
* dangling javadoc
* javadoc body
*/</fold>
<fold text='/** inner class javadoc ...*/'>/**
* inner class javadoc
* javadoc body
*/</fold>
class Inner <fold text='{...}'>{
<fold text='/** javadoc for method in inner class ...*/'>/**
* javadoc for method in inner class
* javadoc body
*/</fold>
void foo() <fold text='{...}'>{
<fold text='/** javadoc for class in method ...*/'>/**
* javadoc for class in method
* javadoc body
*/</fold>
class MethodInner <fold text='{...}'>{
<fold text='/** javadoc for method inside class defined in method ...*/'>/**
* javadoc for method inside class defined in method
* javadoc body
*/</fold>
void bar() <fold text='{}'>{
}</fold>
}</fold>
}</fold>
}</fold>
}
@@ -0,0 +1,44 @@
<fold text='/*...*/'>/*
outer class comment
*/</fold>
class Test {
<fold text='/*...*/'>/*
dangling multiline commnent
*/</fold>
<fold text='/*...*/'>/*
field comment
*/</fold>
int field;
<fold text='/*...*/'>/*
method comment
*/</fold>
void foo() <fold text='{...}'>{
<fold text='/*...*/'>/*
method var comment
*/</fold>
final int i = 42;
}</fold>
<fold text='/*...*/'>/*
inner class comment
*/</fold>
class Inner <fold text='{...}'>{
<fold text='/*...*/'>/*
inner class method comment
*/</fold>
void foo() <fold text='{...}'>{
class MethodInner <fold text='{...}'>{
<fold text='/*...*/'>/*
method inside class declared in method comment
*/</fold>
void foo() <fold text='{}'>{
}</fold>
}</fold>
}</fold>
}</fold>
}