Thread: Re: [CEDET-devel] A patch for including java.lang.* classes into auto-completion searches
Brought to you by:
zappo
From: David E. <de...@ra...> - 2012-11-05 19:30:58
|
Vladimir Kazanov writes: > The diff attached is a fix of the very first problem I noticed: java.lang > package is not included for auto-completion. The code is simple, it uses the > new JDK-locating function to to get the appropriate table from the JDK jar > file. > > This is a rather quick and obvious fix, but it works for me. Thank you for the patch! Regarding the actual content, I hope Alex will chime in, since I'm not familiar with the Java code. I'm only here to give you the standard blurb: ;-) While this patch is still small enough to qualify as a so called "tiny change", if you plan on submitting further fixes, the FSF will need signed papers from you. This is required because CEDET is merged with GNU Emacs. If you need help with that, please let me know. -David |
From: Alex O. <al...@gm...> - 2012-11-07 07:58:32
|
Yes, I received the patch, slightly modified it and currently trying to implement name completion for built-in java classes. My idea is to get list of built-in classes and inject them into tags, but I'm currently not sure how it's better to make this - I thought about use of semantic-after-toplevel-cache-change-hook - but we need to have this only for java-mode, and in description of this hook there is notification about potential problems if it will become mode-local. Maybe somebody has other ideas? I think, that this isn't Java-specific problem, Python also has modules that automatically imported during startup... On Mon, Nov 5, 2012 at 8:30 PM, David Engster <de...@ra...> wrote: > Vladimir Kazanov writes: >> The diff attached is a fix of the very first problem I noticed: java.lang >> package is not included for auto-completion. The code is simple, it uses the >> new JDK-locating function to to get the appropriate table from the JDK jar >> file. >> >> This is a rather quick and obvious fix, but it works for me. > > Thank you for the patch! Regarding the actual content, I hope Alex will > chime in, since I'm not familiar with the Java code. I'm only here to > give you the standard blurb: ;-) > > While this patch is still small enough to qualify as a so called "tiny > change", if you plan on submitting further fixes, the FSF will need > signed papers from you. This is required because CEDET is merged with > GNU Emacs. If you need help with that, please let me know. > > -David > > ------------------------------------------------------------------------------ > LogMeIn Central: Instant, anywhere, Remote PC access and management. > Stay in control, update software, and manage PCs from one command center > Diagnose problems and improve visibility into emerging IT issues > Automate, monitor and manage. Do more in less time with Central > http://p.sf.net/sfu/logmein12331_d2d > _______________________________________________ > Cedet-devel mailing list > Ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-devel -- With best wishes, Alex Ott http://alexott.net/ Twitter: alexott_en (English), alexott (Russian) Skype: alex.ott |
From: Vladimir K. <vka...@in...> - 2012-11-07 08:27:22
|
Alex, I think I am pretty close to solving this problem. As far as I can see, semanticdb-typecache-find java-specific override should be fixed to take in account java.lang.* searches, as all the tags required are already accessible. For example, the following code gives me nice String method completions (java.lang.String is not imported): java.lang.String tst; tst. // completion follow The point is that typecache searches should also check if there is java.lang.Smth, not just Smth. On Wed, Nov 7, 2012 at 2:58 PM, Alex Ott <al...@gm...> wrote: > > Yes, I received the patch, slightly modified it and currently trying > to implement name completion for built-in java classes. > > My idea is to get list of built-in classes and inject them into tags, > but I'm currently not sure how it's better to make this - I thought > about use of semantic-after-toplevel-cache-change-hook - but we need > to have this only for java-mode, and in description of this hook there > is notification about potential problems if it will become mode-local. > > Maybe somebody has other ideas? I think, that this isn't Java-specific > problem, Python also has modules that automatically imported during > startup... > > On Mon, Nov 5, 2012 at 8:30 PM, David Engster <de...@ra...> wrote: > > Vladimir Kazanov writes: > >> The diff attached is a fix of the very first problem I noticed: java.lang > >> package is not included for auto-completion. The code is simple, it uses the > >> new JDK-locating function to to get the appropriate table from the JDK jar > >> file. > >> > >> This is a rather quick and obvious fix, but it works for me. > > > > Thank you for the patch! Regarding the actual content, I hope Alex will > > chime in, since I'm not familiar with the Java code. I'm only here to > > give you the standard blurb: ;-) > > > > While this patch is still small enough to qualify as a so called "tiny > > change", if you plan on submitting further fixes, the FSF will need > > signed papers from you. This is required because CEDET is merged with > > GNU Emacs. If you need help with that, please let me know. > > > > -David > > > > ------------------------------------------------------------------------------ > > LogMeIn Central: Instant, anywhere, Remote PC access and management. > > Stay in control, update software, and manage PCs from one command center > > Diagnose problems and improve visibility into emerging IT issues > > Automate, monitor and manage. Do more in less time with Central > > http://p.sf.net/sfu/logmein12331_d2d > > _______________________________________________ > > Cedet-devel mailing list > > Ced...@li... > > https://lists.sourceforge.net/lists/listinfo/cedet-devel > > > > -- > With best wishes, Alex Ott > http://alexott.net/ > Twitter: alexott_en (English), alexott (Russian) > Skype: alex.ott > > ------------------------------------------------------------------------------ > LogMeIn Central: Instant, anywhere, Remote PC access and management. > Stay in control, update software, and manage PCs from one command center > Diagnose problems and improve visibility into emerging IT issues > Automate, monitor and manage. Do more in less time with Central > http://p.sf.net/sfu/logmein12331_d2d > _______________________________________________ > Cedet-devel mailing list > Ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-devel > -- Yours sincerely, Vladimir Kazanov, software developer, mob. +7 (963) 304-05-12 ICQ: 82042707 skype: stvovka email: vka...@in... -- С уважением, Владимир Казанов, программист, моб. +7 (963) 304-05-12 ICQ 82042707 skype: stvovka эл.почта vka...@in... |
From: Alex O. <al...@gm...> - 2012-11-07 16:43:03
|
I thought about implicit expansion in semantic-after-toplevel-cache-change-hook also because it would possible to provide support for 'import something.*;' - in this case, we could search for classes in given package, and inject them into current tag cache On Wed, Nov 7, 2012 at 9:27 AM, Vladimir Kazanov <vka...@in...> wrote: > > > Alex, > > I think I am pretty close to solving this problem. As far as I can see, > semanticdb-typecache-find java-specific override should be fixed to take in > account java.lang.* searches, as all the tags required are already > accessible. > > For example, the following code gives me nice String method completions > (java.lang.String is not imported): > > java.lang.String tst; > tst. // completion follow > > The point is that typecache searches should also check if there is > java.lang.Smth, not just Smth. > > On Wed, Nov 7, 2012 at 2:58 PM, Alex Ott <al...@gm...> wrote: >> >> Yes, I received the patch, slightly modified it and currently trying >> to implement name completion for built-in java classes. >> >> My idea is to get list of built-in classes and inject them into tags, >> but I'm currently not sure how it's better to make this - I thought >> about use of semantic-after-toplevel-cache-change-hook - but we need >> to have this only for java-mode, and in description of this hook there >> is notification about potential problems if it will become mode-local. >> >> Maybe somebody has other ideas? I think, that this isn't Java-specific >> problem, Python also has modules that automatically imported during >> startup... >> >> On Mon, Nov 5, 2012 at 8:30 PM, David Engster <de...@ra...> >> wrote: >> > Vladimir Kazanov writes: >> >> The diff attached is a fix of the very first problem I noticed: >> >> java.lang >> >> package is not included for auto-completion. The code is simple, it >> >> uses the >> >> new JDK-locating function to to get the appropriate table from the JDK >> >> jar >> >> file. >> >> >> >> This is a rather quick and obvious fix, but it works for me. >> > >> > Thank you for the patch! Regarding the actual content, I hope Alex will >> > chime in, since I'm not familiar with the Java code. I'm only here to >> > give you the standard blurb: ;-) >> > >> > While this patch is still small enough to qualify as a so called "tiny >> > change", if you plan on submitting further fixes, the FSF will need >> > signed papers from you. This is required because CEDET is merged with >> > GNU Emacs. If you need help with that, please let me know. >> > >> > -David >> > >> > >> > ------------------------------------------------------------------------------ >> > LogMeIn Central: Instant, anywhere, Remote PC access and management. >> > Stay in control, update software, and manage PCs from one command center >> > Diagnose problems and improve visibility into emerging IT issues >> > Automate, monitor and manage. Do more in less time with Central >> > http://p.sf.net/sfu/logmein12331_d2d >> > _______________________________________________ >> > Cedet-devel mailing list >> > Ced...@li... >> > https://lists.sourceforge.net/lists/listinfo/cedet-devel >> >> >> >> -- >> With best wishes, Alex Ott >> http://alexott.net/ >> Twitter: alexott_en (English), alexott (Russian) >> Skype: alex.ott >> >> >> ------------------------------------------------------------------------------ >> LogMeIn Central: Instant, anywhere, Remote PC access and management. >> Stay in control, update software, and manage PCs from one command center >> Diagnose problems and improve visibility into emerging IT issues >> Automate, monitor and manage. Do more in less time with Central >> http://p.sf.net/sfu/logmein12331_d2d >> _______________________________________________ >> Cedet-devel mailing list >> Ced...@li... >> https://lists.sourceforge.net/lists/listinfo/cedet-devel >> > > -- > Yours sincerely, > > Vladimir Kazanov, > software developer, > mob. +7 (963) 304-05-12 > > > ICQ: 82042707 > skype: stvovka > email: vka...@in... > -- > > С уважением, > > Владимир Казанов, > программист, > моб. +7 (963) 304-05-12 > > > ICQ 82042707 > skype: stvovka > эл.почта vka...@in... -- With best wishes, Alex Ott http://alexott.net/ Twitter: alexott_en (English), alexott (Russian) Skype: alex.ott |
From: Eric M. L. <er...@si...> - 2012-11-23 01:55:06
|
Hi All, Sorry for being late replying to this thread. I've was busy throwing pumpkins in Delaware, and then recovering, and building a web-site for it over at siege-engine.com. I'm glad you guys are looking into this problem. I'd been wondering how to get that stuff to work. It was ok for Android projects, since Android used one big jar file, but regular Java programs eluded me, mostly due to the path issues. I had to solve a similar problem for Arduino projects. Arduino code is C++, but the build system automatically sticks an include of wiring.h into the file before compilation by the c++ compiler. If you look at ede/arduino.el, there is one trick of including the wiring macros into the preprocessor, and in semantic/bovine/c.el look for arduino-mode, and you will see an overload of semantic-find-tags-included. This will get all the include file lookup code to use the extra headers as needed. Here is a little bit of my philosophy about the proposed use semantic-after-toplevel-cache-change-hook: In my mind, a language specific customization should be supported via different function overrides. If it isn't supportable, I'd like to see a new override-able function for the desired purpose. Project related changes, of course, can be similarly supported via EDE, except via methods. My interpretation of your suggestion below is to insert faux tags into the regular tag stream for the Java files. ? I think it is best to keep that pure when possible. That said, this is similar to the Pirate Code. More of a guideline than a rule. :) In this case though, I think there is good support in these other two areas. Thanks! Eric On 11/07/2012 11:42 AM, Alex Ott wrote: > I thought about implicit expansion in > semantic-after-toplevel-cache-change-hook also because it would > possible to provide support for 'import something.*;' - in this case, > we could search for classes in given package, and inject them into > current tag cache > > On Wed, Nov 7, 2012 at 9:27 AM, Vladimir Kazanov<vka...@in...> wrote: >> >> >> Alex, >> >> I think I am pretty close to solving this problem. As far as I can see, >> semanticdb-typecache-find java-specific override should be fixed to take in >> account java.lang.* searches, as all the tags required are already >> accessible. >> >> For example, the following code gives me nice String method completions >> (java.lang.String is not imported): >> >> java.lang.String tst; >> tst. // completion follow >> >> The point is that typecache searches should also check if there is >> java.lang.Smth, not just Smth. >> >> On Wed, Nov 7, 2012 at 2:58 PM, Alex Ott<al...@gm...> wrote: >>> >>> Yes, I received the patch, slightly modified it and currently trying >>> to implement name completion for built-in java classes. >>> >>> My idea is to get list of built-in classes and inject them into tags, >>> but I'm currently not sure how it's better to make this - I thought >>> about use of semantic-after-toplevel-cache-change-hook - but we need >>> to have this only for java-mode, and in description of this hook there >>> is notification about potential problems if it will become mode-local. >>> >>> Maybe somebody has other ideas? I think, that this isn't Java-specific >>> problem, Python also has modules that automatically imported during >>> startup... >>> >>> On Mon, Nov 5, 2012 at 8:30 PM, David Engster<de...@ra...> >>> wrote: >>>> Vladimir Kazanov writes: >>>>> The diff attached is a fix of the very first problem I noticed: >>>>> java.lang >>>>> package is not included for auto-completion. The code is simple, it >>>>> uses the >>>>> new JDK-locating function to to get the appropriate table from the JDK >>>>> jar >>>>> file. >>>>> >>>>> This is a rather quick and obvious fix, but it works for me. >>>> >>>> Thank you for the patch! Regarding the actual content, I hope Alex will >>>> chime in, since I'm not familiar with the Java code. I'm only here to >>>> give you the standard blurb: ;-) >>>> >>>> While this patch is still small enough to qualify as a so called "tiny >>>> change", if you plan on submitting further fixes, the FSF will need >>>> signed papers from you. This is required because CEDET is merged with >>>> GNU Emacs. If you need help with that, please let me know. >>>> >>>> -David >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> LogMeIn Central: Instant, anywhere, Remote PC access and management. >>>> Stay in control, update software, and manage PCs from one command center >>>> Diagnose problems and improve visibility into emerging IT issues >>>> Automate, monitor and manage. Do more in less time with Central >>>> http://p.sf.net/sfu/logmein12331_d2d >>>> _______________________________________________ >>>> Cedet-devel mailing list >>>> Ced...@li... >>>> https://lists.sourceforge.net/lists/listinfo/cedet-devel >>> >>> >>> >>> -- >>> With best wishes, Alex Ott >>> http://alexott.net/ >>> Twitter: alexott_en (English), alexott (Russian) >>> Skype: alex.ott >>> >>> >>> ------------------------------------------------------------------------------ >>> LogMeIn Central: Instant, anywhere, Remote PC access and management. >>> Stay in control, update software, and manage PCs from one command center >>> Diagnose problems and improve visibility into emerging IT issues >>> Automate, monitor and manage. Do more in less time with Central >>> http://p.sf.net/sfu/logmein12331_d2d >>> _______________________________________________ >>> Cedet-devel mailing list >>> Ced...@li... >>> https://lists.sourceforge.net/lists/listinfo/cedet-devel >>> >> >> -- >> Yours sincerely, >> >> Vladimir Kazanov, >> software developer, >> mob. +7 (963) 304-05-12 >> >> >> ICQ: 82042707 >> skype: stvovka >> email: vka...@in... >> -- >> >> С уважением, >> >> Владимир Казанов, >> программист, >> моб. +7 (963) 304-05-12 >> >> >> ICQ 82042707 >> skype: stvovka >> эл.почта vka...@in... > > > |