220 36000 <CAC+0CCOfjAJgP+rc-3G1bYxmpPLbN8aozqj-OVBQKYcp1tf0jw@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Jake Arkinstall <jake.arkinstall@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Pre-processor "Uncollapsable" Regions
Date: Tue, 19 Dec 2017 01:47:19 +0000
Lines: 436
Approved: news@gmane.org
Message-ID: <CAC+0CCOfjAJgP+rc-3G1bYxmpPLbN8aozqj-OVBQKYcp1tf0jw@mail.gmail.com>
References: <e04f108e-9c60-4ee9-aac6-abfa5a583ce3@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="001a113ce010b4e9cc0560a7a512"
X-Trace: blaine.gmane.org 1513647926 3317 195.159.176.226 (19 Dec 2017 01:45:26 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Tue, 19 Dec 2017 01:45:26 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDCZX3WUUQFRBKG74HIQKGQEMODAAJY@isocpp.org Tue Dec 19 02:45:22 2017
Return-path: <std-proposals+bncBDCZX3WUUQFRBKG74HIQKGQEMODAAJY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-ot0-f198.google.com ([74.125.82.198])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDCZX3WUUQFRBKG74HIQKGQEMODAAJY@isocpp.org>)
	id 1eR6y6-0000Iu-VK
	for gclcip-std-proposals@m.gmane.org; Tue, 19 Dec 2017 02:45:19 +0100
Original-Received: by mail-ot0-f198.google.com with SMTP id n64sf9985798ota.3
        for <gclcip-std-proposals@m.gmane.org>; Mon, 18 Dec 2017 17:47:21 -0800 (PST)
ARC-Seal: i=2; a=rsa-sha256; t=1513648041; cv=pass;
        d=google.com; s=arc-20160816;
        b=uithqt/jP8pgYymUPoHii3w0ZhI+HhOAHy6dopcBgP25ippWCYZsjIC9wyRMIgtj8Z
         OX+qqfugMwDAEt1Uy4OKRMgxSJ+OEe/oiIj/DsS6Yn3CpiGQntu9KU9Wyjr+R+A9vtIg
         bhowYuXVxgOI0TKtQO4zdNy0ygr6l5fdr5APVWkv3suoTIMxiijWkMlTei82WgCzjUvL
         YQUjPGj/DZl0wW14QfQaxA5eAwMCVWIfm98fgqfxrPctYUS4QisNaY8yo4/kVCRbujlI
         +RbGwb5Jy6Xd76wv1owT52bEWGPknedj5AM4Z5dTKKsnpFBIFo94sb7zNgmdL3ZGoQLA
         IHXQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:reply-to:to:subject:message-id:date
         :from:references:in-reply-to:mime-version:arc-authentication-results
         :arc-message-signature:dkim-signature:arc-authentication-results;
        bh=TE6wJlel81xNBVp9B8PR2vIO84kwJ9Z0pvAYa5US1Bw=;
        b=mLxK1SBsFMllVddyNG/Yk5/di7nYisBrIngIkn12WxYebiaTaxYK0bPWuU3LPORXOo
         fnFusRvsNQQAi/iX80tCEAzmPtoijRYfA3BlZco1c5xUaixlcZ1U3hDZSHrBCbg+An5k
         JsJDWAw5W4AHEj1t/wWAYstV/72IZyM1u9+4NGylRFLSGEWWMF10FsS5DjwqrAhfwh42
         N8yDDtpAHcd48PkXQkE1MFybKxBS9R2los8muBsQ3jvvLV+0akLst9E71u4J4WhkuSUt
         VBfxCXDBB9R7oxlcyVyKDj34Z+RsKv0Gi4zw7yefte8PSG5eHJULWnu47iY9UYtoigIc
         UDRw==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=a20jPp40;
       spf=pass (google.com: domain of jake.arkinstall@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jake.arkinstall@gmail.com;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
         :x-original-sender:x-original-authentication-results:reply-to
         :precedence:mailing-list:list-id:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=TE6wJlel81xNBVp9B8PR2vIO84kwJ9Z0pvAYa5US1Bw=;
        b=h9ptWJyQ4d4GWvTs1v4igK2ZmDqiV7ObL77zsAXZUZiAHEP2GxlzblBkEs6XGRsEDu
         5advXDBJNrYMPWHmzshwfCvC6Ics/HCCaYyH/v8YjNMSlGfdJMaUJ7TjZijg9AzYaNrG
         I8vOWH1KC/PybFkeG7Df85VL0dIsjG4P2782x44CSgrHLLmKE//t92Cmdk2Np1z/Kfk5
         Q4I4ur1ysZQNXB2fGSbsP9fEA8vT+RJoBGhOoC8afhiMFVwMbA6epxLJWjGYH5nb/hGX
         l6KphcTkUgRXe30lWmgcbE5gnM5u5FhoFZxrXSm6a2u2kXojNafcHwg0LdI7VPW7CRWE
         SKUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:in-reply-to:references:from:date
         :message-id:subject:to:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=TE6wJlel81xNBVp9B8PR2vIO84kwJ9Z0pvAYa5US1Bw=;
        b=BypPIi3Zn0npl2YVwNv9aNqKf/509v2AuqXNyaJzhwUmqysF5LCD7luGIi7lPXsSo4
         32XBEtt7OEFWvlE/jDYxycaYu/lLSazk2M87JLJfYI8ltlZtq7yPykwLAh8Q4CsERVkM
         XN4jxmEq599kOGVTkBabHIWZBG6q1Y+NnfPIgwM9ghU4IC8Zpyutt1zcJMRiKgyfKhWG
         QteE7DpYJZT/BDRj0aTmUtjmI4ogPMFaIGzN++X6VgKgDYZBdSmmHQC8UWLMFC0+3QPC
         rq2xT1EPplRXeoZqWFNkimRuzuTLklls86nPESVmPA+JiNCUUIQRzuTLdYJn0tB6tHBW
         Gfkg==
X-Gm-Message-State: AKGB3mLg88SgEFVEhgYsNSDfIg6C7P53pcuoc8eEStC8uF23AfT+NITL
	yfWDG6GUM+nLuqNIUSPV1P7Mfw==
X-Google-Smtp-Source: ACJfBou2r1CXPALtEDBfoFaATUD/ftC5SoKB2V4WTy/d4BGzS23j9ipGEzwv1OZZv7ZlFnpbekGCYg==
X-Received: by 10.202.189.87 with SMTP id n84mr773503oif.38.1513648041065;
        Mon, 18 Dec 2017 17:47:21 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.157.86.144 with SMTP id o16ls2717525oth.12.gmail; Mon, 18 Dec
 2017 17:47:20 -0800 (PST)
X-Received: by 10.202.48.195 with SMTP id w186mr1143647oiw.341.1513648039981;
        Mon, 18 Dec 2017 17:47:19 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1513648039; cv=none;
        d=google.com; s=arc-20160816;
        b=v8+XVDl6voOAfIFOb8SRRI2e/tNFZ1L2JZY/ItDCX5Iq+Sa82oRfe4J9BFHderjxP9
         uA7uIHuGFGy71zZJr9qeh3lFGfI6qalRZLrePSGne+u8mDHHhDaNvHGRqbpMRIlZU0NN
         B36JYlkGApLwdYLLPMwQiwl6wB38VOXwSzbr0MOEfBFCy1bArI/0drYGV2MDCPv2gID8
         z3Q+fzD4UCjjgNAULFWNbaye4+fU0qNFsrL4taS6WxwTPiEz5JD5uFkGL5xwuQ5NewvK
         BPV2XiyadLv14DcxnqgKHsZdEe1XyDhv3kOImvzaHAIxLiFksHfQN/6JcU5zz8+zPdkT
         MQ4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=to:subject:message-id:date:from:references:in-reply-to:mime-version
         :dkim-signature:arc-authentication-results;
        bh=wn4TgsVYN+QAhmXOp/4iXImmdlTWwr8yo99E3KXgo5Y=;
        b=Sao6PMIuLyVSdnGz5fyP4yolFg2rd56ZnH/qrwpsUCjug+Kzfn179GSMLXNeklYD9h
         ZP3qGmkxTAVm9O60AQ7YEbKdyR6X96V+uXYN/PwckTHip7XZweDP2xZ5tGO6NMuwzi6B
         pzVQOWLsL2YRBAsaPp/uBzEc70ghvIaveNQklMRfmHbb1wZ8eTmT3sg14CA9D0U+tFYW
         HoovtMaCLd9rXJ27lHIY5aZRHVViwsfafqfA4MX6LoHMTQ8QOUgrcSpdwTb3i26FIV6V
         V9ujyM55VrNU8stXwpDJu9k96BPaaIbqQb0p26SsLYN2d6JNOKxiRxRVziwCu88qHMGk
         o3Yg==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=a20jPp40;
       spf=pass (google.com: domain of jake.arkinstall@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jake.arkinstall@gmail.com;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com
Original-Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65])
        by mx.google.com with SMTPS id i11sor4963811oif.142.2017.12.18.17.47.19
        for <std-proposals@isocpp.org>
        (Google Transport Security);
        Mon, 18 Dec 2017 17:47:19 -0800 (PST)
Received-SPF: pass (google.com: domain of jake.arkinstall@gmail.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65;
X-Received: by 10.202.184.195 with SMTP id i186mr1269064oif.49.1513648039449;
 Mon, 18 Dec 2017 17:47:19 -0800 (PST)
Original-Received: by 10.168.69.140 with HTTP; Mon, 18 Dec 2017 17:47:19 -0800 (PST)
Original-Received: by 10.168.69.140 with HTTP; Mon, 18 Dec 2017 17:47:19 -0800 (PST)
In-Reply-To: <e04f108e-9c60-4ee9-aac6-abfa5a583ce3@isocpp.org>
X-Original-Sender: jake.arkinstall@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com header.s=20161025 header.b=a20jPp40;       spf=pass
 (google.com: domain of jake.arkinstall@gmail.com designates 209.85.220.65 as
 permitted sender) smtp.mailfrom=jake.arkinstall@gmail.com;       dmarc=pass
 (p=NONE sp=NONE dis=NONE) header.from=gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Spam-Checked-In-Group: std-proposals@isocpp.org
X-Google-Group-Id: 399137483710
List-Post: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:36000
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/36000>

--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--

.
