mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-04 14:55:41 +02:00
Bug 546981: Treat pragma region like pragma mark in outline view
Treats #pragma region and #pragma endregion similarly to how #pragma mark is treated in outline view. With region and endregion they are always surrounded by divider lines if there is text after region/endregion, else just a divider line is inserted. Change-Id: Idb8bebe94363731e59412a7f31af3b54d53a2c8e
This commit is contained in:
parent
b6a8f778f9
commit
b2c33dfb13
5 changed files with 48 additions and 4 deletions
|
@ -188,6 +188,35 @@ public class CModelElementsTests extends BaseTestCase {
|
||||||
assertEquals(false, pragma.getPragmaMarkInfo().get().isDividerAfterMark());
|
assertEquals(false, pragma.getPragmaMarkInfo().get().isDividerAfterMark());
|
||||||
assertEquals("", pragma.getPragmaMarkInfo().get().getMarkName());
|
assertEquals("", pragma.getPragmaMarkInfo().get().getMarkName());
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
// region no name
|
||||||
|
IPragma pragma = (IPragma) pragmas.get(line++);
|
||||||
|
assertEquals("region", pragma.getElementName());
|
||||||
|
assertEquals(true, pragma.getPragmaMarkInfo().get().isDividerBeforeMark());
|
||||||
|
assertEquals(false, pragma.getPragmaMarkInfo().get().isDividerAfterMark());
|
||||||
|
assertEquals("", pragma.getPragmaMarkInfo().get().getMarkName());
|
||||||
|
}
|
||||||
|
{
|
||||||
|
IPragma pragma = (IPragma) pragmas.get(line++);
|
||||||
|
assertEquals("region named", pragma.getElementName());
|
||||||
|
assertEquals(true, pragma.getPragmaMarkInfo().get().isDividerBeforeMark());
|
||||||
|
assertEquals(true, pragma.getPragmaMarkInfo().get().isDividerAfterMark());
|
||||||
|
assertEquals("named", pragma.getPragmaMarkInfo().get().getMarkName());
|
||||||
|
}
|
||||||
|
{
|
||||||
|
IPragma pragma = (IPragma) pragmas.get(line++);
|
||||||
|
assertEquals("endregion", pragma.getElementName());
|
||||||
|
assertEquals(true, pragma.getPragmaMarkInfo().get().isDividerBeforeMark());
|
||||||
|
assertEquals(false, pragma.getPragmaMarkInfo().get().isDividerAfterMark());
|
||||||
|
assertEquals("", pragma.getPragmaMarkInfo().get().getMarkName());
|
||||||
|
}
|
||||||
|
{
|
||||||
|
IPragma pragma = (IPragma) pragmas.get(line++);
|
||||||
|
assertEquals("endregion endnamed", pragma.getElementName());
|
||||||
|
assertEquals(true, pragma.getPragmaMarkInfo().get().isDividerBeforeMark());
|
||||||
|
assertEquals(true, pragma.getPragmaMarkInfo().get().isDividerAfterMark());
|
||||||
|
assertEquals("endnamed", pragma.getPragmaMarkInfo().get().getMarkName());
|
||||||
|
}
|
||||||
{
|
{
|
||||||
IPragma pragma = (IPragma) pragmas.get(line++);
|
IPragma pragma = (IPragma) pragmas.get(line++);
|
||||||
assertEquals("ms_struct on", pragma.getElementName());
|
assertEquals("ms_struct on", pragma.getElementName());
|
||||||
|
|
|
@ -152,6 +152,9 @@ namespace {
|
||||||
#pragma mark neither
|
#pragma mark neither
|
||||||
#pragma mark -// blank1
|
#pragma mark -// blank1
|
||||||
#pragma mark // blank2
|
#pragma mark // blank2
|
||||||
|
#pragma region // no name
|
||||||
|
#pragma region named
|
||||||
|
#pragma endregion // no name
|
||||||
|
#pragma endregion endnamed
|
||||||
#pragma ms_struct on
|
#pragma ms_struct on
|
||||||
_Pragma("once")
|
_Pragma("once")
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,18 @@ public class Pragma extends SourceManipulation implements IPragma {
|
||||||
markName = restOfLine.trim();
|
markName = restOfLine.trim();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "region": //$NON-NLS-1$
|
||||||
|
case "endregion": { //$NON-NLS-1$
|
||||||
|
if (restOfLine.isEmpty()) {
|
||||||
|
dividerBeforeMark = true;
|
||||||
|
dividerAfterMark = false;
|
||||||
|
} else {
|
||||||
|
dividerBeforeMark = true;
|
||||||
|
dividerAfterMark = true;
|
||||||
|
markName = restOfLine;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,8 +78,8 @@ MacroGroupingAction_tooltip= Group macro definitions
|
||||||
MacroGroupingAction_description= Group macro definitions
|
MacroGroupingAction_description= Group macro definitions
|
||||||
|
|
||||||
HidePragmaMarks_label=Hide Dividers
|
HidePragmaMarks_label=Hide Dividers
|
||||||
HidePragmaMarks_tooltip=Hide Dividers (#pragma mark)
|
HidePragmaMarks_tooltip=Hide Dividers (#pragma mark or #pragma region/endregion)
|
||||||
HidePragmaMarks_description=Hide Dividers (#pragma mark)
|
HidePragmaMarks_description=Hide Dividers (#pragma mark or #pragma region/endregion)
|
||||||
|
|
||||||
COutlineInformationControl_viewMenu_sort_label=Sort
|
COutlineInformationControl_viewMenu_sort_label=Sort
|
||||||
|
|
||||||
|
|
|
@ -188,7 +188,7 @@ AppearancePreferencePage_outlineGroupNamespaces_label= Group namespaces in the O
|
||||||
AppearancePreferencePage_note=Note:
|
AppearancePreferencePage_note=Note:
|
||||||
AppearancePreferencePage_preferenceOnlyForNewViews=These two preferences do not affect open views
|
AppearancePreferencePage_preferenceOnlyForNewViews=These two preferences do not affect open views
|
||||||
AppearancePreferencePage_outlineGroupMacros_label=Group macro definitions in the Outline view
|
AppearancePreferencePage_outlineGroupMacros_label=Group macro definitions in the Outline view
|
||||||
AppearancePreferencePage_HidePragmaMarks_label=Hide Dividers (#pragma mark) in the Outline view
|
AppearancePreferencePage_HidePragmaMarks_label=Hide Dividers (#pragma mark or #pragma region/endregion) in the Outline view
|
||||||
AppearancePreferencePage_showSourceRootsAtTopOfProject_label=Show source roots at top of project
|
AppearancePreferencePage_showSourceRootsAtTopOfProject_label=Show source roots at top of project
|
||||||
|
|
||||||
#Build Logging
|
#Build Logging
|
||||||
|
|
Loading…
Add table
Reference in a new issue