Topic: Pre-processor "Uncollapsable" Regions


Author: wm.hemsworth@gmail.com
Date: Mon, 18 Dec 2017 17:38:41 -0800 (PST)
Raw View
------=_Part_7373_2135435319.1513647521682
Content-Type: multipart/alternative;
 boundary="----=_Part_7374_435929563.1513647521683"

------=_Part_7374_435929563.1513647521683
Content-Type: text/plain; charset="UTF-8"

This would be helpful because I often select the entire source code, and
use *CTRL-A* then *CTRL-M* to collapse/expand all the code. For large files
with lots of functions, this can make them much easier to navigate through.

In projects with a large number of files, I add header-guards to my headers,
and I find it frustrating that they get collapsed too. Here is an ideal
snippet
of code showing the new feature I would like for the pre-processor:


 *-*
*| #ifndef FILE_H_INCLUDED  | #define*
* FILE_H_INCLIDED*  *|*
  *|* *#pragma region (disable:comments) // This disables comments from
being collapsed*
  *|*
 *-**|* *// Node comment (not collapsed on CTRL-M)*
* +**|* *struct** Node* * {  ...  } *
  *|*
 *-**|* */* Table Multi-line comment*
  *|*    *(not collapsed on CTRL-M)*  **/*
* +**|* *struct** Table*
* {  ...  } *  *|*
  *|* *#pragma endregion // Pop back to previous state*
  *|*
  *|* *#endif*


*CTRL-M* simply collapses every single collapse block, regardless of
context.
It would be nice to be able to force any region of code to be strictly non-
collapsible, such as vital comments, #include's, and huge blocks which occur
naturally with header guards.

These are some features which I would like to see implemented, for the sake
of maintainability and programming efficiency:

#pragma region (*disable*:comments)   // Prevent both single and multi-line
comments from being collapsible.
#pragma region (*disable*:includes)   // Prevent #include's from being
collapsible.
#pragma region (*disable*:scopes)     // Prevent scopes within a function
being collapsible.


#pragma endregion // scopes
#pragma endregion // includes
#pragma endregion // comments



And also sometime like:



*#pragma region (disable:all)*

*// *All* collapsible regions disabled (comments, includes, function
scopes, etc..)#pragma endregion // All*


Is anything like this currently possible? If not, myself (any probably many
others) would greatly appreciate this feature in the next update.

Kind Regards,
William Hemsworth

--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/e04f108e-9c60-4ee9-aac6-abfa5a583ce3%40isocpp.org.

------=_Part_7374_435929563.1513647521683
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><font face=3D"courier new, monospace">This would be helpfu=
l because I often select the entire source code,=C2=A0</font><font face=3D"=
courier new, monospace">and</font><div><font face=3D"courier new, monospace=
">use <b>CTRL-A</b> then=C2=A0<b>CTRL-M</b> to=C2=A0</font><span style=3D"f=
ont-family: &quot;courier new&quot;, monospace;">collapse/expand</span><spa=
n style=3D"font-family: &quot;courier new&quot;, monospace;">=C2=A0all the =
code. For large files</span></div><div><font face=3D"courier new, monospace=
">with lots of functions, this can make them much easier to navigate throug=
h.<br></font><div><div><br></div><div><font face=3D"courier new, monospace"=
>In projects with a large number of files, I add header-guards to my header=
s</font><span style=3D"font-family: &quot;courier new&quot;, monospace;">,<=
/span></div><div><font face=3D"courier new, monospace">and I find it=C2=A0<=
/font><font face=3D"courier new, monospace">frustrating that they get colla=
psed too. Here is an ideal=C2=A0</font><font face=3D"courier new, monospace=
">snippet</font></div><div><font face=3D"courier new, monospace">of code sh=
owing the new feature I would like for the pre-</font><span style=3D"font-f=
amily: &quot;courier new&quot;, monospace;">processor:</span></div><div><sp=
an style=3D"font-family: &quot;courier new&quot;, monospace;"><br></span></=
div><div><font face=3D"courier new, monospace"><br></font></div><div class=
=3D"prettyprint" style=3D"border-color: rgb(187, 187, 187); border-style: s=
olid; border-width: 1px; word-wrap: break-word;"><code class=3D"prettyprint=
" style=3D""><div class=3D"subprettyprint" style=3D""><b><span style=3D"bac=
kground-color: rgb(250, 250, 250);" class=3D"styled-by-prettify"><font colo=
r=3D"#4c1130" style=3D"font-family: &quot;courier new&quot;, monospace;">=
=C2=A0</font></span></b><b style=3D"font-family: &quot;courier new&quot;, m=
onospace;"><font color=3D"#ffffff" style=3D"background-color: rgb(68, 68, 6=
8);">-</font></b><b><span style=3D"background-color: rgb(250, 250, 250);" c=
lass=3D"styled-by-prettify"><font color=3D"#000000" style=3D"" face=3D"aria=
l, sans-serif">|</font><font color=3D"#4c1130" style=3D"font-family: &quot;=
courier new&quot;, monospace;">=C2=A0</font></span><span style=3D"font-fami=
ly: &quot;courier new&quot;, monospace; background-color: rgb(250, 250, 250=
);" class=3D"styled-by-prettify"><font color=3D"#741b47">#ifndef</font></sp=
an><span style=3D"font-family: &quot;courier new&quot;, monospace; color: r=
gb(255, 0, 0); background-color: rgb(250, 250, 250);" class=3D"styled-by-pr=
ettify"> </span><span style=3D"font-family: &quot;courier new&quot;, monosp=
ace; background-color: rgb(250, 250, 250); color: rgb(0, 0, 0);" class=3D"s=
tyled-by-prettify">FILE_H_INCLUDED<br></span><span style=3D"background-colo=
r: rgb(250, 250, 250);" class=3D"styled-by-prettify"><font color=3D"#880000=
" style=3D"font-family: &quot;courier new&quot;, monospace;">=C2=A0=C2=A0</=
font><font color=3D"#000000" style=3D"" face=3D"arial, sans-serif">|</font>=
<font color=3D"#880000" style=3D"font-family: &quot;courier new&quot;, mono=
space;"> #define</font></span></b><span style=3D"background-color: rgb(250,=
 250, 250);" class=3D"styled-by-prettify"><b> <span style=3D"font-family: &=
quot;courier new&quot;, monospace; color: rgb(0, 0, 0);">FILE_H_INCLIDED<br=
></span></b><font color=3D"#000000" style=3D"font-family: &quot;courier new=
&quot;, monospace;">=C2=A0=C2=A0</font><b><font color=3D"#000000" face=3D"a=
rial, sans-serif">|</font></b><font color=3D"#000000" style=3D"font-family:=
 &quot;courier new&quot;, monospace;">=C2=A0</font><b><span style=3D"font-f=
amily: &quot;courier new&quot;, monospace; color: rgb(0, 0, 0);"><br></span=
></b><font color=3D"#000000" style=3D"font-family: &quot;courier new&quot;,=
 monospace;">=C2=A0=C2=A0</font><b><font color=3D"#000000" face=3D"arial, s=
ans-serif">|</font></b><font style=3D"font-family: &quot;courier new&quot;,=
 monospace;"><font color=3D"#000000">=C2=A0</font><b style=3D""><font color=
=3D"#000000">#pragma region (disable:</font><font color=3D"#ff0000">comment=
s</font><font color=3D"#000000">) // This disables comments from being coll=
apsed</font></b></font><br><font color=3D"#000000" style=3D"font-family: &q=
uot;courier new&quot;, monospace;">=C2=A0=C2=A0</font><b style=3D""><font c=
olor=3D"#000000" style=3D"" face=3D"arial, sans-serif">|</font></b><font co=
lor=3D"#000000" style=3D"font-family: &quot;courier new&quot;, monospace;">=
=C2=A0<br></font><font color=3D"#000000" style=3D"font-family: &quot;courie=
r new&quot;, monospace;">=C2=A0</font></span><b style=3D"font-family: &quot=
;courier new&quot;, monospace;"><font color=3D"#ffffff" style=3D"background=
-color: rgb(68, 68, 68);">-</font></b><b style=3D"font-family: Arial, Helve=
tica, sans-serif;"><font color=3D"#000000" face=3D"arial, sans-serif">|</fo=
nt></b><font color=3D"#000000" style=3D"font-family: &quot;courier new&quot=
;, monospace;">=C2=A0</font><font style=3D"font-family: &quot;courier new&q=
uot;, monospace;" color=3D"#666666"><b style=3D"">// Node comment (not coll=
apsed on CTRL-M)</b></font></div><div class=3D"subprettyprint" style=3D""><=
span style=3D"" class=3D"styled-by-prettify"><b style=3D"font-family: &quot=
;courier new&quot;, monospace;"><font color=3D"#ffffff" style=3D"background=
-color: rgb(255, 255, 255);">=C2=A0</font><font color=3D"#ffffff" style=3D"=
background-color: rgb(68, 68, 68);">+</font></b><b style=3D"background-colo=
r: rgb(250, 250, 250);"><font color=3D"#000000" style=3D"" face=3D"arial, s=
ans-serif">|</font></b><span style=3D"font-family: &quot;courier new&quot;,=
 monospace; color: rgb(0, 0, 136); background-color: rgb(250, 250, 250);">=
=C2=A0<b>struct</b></span></span><b><span style=3D"font-family: &quot;couri=
er new&quot;, monospace; background-color: rgb(250, 250, 250); color: rgb(0=
, 0, 0);" class=3D"styled-by-prettify"> </span><span style=3D"font-family: =
&quot;courier new&quot;, monospace; background-color: rgb(250, 250, 250); c=
olor: rgb(102, 0, 102);" class=3D"styled-by-prettify">Node</span></b><span =
style=3D"font-family: &quot;courier new&quot;, monospace; color: rgb(0, 0, =
0); background-color: rgb(250, 250, 250);" class=3D"styled-by-prettify">=C2=
=A0</span><span style=3D"background-color: rgb(0, 0, 0);" class=3D"styled-b=
y-prettify"><b style=3D""><font color=3D"#ffffff" style=3D"" face=3D"verdan=
a, sans-serif" size=3D"2">=C2=A0{=C2=A0 ...=C2=A0 }</font><font color=3D"#f=
fffff" style=3D"" face=3D"times new roman, serif" size=3D"4">=C2=A0</font><=
/b></span><br></div><div class=3D"subprettyprint" style=3D""><span style=3D=
"" class=3D"styled-by-prettify"><font color=3D"#000000" style=3D"background=
-color: rgb(250, 250, 250); font-family: &quot;courier new&quot;, monospace=
;">=C2=A0=C2=A0</font><b style=3D"background-color: rgb(250, 250, 250);"><f=
ont color=3D"#000000" style=3D"" face=3D"arial, sans-serif">|</font></b><fo=
nt color=3D"#880000" style=3D"background-color: rgb(250, 250, 250); font-fa=
mily: &quot;courier new&quot;, monospace;">=C2=A0<br></font><span class=3D"=
styled-by-prettify" style=3D"background-color: rgb(250, 250, 250);"><font c=
olor=3D"#000000" style=3D"font-family: &quot;courier new&quot;, monospace;"=
>=C2=A0</font></span></span><b style=3D"font-family: &quot;courier new&quot=
;, monospace;"><font color=3D"#ffffff" style=3D"background-color: rgb(68, 6=
8, 68);">-</font></b><b style=3D"font-family: Arial, Helvetica, sans-serif;=
"><font color=3D"#000000" face=3D"arial, sans-serif">|</font></b><font colo=
r=3D"#000000" style=3D"font-family: &quot;courier new&quot;, monospace;">=
=C2=A0</font><font style=3D"font-family: &quot;courier new&quot;, monospace=
;" color=3D"#666666"><b style=3D"">/* Table Multi-line comment</b></font></=
div><div class=3D"subprettyprint" style=3D""><span style=3D"" class=3D"styl=
ed-by-prettify"><span class=3D"styled-by-prettify" style=3D"background-colo=
r: rgb(250, 250, 250);"><font color=3D"#444444" style=3D"font-family: &quot=
;courier new&quot;, monospace;"><b>=C2=A0=C2=A0</b></font></span></span><b =
style=3D"font-family: Arial, Helvetica, sans-serif;"><font color=3D"#000000=
" face=3D"arial, sans-serif">|</font></b><span style=3D"background-color: r=
gb(250, 250, 250); color: rgb(0, 0, 0); font-family: &quot;courier new&quot=
;, monospace;">=C2=A0</span><span style=3D"background-color: rgb(250, 250, =
250); color: rgb(0, 0, 0); font-family: &quot;courier new&quot;, monospace;=
">=C2=A0</span><span style=3D"background-color: rgb(250, 250, 250); color: =
rgb(0, 0, 0); font-family: &quot;courier new&quot;, monospace;">=C2=A0</spa=
n><font color=3D"#666666"><span style=3D"background-color: rgb(250, 250, 25=
0); font-family: &quot;courier new&quot;, monospace;">=C2=A0</span><b style=
=3D"font-family: &quot;courier new&quot;, monospace;">(not collapsed on CTR=
L-M)</b><b style=3D"font-family: &quot;courier new&quot;, monospace;">=C2=
=A0=C2=A0</b><b style=3D"font-family: &quot;courier new&quot;, monospace; b=
ackground-color: rgb(250, 250, 250);">*/</b></font></div><div class=3D"subp=
rettyprint" style=3D""><span style=3D"" class=3D"styled-by-prettify"><span =
class=3D"styled-by-prettify" style=3D""><b style=3D"font-family: &quot;cour=
ier new&quot;, monospace;"><font color=3D"#ffffff" style=3D"background-colo=
r: rgb(255, 255, 255);">=C2=A0</font><font color=3D"#ffffff" style=3D"backg=
round-color: rgb(68, 68, 68);">+</font></b><b style=3D"background-color: rg=
b(250, 250, 250);"><font color=3D"#000000" face=3D"arial, sans-serif">|</fo=
nt></b><span style=3D"background-color: rgb(250, 250, 250); font-family: &q=
uot;courier new&quot;, monospace; color: rgb(0, 0, 136);">=C2=A0<b>struct</=
b></span></span><b><span class=3D"styled-by-prettify" style=3D"background-c=
olor: rgb(250, 250, 250); font-family: &quot;courier new&quot;, monospace; =
color: rgb(0, 0, 0);">=C2=A0</span><span class=3D"styled-by-prettify" style=
=3D"background-color: rgb(250, 250, 250); font-family: &quot;courier new&qu=
ot;, monospace; color: rgb(102, 0, 102);">Table</span></b><span class=3D"st=
yled-by-prettify" style=3D"background-color: rgb(250, 250, 250); font-famil=
y: &quot;courier new&quot;, monospace; color: rgb(0, 0, 0);">=C2=A0</span><=
span class=3D"styled-by-prettify" style=3D"background-color: rgb(0, 0, 0);"=
><b><font color=3D"#ffffff" face=3D"verdana, sans-serif" size=3D"2">=C2=A0{=
=C2=A0 ...=C2=A0 }</font><font color=3D"#ffffff" face=3D"times new roman, s=
erif" size=3D"4">=C2=A0<br></font></b></span><font color=3D"#000000" style=
=3D"background-color: rgb(250, 250, 250); font-family: &quot;courier new&qu=
ot;, monospace;">=C2=A0=C2=A0</font><b style=3D"background-color: rgb(250, =
250, 250);"><font color=3D"#000000" face=3D"arial, sans-serif">|</font></b>=
<font color=3D"#880000" style=3D"background-color: rgb(250, 250, 250); font=
-family: &quot;courier new&quot;, monospace;">=C2=A0<br></font><font color=
=3D"#000000" style=3D"background-color: rgb(250, 250, 250); font-family: &q=
uot;courier new&quot;, monospace;">=C2=A0=C2=A0</font><b style=3D"backgroun=
d-color: rgb(250, 250, 250);"><font color=3D"#000000" face=3D"arial, sans-s=
erif">|</font></b><font color=3D"#880000" style=3D"background-color: rgb(25=
0, 250, 250); font-family: &quot;courier new&quot;, monospace;">=C2=A0</fon=
t><font style=3D"background-color: rgb(250, 250, 250); font-family: &quot;c=
ourier new&quot;, monospace;"><font color=3D"#000000"><b>#pragma endregion =
// Pop back to previous state</b></font><br></font><font color=3D"#000000" =
style=3D"background-color: rgb(250, 250, 250); font-family: &quot;courier n=
ew&quot;, monospace;">=C2=A0=C2=A0</font><b style=3D"background-color: rgb(=
250, 250, 250);"><font color=3D"#000000" face=3D"arial, sans-serif">|</font=
></b><font color=3D"#880000" style=3D"background-color: rgb(250, 250, 250);=
 font-family: &quot;courier new&quot;, monospace;">=C2=A0</font><br></span>=
<span style=3D"background-color: rgb(250, 250, 250);" class=3D"styled-by-pr=
ettify"><font color=3D"#741b47"><font style=3D"font-family: &quot;courier n=
ew&quot;, monospace;">=C2=A0=C2=A0</font><b style=3D""><font style=3D"" fac=
e=3D"arial, sans-serif">|</font></b><font style=3D"font-family: &quot;couri=
er new&quot;, monospace;"> <b style=3D"">#endif</b></font></font></span></d=
iv></code></div><div><br><font face=3D"courier new, monospace"><b><br></b><=
/font></div><div><font face=3D"courier new, monospace"><b>CTRL-M</b> simply=
 collapses every single collapse block, regardless of context.</font></div>=
<div><span style=3D"font-family: &quot;courier new&quot;, monospace;">It wo=
uld be nice to be able to force=C2=A0</span><span style=3D"font-family: &qu=
ot;courier new&quot;, monospace;">any region of code to be strictly non-</s=
pan></div><div><span style=3D"font-family: &quot;courier new&quot;, monospa=
ce;">collapsible</span><span style=3D"font-family: &quot;courier new&quot;,=
 monospace;">, such as vital comments,=C2=A0</span><span style=3D"font-fami=
ly: &quot;courier new&quot;, monospace;">#include&#39;s, and huge blocks wh=
ich occur</span></div><div><span style=3D"font-family: &quot;courier new&qu=
ot;, monospace;">naturally with header guards.</span></div><div><font face=
=3D"courier new, monospace"><br></font></div><div><font face=3D"courier new=
, monospace">These are some features which I would like to see implemented,=
 for the sake</font></div><div><font face=3D"courier new, monospace">of mai=
ntainability and programming efficiency:</font></div></div></div><div><font=
 face=3D"courier new, monospace"><br></font></div><div class=3D"prettyprint=
" style=3D"background-color: rgb(250, 250, 250); border-color: rgb(187, 187=
, 187); border-style: solid; border-width: 1px; word-wrap: break-word;"><co=
de class=3D"prettyprint"><div class=3D"subprettyprint"><span style=3D"color=
: rgb(136, 0, 0);" class=3D"styled-by-prettify">#pragma</span><span style=
=3D"color: rgb(0, 0, 0);" class=3D"styled-by-prettify"> </span><span style=
=3D"" class=3D"styled-by-prettify"><font color=3D"#000000">region</font></s=
pan><span style=3D"color: rgb(0, 0, 0);" class=3D"styled-by-prettify"> </sp=
an><span style=3D"color: rgb(102, 102, 0);" class=3D"styled-by-prettify">(<=
/span><span style=3D"color: rgb(0, 0, 0);" class=3D"styled-by-prettify"><b>=
disable</b></span><span style=3D"color: rgb(102, 102, 0);" class=3D"styled-=
by-prettify">:</span><span style=3D"" class=3D"styled-by-prettify"><font co=
lor=3D"#ff0000">comments</font></span><span style=3D"color: rgb(102, 102, 0=
);" class=3D"styled-by-prettify">)</span><span style=3D"color: rgb(0, 0, 0)=
;" class=3D"styled-by-prettify"> =C2=A0 </span><span style=3D"" class=3D"st=
yled-by-prettify"><font color=3D"#666666">// Prevent both single and multi-=
line comments from being collapsible.</font></span><span style=3D"color: rg=
b(0, 0, 0);" class=3D"styled-by-prettify"><br></span><span style=3D"color: =
rgb(136, 0, 0);" class=3D"styled-by-prettify">#pragma</span><span style=3D"=
color: rgb(0, 0, 0);" class=3D"styled-by-prettify"> region </span><span sty=
le=3D"color: rgb(102, 102, 0);" class=3D"styled-by-prettify">(</span><span =
style=3D"color: rgb(0, 0, 0);" class=3D"styled-by-prettify"><b>disable</b><=
/span><span style=3D"color: rgb(102, 102, 0);" class=3D"styled-by-prettify"=
>:</span><span style=3D"" class=3D"styled-by-prettify"><font color=3D"#ff00=
00">includes</font></span><span style=3D"color: rgb(102, 102, 0);" class=3D=
"styled-by-prettify">)</span><span style=3D"color: rgb(0, 0, 0);" class=3D"=
styled-by-prettify"> =C2=A0 </span><span style=3D"" class=3D"styled-by-pret=
tify"><font color=3D"#666666">// Prevent #include&#39;s from being collapsi=
ble.</font></span><span style=3D"color: rgb(0, 0, 0);" class=3D"styled-by-p=
rettify"><br></span><span style=3D"color: rgb(136, 0, 0);" class=3D"styled-=
by-prettify">#pragma</span><span style=3D"color: rgb(0, 0, 0);" class=3D"st=
yled-by-prettify"> region </span><span style=3D"color: rgb(102, 102, 0);" c=
lass=3D"styled-by-prettify">(</span><span style=3D"color: rgb(0, 0, 0);" cl=
ass=3D"styled-by-prettify"><b>disable</b></span><span style=3D"color: rgb(1=
02, 102, 0);" class=3D"styled-by-prettify">:</span><span style=3D"" class=
=3D"styled-by-prettify"><font color=3D"#ff0000">scopes</font></span><span s=
tyle=3D"color: rgb(102, 102, 0);" class=3D"styled-by-prettify">)</span><spa=
n style=3D"color: rgb(0, 0, 0);" class=3D"styled-by-prettify"> =C2=A0 =C2=
=A0 </span><span style=3D"" class=3D"styled-by-prettify"><font color=3D"#66=
6666">// Prevent scopes within a function being collapsible.</font></span><=
span style=3D"color: rgb(0, 0, 0);" class=3D"styled-by-prettify"><br><br><b=
r></span><span style=3D"color: rgb(136, 0, 0);" class=3D"styled-by-prettify=
">#pragma</span><span style=3D"color: rgb(0, 0, 0);" class=3D"styled-by-pre=
ttify"> endregion </span><span style=3D"color: rgb(136, 0, 0);" class=3D"st=
yled-by-prettify">// scopes</span><span style=3D"color: rgb(0, 0, 0);" clas=
s=3D"styled-by-prettify"><br></span><span style=3D"color: rgb(136, 0, 0);" =
class=3D"styled-by-prettify">#pragma</span><span style=3D"color: rgb(0, 0, =
0);" class=3D"styled-by-prettify"> endregion </span><span style=3D"color: r=
gb(136, 0, 0);" class=3D"styled-by-prettify">// includes</span><span style=
=3D"color: rgb(0, 0, 0);" class=3D"styled-by-prettify"><br></span><span sty=
le=3D"color: rgb(136, 0, 0);" class=3D"styled-by-prettify">#pragma</span><s=
pan style=3D"color: rgb(0, 0, 0);" class=3D"styled-by-prettify"> endregion =
</span><span style=3D"color: rgb(136, 0, 0);" class=3D"styled-by-prettify">=
// comments</span></div></code></div><div><b style=3D"color: rgb(0, 0, 0); =
font-family: &quot;courier new&quot;, monospace; background-color: rgb(250,=
 250, 250);"><br></b><b style=3D"color: rgb(0, 0, 0); font-family: &quot;co=
urier new&quot;, monospace; background-color: rgb(250, 250, 250);"><br></b>=
</div><div><b style=3D"color: rgb(0, 0, 0); font-family: &quot;courier new&=
quot;, monospace; background-color: rgb(250, 250, 250);"><br></b></div><div=
>And also sometime like:</div><div><br></div><div class=3D"prettyprint" sty=
le=3D"background-color: rgb(250, 250, 250); border-color: rgb(187, 187, 187=
); border-style: solid; border-width: 1px; word-wrap: break-word;"><code cl=
ass=3D"prettyprint"><div class=3D"subprettyprint"><b><span style=3D"color: =
#800;" class=3D"styled-by-prettify">#pragma</span><span style=3D"color: #00=
0;" class=3D"styled-by-prettify"> region </span><span style=3D"color: #660;=
" class=3D"styled-by-prettify">(</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify">disable</span><span style=3D"color: #660;" class=3D=
"styled-by-prettify">:</span><span style=3D"" class=3D"styled-by-prettify">=
<font color=3D"#ff0000">all</font></span><span style=3D"color: #660;" class=
=3D"styled-by-prettify">)</span><span style=3D"color: #000;" class=3D"style=
d-by-prettify"><br><br></span></b><span style=3D"" class=3D"styled-by-prett=
ify"><b><font color=3D"#880000">// *All* collapsible regions disabled (comm=
ents, includes, function scopes, etc..)</font><br><br><span class=3D"styled=
-by-prettify" style=3D"color: rgb(136, 0, 0);">#pragma</span><span class=3D=
"styled-by-prettify" style=3D"color: rgb(0, 0, 0);">=C2=A0endregion </span>=
<span class=3D"styled-by-prettify" style=3D""><font color=3D"#741b47">// Al=
l</font></span></b><br></span></div></code></div><div><b style=3D"font-fami=
ly: &quot;courier new&quot;, monospace; background-color: rgb(250, 250, 250=
);"><font color=3D"#000000"><br></font></b></div><div><b style=3D"font-fami=
ly: &quot;courier new&quot;, monospace; background-color: rgb(250, 250, 250=
);"><font color=3D"#000000"><br></font></b></div><div><font color=3D"#00000=
0" face=3D"courier new, monospace"><span style=3D"background-color: rgb(250=
, 250, 250);">Is anything like this currently possible? If not, myself=C2=
=A0</span></font><span style=3D"color: rgb(0, 0, 0); font-family: &quot;cou=
rier new&quot;, monospace;">(any probably many others)=C2=A0</span><span st=
yle=3D"color: rgb(0, 0, 0); font-family: &quot;courier new&quot;, monospace=
;">would greatly appreciate this feature in the next update.</span></div><d=
iv><span style=3D"color: rgb(0, 0, 0); font-family: &quot;courier new&quot;=
, monospace;"><br></span></div><div><span style=3D"color: rgb(0, 0, 0); fon=
t-family: &quot;courier new&quot;, monospace;">Kind Regards,</span></div><d=
iv><span style=3D"color: rgb(0, 0, 0); font-family: &quot;courier new&quot;=
, monospace;">William Hemsworth</span></div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/e04f108e-9c60-4ee9-aac6-abfa5a583ce3%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/e04f108e-9c60-4ee9-aac6-abfa5a583ce3=
%40isocpp.org</a>.<br />

------=_Part_7374_435929563.1513647521683--

------=_Part_7373_2135435319.1513647521682--

.


Author: Jake Arkinstall <jake.arkinstall@gmail.com>
Date: Tue, 19 Dec 2017 01:47:19 +0000
Raw View
--001a113ce010b4e9cc0560a7a512
Content-Type: text/plain; charset="UTF-8"

This is an editor issue, not a c++ issue. Also, #pragmas are
implementation-defined and thus are by definition non-standard.

You will find that many editors do have some really useful folding
behaviours. Vim has some lovely folding capabilities and I'm sure plugins
exist to get exactly the behaviour you are after in most editors. #pragma
doesn't make sense as the compiler and editor are completely separate
entities, but you can usually signify folding regions with special comment
syntax.

On 19 Dec 2017 01:38, <wm.hemsworth@gmail.com> wrote:

> This would be helpful because I often select the entire source code, and
> use *CTRL-A* then *CTRL-M* to collapse/expand all the code. For large
> files
> with lots of functions, this can make them much easier to navigate through.
>
> In projects with a large number of files, I add header-guards to my headers
> ,
> and I find it frustrating that they get collapsed too. Here is an ideal
> snippet
> of code showing the new feature I would like for the pre-processor:
>
>
>  *-*
> *| #ifndef FILE_H_INCLUDED  | #define*
> * FILE_H_INCLIDED*  *|*
>   *|* *#pragma region (disable:comments) // This disables comments from
> being collapsed*
>   *|*
>  *-**|* *// Node comment (not collapsed on CTRL-M)*
> * +**|* *struct** Node* * {  ...  } *
>   *|*
>  *-**|* */* Table Multi-line comment*
>   *|*    *(not collapsed on CTRL-M)*  **/*
> * +**|* *struct** Table*
> * {  ...  } *  *|*
>   *|* *#pragma endregion // Pop back to previous state*
>   *|*
>   *|* *#endif*
>
>
> *CTRL-M* simply collapses every single collapse block, regardless of
> context.
> It would be nice to be able to force any region of code to be strictly
> non-
> collapsible, such as vital comments, #include's, and huge blocks which
> occur
> naturally with header guards.
>
> These are some features which I would like to see implemented, for the sake
> of maintainability and programming efficiency:
>
> #pragma region (*disable*:comments)   // Prevent both single and
> multi-line comments from being collapsible.
> #pragma region (*disable*:includes)   // Prevent #include's from being
> collapsible.
> #pragma region (*disable*:scopes)     // Prevent scopes within a function
> being collapsible.
>
>
> #pragma endregion // scopes
> #pragma endregion // includes
> #pragma endregion // comments
>
>
>
> And also sometime like:
>
>
>
> *#pragma region (disable:all)*
>
> *// *All* collapsible regions disabled (comments, includes, function
> scopes, etc..)#pragma endregion // All*
>
>
> Is anything like this currently possible? If not, myself (any probably
> many others) would greatly appreciate this feature in the next update.
>
> Kind Regards,
> William Hemsworth
>
> --
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> To view this discussion on the web visit https://groups.google.com/a/
> isocpp.org/d/msgid/std-proposals/e04f108e-9c60-4ee9-
> aac6-abfa5a583ce3%40isocpp.org
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/e04f108e-9c60-4ee9-aac6-abfa5a583ce3%40isocpp.org?utm_medium=email&utm_source=footer>
> .
>

--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAC%2B0CCOfjAJgP%2Brc-3G1bYxmpPLbN8aozqj-OVBQKYcp1tf0jw%40mail.gmail.com.

--001a113ce010b4e9cc0560a7a512
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">This is an editor issue, not a c++ issue. Also, #pragmas =
are implementation-defined and thus are by definition non-standard.=C2=A0<d=
iv dir=3D"auto"><br></div><div dir=3D"auto">You will find that many editors=
 do have some really useful folding behaviours. Vim has some lovely folding=
 capabilities and I&#39;m sure plugins exist to get exactly the behaviour y=
ou are after in most editors. #pragma doesn&#39;t make sense as the compile=
r and editor are completely separate entities, but you can usually signify =
folding regions with special comment syntax.=C2=A0</div></div><div class=3D=
"gmail_extra"><br><div class=3D"gmail_quote">On 19 Dec 2017 01:38,  &lt;<a =
href=3D"mailto:wm.hemsworth@gmail.com">wm.hemsworth@gmail.com</a>&gt; wrote=
:<br type=3D"attribution"><blockquote class=3D"gmail_quote" style=3D"margin=
:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><=
font face=3D"courier new, monospace">This would be helpful because I often =
select the entire source code,=C2=A0</font><font face=3D"courier new, monos=
pace">and</font><div><font face=3D"courier new, monospace">use <b>CTRL-A</b=
> then=C2=A0<b>CTRL-M</b> to=C2=A0</font><span style=3D"font-family:&quot;c=
ourier new&quot;,monospace">collapse/expand</span><span style=3D"font-famil=
y:&quot;courier new&quot;,monospace">=C2=A0all the code. For large files</s=
pan></div><div><font face=3D"courier new, monospace">with lots of functions=
, this can make them much easier to navigate through.<br></font><div><div><=
br></div><div><font face=3D"courier new, monospace">In projects with a larg=
e number of files, I add header-guards to my headers</font><span style=3D"f=
ont-family:&quot;courier new&quot;,monospace">,</span></div><div><font face=
=3D"courier new, monospace">and I find it=C2=A0</font><font face=3D"courier=
 new, monospace">frustrating that they get collapsed too. Here is an ideal=
=C2=A0</font><font face=3D"courier new, monospace">snippet</font></div><div=
><font face=3D"courier new, monospace">of code showing the new feature I wo=
uld like for the pre-</font><span style=3D"font-family:&quot;courier new&qu=
ot;,monospace">processor:</span></div><div><span style=3D"font-family:&quot=
;courier new&quot;,monospace"><br></span></div><div><font face=3D"courier n=
ew, monospace"><br></font></div><div class=3D"m_6057445883336701859prettypr=
int" style=3D"border-color:rgb(187,187,187);border-style:solid;border-width=
:1px;word-wrap:break-word"><code class=3D"m_6057445883336701859prettyprint"=
><div class=3D"m_6057445883336701859subprettyprint"><b><span style=3D"backg=
round-color:rgb(250,250,250)" class=3D"m_6057445883336701859styled-by-prett=
ify"><font color=3D"#4c1130" style=3D"font-family:&quot;courier new&quot;,m=
onospace">=C2=A0</font></span></b><b style=3D"font-family:&quot;courier new=
&quot;,monospace"><font color=3D"#ffffff" style=3D"background-color:rgb(68,=
68,68)">-</font></b><b><span style=3D"background-color:rgb(250,250,250)" cl=
ass=3D"m_6057445883336701859styled-by-prettify"><font color=3D"#000000" fac=
e=3D"arial, sans-serif">|</font><font color=3D"#4c1130" style=3D"font-famil=
y:&quot;courier new&quot;,monospace">=C2=A0</font></span><span style=3D"fon=
t-family:&quot;courier new&quot;,monospace;background-color:rgb(250,250,250=
)" class=3D"m_6057445883336701859styled-by-prettify"><font color=3D"#741b47=
">#ifndef</font></span><span style=3D"font-family:&quot;courier new&quot;,m=
onospace;color:rgb(255,0,0);background-color:rgb(250,250,250)" class=3D"m_6=
057445883336701859styled-by-prettify"> </span><span style=3D"font-family:&q=
uot;courier new&quot;,monospace;background-color:rgb(250,250,250);color:rgb=
(0,0,0)" class=3D"m_6057445883336701859styled-by-prettify">FILE_H_INCLUDED<=
br></span><span style=3D"background-color:rgb(250,250,250)" class=3D"m_6057=
445883336701859styled-by-prettify"><font color=3D"#880000" style=3D"font-fa=
mily:&quot;courier new&quot;,monospace">=C2=A0=C2=A0</font><font color=3D"#=
000000" face=3D"arial, sans-serif">|</font><font color=3D"#880000" style=3D=
"font-family:&quot;courier new&quot;,monospace"> #define</font></span></b><=
span style=3D"background-color:rgb(250,250,250)" class=3D"m_605744588333670=
1859styled-by-prettify"><b> <span style=3D"font-family:&quot;courier new&qu=
ot;,monospace;color:rgb(0,0,0)">FILE_H_INCLIDED<br></span></b><font color=
=3D"#000000" style=3D"font-family:&quot;courier new&quot;,monospace">=C2=A0=
=C2=A0</font><b><font color=3D"#000000" face=3D"arial, sans-serif">|</font>=
</b><font color=3D"#000000" style=3D"font-family:&quot;courier new&quot;,mo=
nospace">=C2=A0</font><b><span style=3D"font-family:&quot;courier new&quot;=
,monospace;color:rgb(0,0,0)"><br></span></b><font color=3D"#000000" style=
=3D"font-family:&quot;courier new&quot;,monospace">=C2=A0=C2=A0</font><b><f=
ont color=3D"#000000" face=3D"arial, sans-serif">|</font></b><font style=3D=
"font-family:&quot;courier new&quot;,monospace"><font color=3D"#000000">=C2=
=A0</font><b><font color=3D"#000000">#pragma region (disable:</font><font c=
olor=3D"#ff0000">comments</font><font color=3D"#000000">) // This disables =
comments from being collapsed</font></b></font><br><font color=3D"#000000" =
style=3D"font-family:&quot;courier new&quot;,monospace">=C2=A0=C2=A0</font>=
<b><font color=3D"#000000" face=3D"arial, sans-serif">|</font></b><font col=
or=3D"#000000" style=3D"font-family:&quot;courier new&quot;,monospace">=C2=
=A0<br></font><font color=3D"#000000" style=3D"font-family:&quot;courier ne=
w&quot;,monospace">=C2=A0</font></span><b style=3D"font-family:&quot;courie=
r new&quot;,monospace"><font color=3D"#ffffff" style=3D"background-color:rg=
b(68,68,68)">-</font></b><b style=3D"font-family:Arial,Helvetica,sans-serif=
"><font color=3D"#000000" face=3D"arial, sans-serif">|</font></b><font colo=
r=3D"#000000" style=3D"font-family:&quot;courier new&quot;,monospace">=C2=
=A0</font><font style=3D"font-family:&quot;courier new&quot;,monospace" col=
or=3D"#666666"><b>// Node comment (not collapsed on CTRL-M)</b></font></div=
><div class=3D"m_6057445883336701859subprettyprint"><span class=3D"m_605744=
5883336701859styled-by-prettify"><b style=3D"font-family:&quot;courier new&=
quot;,monospace"><font color=3D"#ffffff" style=3D"background-color:rgb(255,=
255,255)">=C2=A0</font><font color=3D"#ffffff" style=3D"background-color:rg=
b(68,68,68)">+</font></b><b style=3D"background-color:rgb(250,250,250)"><fo=
nt color=3D"#000000" face=3D"arial, sans-serif">|</font></b><span style=3D"=
font-family:&quot;courier new&quot;,monospace;color:rgb(0,0,136);background=
-color:rgb(250,250,250)">=C2=A0<b>struct</b></span></span><b><span style=3D=
"font-family:&quot;courier new&quot;,monospace;background-color:rgb(250,250=
,250);color:rgb(0,0,0)" class=3D"m_6057445883336701859styled-by-prettify"> =
</span><span style=3D"font-family:&quot;courier new&quot;,monospace;backgro=
und-color:rgb(250,250,250);color:rgb(102,0,102)" class=3D"m_605744588333670=
1859styled-by-prettify">Node</span></b><span style=3D"font-family:&quot;cou=
rier new&quot;,monospace;color:rgb(0,0,0);background-color:rgb(250,250,250)=
" class=3D"m_6057445883336701859styled-by-prettify">=C2=A0</span><span styl=
e=3D"background-color:rgb(0,0,0)" class=3D"m_6057445883336701859styled-by-p=
rettify"><b><font color=3D"#ffffff" face=3D"verdana, sans-serif" size=3D"2"=
>=C2=A0{=C2=A0 ...=C2=A0 }</font><font color=3D"#ffffff" face=3D"times new =
roman, serif" size=3D"4">=C2=A0</font></b></span><br></div><div class=3D"m_=
6057445883336701859subprettyprint"><span class=3D"m_6057445883336701859styl=
ed-by-prettify"><font color=3D"#000000" style=3D"background-color:rgb(250,2=
50,250);font-family:&quot;courier new&quot;,monospace">=C2=A0=C2=A0</font><=
b style=3D"background-color:rgb(250,250,250)"><font color=3D"#000000" face=
=3D"arial, sans-serif">|</font></b><font color=3D"#880000" style=3D"backgro=
und-color:rgb(250,250,250);font-family:&quot;courier new&quot;,monospace">=
=C2=A0<br></font><span class=3D"m_6057445883336701859styled-by-prettify" st=
yle=3D"background-color:rgb(250,250,250)"><font color=3D"#000000" style=3D"=
font-family:&quot;courier new&quot;,monospace">=C2=A0</font></span></span><=
b style=3D"font-family:&quot;courier new&quot;,monospace"><font color=3D"#f=
fffff" style=3D"background-color:rgb(68,68,68)">-</font></b><b style=3D"fon=
t-family:Arial,Helvetica,sans-serif"><font color=3D"#000000" face=3D"arial,=
 sans-serif">|</font></b><font color=3D"#000000" style=3D"font-family:&quot=
;courier new&quot;,monospace">=C2=A0</font><font style=3D"font-family:&quot=
;courier new&quot;,monospace" color=3D"#666666"><b>/* Table Multi-line comm=
ent</b></font></div><div class=3D"m_6057445883336701859subprettyprint"><spa=
n class=3D"m_6057445883336701859styled-by-prettify"><span class=3D"m_605744=
5883336701859styled-by-prettify" style=3D"background-color:rgb(250,250,250)=
"><font color=3D"#444444" style=3D"font-family:&quot;courier new&quot;,mono=
space"><b>=C2=A0=C2=A0</b></font></span></span><b style=3D"font-family:Aria=
l,Helvetica,sans-serif"><font color=3D"#000000" face=3D"arial, sans-serif">=
|</font></b><span style=3D"background-color:rgb(250,250,250);color:rgb(0,0,=
0);font-family:&quot;courier new&quot;,monospace">=C2=A0</span><span style=
=3D"background-color:rgb(250,250,250);color:rgb(0,0,0);font-family:&quot;co=
urier new&quot;,monospace">=C2=A0</span><span style=3D"background-color:rgb=
(250,250,250);color:rgb(0,0,0);font-family:&quot;courier new&quot;,monospac=
e">=C2=A0</span><font color=3D"#666666"><span style=3D"background-color:rgb=
(250,250,250);font-family:&quot;courier new&quot;,monospace">=C2=A0</span><=
b style=3D"font-family:&quot;courier new&quot;,monospace">(not collapsed on=
 CTRL-M)</b><b style=3D"font-family:&quot;courier new&quot;,monospace">=C2=
=A0=C2=A0</b><b style=3D"font-family:&quot;courier new&quot;,monospace;back=
ground-color:rgb(250,250,250)">*/</b></font></div><div class=3D"m_605744588=
3336701859subprettyprint"><span class=3D"m_6057445883336701859styled-by-pre=
ttify"><span class=3D"m_6057445883336701859styled-by-prettify"><b style=3D"=
font-family:&quot;courier new&quot;,monospace"><font color=3D"#ffffff" styl=
e=3D"background-color:rgb(255,255,255)">=C2=A0</font><font color=3D"#ffffff=
" style=3D"background-color:rgb(68,68,68)">+</font></b><b style=3D"backgrou=
nd-color:rgb(250,250,250)"><font color=3D"#000000" face=3D"arial, sans-seri=
f">|</font></b><span style=3D"background-color:rgb(250,250,250);font-family=
:&quot;courier new&quot;,monospace;color:rgb(0,0,136)">=C2=A0<b>struct</b><=
/span></span><b><span class=3D"m_6057445883336701859styled-by-prettify" sty=
le=3D"background-color:rgb(250,250,250);font-family:&quot;courier new&quot;=
,monospace;color:rgb(0,0,0)">=C2=A0</span><span class=3D"m_6057445883336701=
859styled-by-prettify" style=3D"background-color:rgb(250,250,250);font-fami=
ly:&quot;courier new&quot;,monospace;color:rgb(102,0,102)">Table</span></b>=
<span class=3D"m_6057445883336701859styled-by-prettify" style=3D"background=
-color:rgb(250,250,250);font-family:&quot;courier new&quot;,monospace;color=
:rgb(0,0,0)">=C2=A0</span><span class=3D"m_6057445883336701859styled-by-pre=
ttify" style=3D"background-color:rgb(0,0,0)"><b><font color=3D"#ffffff" fac=
e=3D"verdana, sans-serif" size=3D"2">=C2=A0{=C2=A0 ...=C2=A0 }</font><font =
color=3D"#ffffff" face=3D"times new roman, serif" size=3D"4">=C2=A0<br></fo=
nt></b></span><font color=3D"#000000" style=3D"background-color:rgb(250,250=
,250);font-family:&quot;courier new&quot;,monospace">=C2=A0=C2=A0</font><b =
style=3D"background-color:rgb(250,250,250)"><font color=3D"#000000" face=3D=
"arial, sans-serif">|</font></b><font color=3D"#880000" style=3D"background=
-color:rgb(250,250,250);font-family:&quot;courier new&quot;,monospace">=C2=
=A0<br></font><font color=3D"#000000" style=3D"background-color:rgb(250,250=
,250);font-family:&quot;courier new&quot;,monospace">=C2=A0=C2=A0</font><b =
style=3D"background-color:rgb(250,250,250)"><font color=3D"#000000" face=3D=
"arial, sans-serif">|</font></b><font color=3D"#880000" style=3D"background=
-color:rgb(250,250,250);font-family:&quot;courier new&quot;,monospace">=C2=
=A0</font><font style=3D"background-color:rgb(250,250,250);font-family:&quo=
t;courier new&quot;,monospace"><font color=3D"#000000"><b>#pragma endregion=
 // Pop back to previous state</b></font><br></font><font color=3D"#000000"=
 style=3D"background-color:rgb(250,250,250);font-family:&quot;courier new&q=
uot;,monospace">=C2=A0=C2=A0</font><b style=3D"background-color:rgb(250,250=
,250)"><font color=3D"#000000" face=3D"arial, sans-serif">|</font></b><font=
 color=3D"#880000" style=3D"background-color:rgb(250,250,250);font-family:&=
quot;courier new&quot;,monospace">=C2=A0</font><br></span><span style=3D"ba=
ckground-color:rgb(250,250,250)" class=3D"m_6057445883336701859styled-by-pr=
ettify"><font color=3D"#741b47"><font style=3D"font-family:&quot;courier ne=
w&quot;,monospace">=C2=A0=C2=A0</font><b><font face=3D"arial, sans-serif">|=
</font></b><font style=3D"font-family:&quot;courier new&quot;,monospace"> <=
b>#endif</b></font></font></span></div></code></div><div><br><font face=3D"=
courier new, monospace"><b><br></b></font></div><div><font face=3D"courier =
new, monospace"><b>CTRL-M</b> simply collapses every single collapse block,=
 regardless of context.</font></div><div><span style=3D"font-family:&quot;c=
ourier new&quot;,monospace">It would be nice to be able to force=C2=A0</spa=
n><span style=3D"font-family:&quot;courier new&quot;,monospace">any region =
of code to be strictly non-</span></div><div><span style=3D"font-family:&qu=
ot;courier new&quot;,monospace">collapsible</span><span style=3D"font-famil=
y:&quot;courier new&quot;,monospace">, such as vital comments,=C2=A0</span>=
<span style=3D"font-family:&quot;courier new&quot;,monospace">#include&#39;=
s, and huge blocks which occur</span></div><div><span style=3D"font-family:=
&quot;courier new&quot;,monospace">naturally with header guards.</span></di=
v><div><font face=3D"courier new, monospace"><br></font></div><div><font fa=
ce=3D"courier new, monospace">These are some features which I would like to=
 see implemented, for the sake</font></div><div><font face=3D"courier new, =
monospace">of maintainability and programming efficiency:</font></div></div=
></div><div><font face=3D"courier new, monospace"><br></font></div><div cla=
ss=3D"m_6057445883336701859prettyprint" style=3D"background-color:rgb(250,2=
50,250);border-color:rgb(187,187,187);border-style:solid;border-width:1px;w=
ord-wrap:break-word"><code class=3D"m_6057445883336701859prettyprint"><div =
class=3D"m_6057445883336701859subprettyprint"><span style=3D"color:rgb(136,=
0,0)" class=3D"m_6057445883336701859styled-by-prettify">#pragma</span><span=
 style=3D"color:rgb(0,0,0)" class=3D"m_6057445883336701859styled-by-prettif=
y"> </span><span class=3D"m_6057445883336701859styled-by-prettify"><font co=
lor=3D"#000000">region</font></span><span style=3D"color:rgb(0,0,0)" class=
=3D"m_6057445883336701859styled-by-prettify"> </span><span style=3D"color:r=
gb(102,102,0)" class=3D"m_6057445883336701859styled-by-prettify">(</span><s=
pan style=3D"color:rgb(0,0,0)" class=3D"m_6057445883336701859styled-by-pret=
tify"><b>disable</b></span><span style=3D"color:rgb(102,102,0)" class=3D"m_=
6057445883336701859styled-by-prettify">:</span><span class=3D"m_60574458833=
36701859styled-by-prettify"><font color=3D"#ff0000">comments</font></span><=
span style=3D"color:rgb(102,102,0)" class=3D"m_6057445883336701859styled-by=
-prettify">)</span><span style=3D"color:rgb(0,0,0)" class=3D"m_605744588333=
6701859styled-by-prettify"> =C2=A0 </span><span class=3D"m_6057445883336701=
859styled-by-prettify"><font color=3D"#666666">// Prevent both single and m=
ulti-line comments from being collapsible.</font></span><span style=3D"colo=
r:rgb(0,0,0)" class=3D"m_6057445883336701859styled-by-prettify"><br></span>=
<span style=3D"color:rgb(136,0,0)" class=3D"m_6057445883336701859styled-by-=
prettify">#pragma</span><span style=3D"color:rgb(0,0,0)" class=3D"m_6057445=
883336701859styled-by-prettify"> region </span><span style=3D"color:rgb(102=
,102,0)" class=3D"m_6057445883336701859styled-by-prettify">(</span><span st=
yle=3D"color:rgb(0,0,0)" class=3D"m_6057445883336701859styled-by-prettify">=
<b>disable</b></span><span style=3D"color:rgb(102,102,0)" class=3D"m_605744=
5883336701859styled-by-prettify">:</span><span class=3D"m_60574458833367018=
59styled-by-prettify"><font color=3D"#ff0000">includes</font></span><span s=
tyle=3D"color:rgb(102,102,0)" class=3D"m_6057445883336701859styled-by-prett=
ify">)</span><span style=3D"color:rgb(0,0,0)" class=3D"m_605744588333670185=
9styled-by-prettify"> =C2=A0 </span><span class=3D"m_6057445883336701859sty=
led-by-prettify"><font color=3D"#666666">// Prevent #include&#39;s from bei=
ng collapsible.</font></span><span style=3D"color:rgb(0,0,0)" class=3D"m_60=
57445883336701859styled-by-prettify"><br></span><span style=3D"color:rgb(13=
6,0,0)" class=3D"m_6057445883336701859styled-by-prettify">#pragma</span><sp=
an style=3D"color:rgb(0,0,0)" class=3D"m_6057445883336701859styled-by-prett=
ify"> region </span><span style=3D"color:rgb(102,102,0)" class=3D"m_6057445=
883336701859styled-by-prettify">(</span><span style=3D"color:rgb(0,0,0)" cl=
ass=3D"m_6057445883336701859styled-by-prettify"><b>disable</b></span><span =
style=3D"color:rgb(102,102,0)" class=3D"m_6057445883336701859styled-by-pret=
tify">:</span><span class=3D"m_6057445883336701859styled-by-prettify"><font=
 color=3D"#ff0000">scopes</font></span><span style=3D"color:rgb(102,102,0)"=
 class=3D"m_6057445883336701859styled-by-prettify">)</span><span style=3D"c=
olor:rgb(0,0,0)" class=3D"m_6057445883336701859styled-by-prettify"> =C2=A0 =
=C2=A0 </span><span class=3D"m_6057445883336701859styled-by-prettify"><font=
 color=3D"#666666">// Prevent scopes within a function being collapsible.</=
font></span><span style=3D"color:rgb(0,0,0)" class=3D"m_6057445883336701859=
styled-by-prettify"><br><br><br></span><span style=3D"color:rgb(136,0,0)" c=
lass=3D"m_6057445883336701859styled-by-prettify">#pragma</span><span style=
=3D"color:rgb(0,0,0)" class=3D"m_6057445883336701859styled-by-prettify"> en=
dregion </span><span style=3D"color:rgb(136,0,0)" class=3D"m_60574458833367=
01859styled-by-prettify">// scopes</span><span style=3D"color:rgb(0,0,0)" c=
lass=3D"m_6057445883336701859styled-by-prettify"><br></span><span style=3D"=
color:rgb(136,0,0)" class=3D"m_6057445883336701859styled-by-prettify">#prag=
ma</span><span style=3D"color:rgb(0,0,0)" class=3D"m_6057445883336701859sty=
led-by-prettify"> endregion </span><span style=3D"color:rgb(136,0,0)" class=
=3D"m_6057445883336701859styled-by-prettify">// includes</span><span style=
=3D"color:rgb(0,0,0)" class=3D"m_6057445883336701859styled-by-prettify"><br=
></span><span style=3D"color:rgb(136,0,0)" class=3D"m_6057445883336701859st=
yled-by-prettify">#pragma</span><span style=3D"color:rgb(0,0,0)" class=3D"m=
_6057445883336701859styled-by-prettify"> endregion </span><span style=3D"co=
lor:rgb(136,0,0)" class=3D"m_6057445883336701859styled-by-prettify">// comm=
ents</span></div></code></div><div><b style=3D"color:rgb(0,0,0);font-family=
:&quot;courier new&quot;,monospace;background-color:rgb(250,250,250)"><br><=
/b><b style=3D"color:rgb(0,0,0);font-family:&quot;courier new&quot;,monospa=
ce;background-color:rgb(250,250,250)"><br></b></div><div><b style=3D"color:=
rgb(0,0,0);font-family:&quot;courier new&quot;,monospace;background-color:r=
gb(250,250,250)"><br></b></div><div>And also sometime like:</div><div><br><=
/div><div class=3D"m_6057445883336701859prettyprint" style=3D"background-co=
lor:rgb(250,250,250);border-color:rgb(187,187,187);border-style:solid;borde=
r-width:1px;word-wrap:break-word"><code class=3D"m_6057445883336701859prett=
yprint"><div class=3D"m_6057445883336701859subprettyprint"><b><span style=
=3D"color:#800" class=3D"m_6057445883336701859styled-by-prettify">#pragma</=
span><span style=3D"color:#000" class=3D"m_6057445883336701859styled-by-pre=
ttify"> region </span><span style=3D"color:#660" class=3D"m_605744588333670=
1859styled-by-prettify">(</span><span style=3D"color:#000" class=3D"m_60574=
45883336701859styled-by-prettify">disable</span><span style=3D"color:#660" =
class=3D"m_6057445883336701859styled-by-prettify">:</span><span class=3D"m_=
6057445883336701859styled-by-prettify"><font color=3D"#ff0000">all</font></=
span><span style=3D"color:#660" class=3D"m_6057445883336701859styled-by-pre=
ttify">)</span><span style=3D"color:#000" class=3D"m_6057445883336701859sty=
led-by-prettify"><br><br></span></b><span class=3D"m_6057445883336701859sty=
led-by-prettify"><b><font color=3D"#880000">// *All* collapsible regions di=
sabled (comments, includes, function scopes, etc..)</font><br><br><span cla=
ss=3D"m_6057445883336701859styled-by-prettify" style=3D"color:rgb(136,0,0)"=
>#pragma</span><span class=3D"m_6057445883336701859styled-by-prettify" styl=
e=3D"color:rgb(0,0,0)">=C2=A0endregion </span><span class=3D"m_605744588333=
6701859styled-by-prettify"><font color=3D"#741b47">// All</font></span></b>=
<br></span></div></code></div><div><b style=3D"font-family:&quot;courier ne=
w&quot;,monospace;background-color:rgb(250,250,250)"><font color=3D"#000000=
"><br></font></b></div><div><b style=3D"font-family:&quot;courier new&quot;=
,monospace;background-color:rgb(250,250,250)"><font color=3D"#000000"><br><=
/font></b></div><div><font color=3D"#000000" face=3D"courier new, monospace=
"><span style=3D"background-color:rgb(250,250,250)">Is anything like this c=
urrently possible? If not, myself=C2=A0</span></font><span style=3D"color:r=
gb(0,0,0);font-family:&quot;courier new&quot;,monospace">(any probably many=
 others)=C2=A0</span><span style=3D"color:rgb(0,0,0);font-family:&quot;cour=
ier new&quot;,monospace">would greatly appreciate this feature in the next =
update.</span></div><div><span style=3D"color:rgb(0,0,0);font-family:&quot;=
courier new&quot;,monospace"><br></span></div><div><span style=3D"color:rgb=
(0,0,0);font-family:&quot;courier new&quot;,monospace">Kind Regards,</span>=
</div><div><span style=3D"color:rgb(0,0,0);font-family:&quot;courier new&qu=
ot;,monospace">William Hemsworth</span></div></div>

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_=
blank">std-proposals+unsubscribe@<wbr>isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/e04f108e-9c60-4ee9-aac6-abfa5a583ce3%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank">=
https://groups.google.com/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/e04f=
108e-9c60-4ee9-<wbr>aac6-abfa5a583ce3%40isocpp.org</a><wbr>.<br>
</blockquote></div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAC%2B0CCOfjAJgP%2Brc-3G1bYxmpPLbN8ao=
zqj-OVBQKYcp1tf0jw%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAC%2B0CCOfjA=
JgP%2Brc-3G1bYxmpPLbN8aozqj-OVBQKYcp1tf0jw%40mail.gmail.com</a>.<br />

--001a113ce010b4e9cc0560a7a512--

.