Understanding differences between gtef and GtkSourceView for word-completion

Umang Jain <[email protected]> Wed, 29 Mar 2017 14:32:27 +0530
Newsgroups gmane.comp.gnome.devtools
Message-ID <CAM1MDdBHyLL4+FaswL2v-ocV6Btz0dfdh8G4ohab1Y-ZWpkE9A@mail.gmail.com>
--===============7184216462347331628==
Content-Type: multipart/alternative; boundary=f4030438860cf89603054bdad584

--f4030438860cf89603054bdad584
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi there,

I am a preparing for a GSoC proposal for the "*Word-completion engine*"
<https://wiki.gnome.org/Outreach/SummerOfCode/2017/Ideas> for Gnome-Builder
(listed at [1] <https://wiki.gnome.org/Apps/Builder/Roadmap>). I am
exploring the GtkSourceView and quite clear with the "objective" it
provides. But what's tripping me up is the new library that has been
decided to be introduced "gtef"  to ease the development of IDEs like
Builder. That's where I starting question where to implement "Improved word
completion"  ? GtkSourceView or gtef ?

Christian Hergert has mentioned either improving GtkSourceView(or gtef
maybe) OR  implementing a new Auto completion engine directly in Builder
(read under "*Improved Auto completion*" at [1]
<https://wiki.gnome.org/Apps/Builder/Roadmap> )

NOTE: I am still fuzzy about the clear distinction between Word-completion
and Auto-complete. For me, I think as word-complete is to be generated from
all available buffers open and it deals with words (variables names, macros
etc.) whereas Auto-complete is the SuperSet dealing with function-names,
symbols etc..

I think it makes sense to improve GtkSourceView/gtef for word-complete.
Thoughts?

*What does  Gnome-Builder needs ? *

Christian again has given a pretty good pointer to it.

Excerpt from [1] <https://wiki.gnome.org/Apps/Builder/Roadmap>:

Ideally, this would look similar to Vim=E2=80=99s implementation of Word
> Completion. Control+P (in Vim mode) would take us to the closest match
> above the current word. Control+N would take us to the closest match afte=
r
> the cursor.
>

I would like to know the objectives that gtef has with respect to the idea
listed above. Is that the ideal place to implement the idea or it should go
into GtkSourceCompletion  (clueless here).

On a technical side, I am still looking into the code of GtkSourceView to
determine the logic of Word-complete as of now. For the implementation
required by gnome-builder, having a Radix trie is half of the solution to
the problem and other half would to determine memory overhead.

Plus, it would be great if anyone  (ideally JesseVanDenKieboom
<https://wiki.gnome.org/JesseVanDenKieboom> or  S=C3=A9bastien Wilmet
<https://wiki.gnome.org/S%C3%A9bastienWilmet>) can  co-mentor me for GSoC
2017. I would be obliged.

I still consider myself a newcomer so please be easy on me. I apologize in
advance for any ignorant mistake committed, without realizing facts on
ground-level.

Thank you.
[1] <https://wiki.gnome.org/Apps/Builder/Roadmap>
https://wiki.gnome.org/Apps/Builder/Roadmap


Cheers,
  uajain

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

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:verdana,=
sans-serif;font-size:small;color:rgb(0,0,0)">Hi there,<br><br></div><div cl=
ass=3D"gmail_default" style=3D"font-family:verdana,sans-serif;font-size:sma=
ll;color:rgb(0,0,0)">I am a preparing for a GSoC proposal for the <a href=
=3D"https://wiki.gnome.org/Outreach/SummerOfCode/2017/Ideas">&quot;<b>Word-=
completion engine</b>&quot;</a> for Gnome-Builder (listed at <a href=3D"htt=
ps://wiki.gnome.org/Apps/Builder/Roadmap">[1]</a>). I am exploring the GtkS=
ourceView and quite clear with the &quot;objective&quot; it provides. But w=
hat&#39;s tripping me up is the new library that has been decided to be int=
roduced &quot;gtef&quot;=C2=A0 to ease the development of IDEs like Builder=
. That&#39;s where I starting question where to implement &quot;Improved wo=
rd completion&quot;=C2=A0 ? GtkSourceView or gtef ? <br><br>Christian Herge=
rt has mentioned either improving GtkSourceView(or gtef maybe) OR=C2=A0 imp=
lementing a new Auto completion engine directly in Builder (read under &quo=
t;<b>Improved Auto completion</b>&quot; at <a href=3D"https://wiki.gnome.or=
g/Apps/Builder/Roadmap">[1]</a> )=C2=A0 <br><br>NOTE: I am still fuzzy abou=
t the clear distinction between Word-completion and Auto-complete. For me, =
I think as word-complete is to be generated from all available buffers open=
 and it deals with words (variables names, macros etc.) whereas Auto-comple=
te is the SuperSet dealing with function-names, symbols etc..<br><br>I thin=
k it makes sense to improve GtkSourceView/gtef for word-complete. Thoughts?=
<br><br><b>What does=C2=A0 Gnome-Builder needs ? </b><br><br>Christian agai=
n has given a pretty good pointer to it. <br><br>Excerpt from <a href=3D"ht=
tps://wiki.gnome.org/Apps/Builder/Roadmap">[1]</a>:<br><br><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid r=
gb(204,204,204);padding-left:1ex">Ideally, this would look similar to Vim=
=E2=80=99s implementation of Word=20
Completion. Control+P (in Vim mode) would take us to the closest match=20
above the current word. Control+N would take us to the closest match=20
after the cursor. <br></blockquote><div>=C2=A0<br></div><div>I would like t=
o know the objectives that gtef has with respect to the idea listed above. =
Is that the ideal place to implement the idea or it should go into GtkSourc=
eCompletion=C2=A0 (clueless here).<br><br></div><div>On a technical side, I=
 am still looking into the code of GtkSourceView to determine the logic of =
Word-complete as of now. For the implementation required by gnome-builder, =
having a Radix trie is half of the solution to the problem and other half w=
ould to determine memory overhead. <br><br></div><div>Plus, it would be gre=
at if anyone=C2=A0 (ideally <a href=3D"https://wiki.gnome.org/JesseVanDenKi=
eboom">JesseVanDenKieboom</a> or=C2=A0 <a href=3D"https://wiki.gnome.org/S%=
C3%A9bastienWilmet">S=C3=A9bastien Wilmet</a>) can=C2=A0 co-mentor me for G=
SoC 2017. I would be obliged.<br></div><div><br>I still consider myself a n=
ewcomer so please be easy on me. I apologize in advance for any ignorant mi=
stake committed, without realizing facts on ground-level.<br><br></div><div=
>Thank you. <br></div><a href=3D"https://wiki.gnome.org/Apps/Builder/Roadma=
p">[1]</a> <a href=3D"https://wiki.gnome.org/Apps/Builder/Roadmap">https://=
wiki.gnome.org/Apps/Builder/Roadmap</a><br> <br><br clear=3D"all"></div><di=
v><div class=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><fo=
nt color=3D"#333333" size=3D"2" face=3D"verdana, sans-serif">Cheers,</font>=
<div><font color=3D"#333333" size=3D"2" face=3D"verdana, sans-serif">=C2=A0=
 uajain</font></div></div></div></div></div></div>
</div>

--f4030438860cf89603054bdad584--

--===============7184216462347331628==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
gnome-devtools mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gnome-devtools

--===============7184216462347331628==--