Re: I released the refactoring tool

Eric Ludlam <[email protected]> Thu, 12 Feb 2015 22:06:29 -0500
Newsgroups gmane.emacs.cedet
Message-ID <[email protected]>
On 02/12/2015 04:51 PM, David Engster wrote:
> Tu Do writes:
>> Here are the demos: https://github.com/tuhdo/semantic-refactor/blob/master/
>> srefactor-demos/demos.md
>
> Very cool! Great job, this looks very useful, especially with
> template-heavy code.

I agree, the demo gifs are very cool.  I like the placement UI for 
locating generated code somewhere in a buffer.  Very clever and speedy 
to use.

I'd be interested in your thoughts for why your wrote your own functions 
for inserting a semantic tag as text vs trying to use srecode.  Is 
srecode missing features, such as template support, or is it just overly 
complex?

For example, the body of srefactor--insert-function-implementation could 
be as simple as:

(srecode-semantic-insert-tag func-tag)

if srecode supported the features you need, and would work with other 
languages that have a template set.  If it is missing features, we 
should consider fixing that.

There are several insert fcns that do not have srecode equivalents, but 
could be done with srecode application custom templates which would make 
it easy to port to new languages.

In the tail of your demo you talk about mixing GNU Global and semantic. 
  If you enable GNU Global semantic database, the search results return 
special indirect tags which you can then ask Semantic to convert into 
regular semantic tags.   This two step process means you get GNU Global 
speed and slow but accurate parsing only where the matches are.

Thanks
Eric

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/