--===============3717496705611236766== Content-Type: multipart/alternative; boundary=089e0115ebf4ab022004f32dd51a --089e0115ebf4ab022004f32dd51a Content-Type: text/plain; charset=ISO-8859-1 On Mon, Feb 24, 2014 at 7:56 PM, Matthew Woehlke < mw_triad@users.sourceforge.net> wrote: > On 2014-02-23 16:41, Andrey Matveyakin wrote: > >> Ok, I see that dsDataType and dsFunction are sometimes recognized by >> list-based lookup. If so, I don't understand the dsExtension rule. Many >> things can be an extension, not just a keyword, but also a control flow >> (e.g. Qt "foreach"), a data type, variable or function defined in a >> library. Which will be marked as dsExtension? All of them or only >> non-control-flow-like-keyword ones? >> > > If you look at C++ there is already an "extensions" attribute. This is > used for e.g. signals, connect, but not Qt control flow (foreach) or types > (uint), which use the same attribute as built-in of the same. (But > Q_FOREACH I believe uses "extensions".) So while your point is valid, FWIW > a simple dsExtension matches existing usage. > > I see dsExtension as more of a "language extensions", not just things > implemented by some library (e.g. not functions, and probably not data > types either). IOW, things like signals, SIGNAL, slots, SLOT, connect > (although this one is dubious), Q_OBJECT, Q_CONSTEXPR, Q_OVERRIDE, etc.. > Now it clear that I've posed the wrong question. Thank you for clarifying how everything is, but what I really meant to ask was: how it should be? Is it really good that "int" and "uint" are highlighted in exactly the same way? If we are going to use C++/Qt scheme by default it is important to make it comfortable for all C++ programmers. A beginner in C++, who knows nothing about Qt, can type "uint" and believe that everything is ok since it is highlighted like a standard type. Yes, we've already said that Kate is neither semantic nor even a syntactic analyzer, and that among great number of thing that look good only few can compile (and even fewer -- work). But still: is this behavior more helpful than confusing? I'm not sure. Sorry for nonconstructive criticism. The only alternative seems to introduce separate dsExtensionKeyword, dsExtensionControlFlow, dsExtensionFunction, dsExtensionDataType, and so on, which is probably too complicated both for us and for users. Or may be, it's not. I don't know. Am I the only one who feels it is odd that only keyword extensions are highlighted separately? If yes, let's just close the topic. > > -- > Matthew > > > _______________________________________________ > KWrite-Devel mailing list > KWrite-Devel@kde.org > https://mail.kde.org/mailman/listinfo/kwrite-devel > --089e0115ebf4ab022004f32dd51a Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
On M= on, Feb 24, 2014 at 7:56 PM, Matthew Woehlke <mw_triad@users= .sourceforge.net> wrote:
On 2014-02-23 16:41,= Andrey Matveyakin wrote:
Ok, I see that dsDataType and dsFunction are sometimes recognized by
list-based lookup. If so, I don't understand the dsExtension rule. Many=
things can be an extension, not just a keyword, but also a control flow
(e.g. Qt "foreach"), a data type, variable or function defined in= a
library. Which will be marked as dsExtension? All of them or only
non-control-flow-like-keyword ones?

If you look at C++ there is already an "extensions" attribute. Th= is is used for e.g. signals, connect, but not Qt control flow (foreach) or = types (uint), which use the same attribute as built-in of the same. (But Q_= FOREACH I believe uses "extensions".) So while your point is vali= d, FWIW a simple dsExtension matches existing usage.

I see dsExtension as more of a "language extensions", not just th= ings implemented by some library (e.g. not functions, and probably not data= types either). IOW, things like signals, SIGNAL, slots, SLOT, connect (alt= hough this one is dubious), Q_OBJECT, Q_CONSTEXPR, Q_OVERRIDE, etc..<= font color=3D"#888888">

Now it clear that I've p= osed the wrong question. Thank you for clarifying how everything is, but wh= at I really meant to ask was: how it should be? Is it really good that &ldq= uo;int” and “uint” are highlighted in exactly the same wa= y? If we are going to use C++/Qt scheme by default it is important to make = it comfortable for all C++ programmers. A beginner in C++, who knows nothin= g about Qt, can type “uint” and believe that everything is ok s= ince it is highlighted like a standard type. Yes, we've already said th= at Kate is neither semantic nor even a syntactic analyzer, and that among g= reat number of thing that look good only few can compile (and even fewer &m= dash; work). But still: is this behavior more helpful than confusing? I'= ;m not sure.

Sorry for nonconstructive criticism. The only alternative se= ems to introduce separate dsExtensionKeyword, dsExtensionControlFlow, dsExt= ensionFunction, dsExtensionDataType, and so on, which is probably too compl= icated both for us and for users. Or may be, it's not. I don't know= .

Am I the only one who feels it is odd that only keyword exte= nsions are highlighted separately? If yes, let's just close the topic.<= br>
 

--
Matthew


_______________________________________________
KWrite-Devel mailing list
KWrite-Devel@kde.= org
https://mail.kde.org/mailman/listinfo/kwrite-devel

--089e0115ebf4ab022004f32dd51a-- --===============3717496705611236766== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ KWrite-Devel mailing list KWrite-Devel@kde.org https://mail.kde.org/mailman/listinfo/kwrite-devel --===============3717496705611236766==--