On Sun, Aug 5, 2012 at 4:18 PM, Thanatermesis
<thanatermesis.e...@gmail.com> wrote:
> Well, I have made some trick for build ctags, if you* want to build them
> you maybe need to do it like me, this is the bunch of code that i used for
> the packaging process, basically it does that: do a copy of usr/include
> (where the headers is), modify them by removing the annoying EINA keywords
> that make ctags not work correctly, use these files for build ctags, and
> finally remove them since they are useless and modified sources, the result
> is a ctags file which redirects correctly to the equivalent line in the
> headers file when coding
>
> Improvements are welcome
>
>     # make this trick for make ctags understand api,
>     # removing not needed EINA types used in efl,
>     # it does a temporal copy of headers modified used for only build ctags
>     -rm -rf debian/include.ctags
>     -mkdir -p debian/include.ctags/usr
>     cp -a debian/tmp/usr/include debian/include.ctags/usr/
>     find debian/include.ctags -type f -iname '*.h*' -exec sed -i \
>         -e 's|EINA_MALLOC||g' \
>         -e 's|EINA_CONST||g' \
>         -e 's|EINA_CONST||g' \
>         -e 's|EINA_PURE||g' \
>         -e 's|EINA_NONINSTRUMENT||g' \
>         -e 's|EINA_WARN_UNUSED_RESULT||g' \
>         -e 's|EINA_ARG_NONNULL([[:digit:]][^)]*)||g' \
>         -e 's|EINA_PRINTF([[:digit:]][^)]*)||g' \
>         {} \;
>     ctags -R -h ".h.H.hh.hxx" -f $(DEB_SOURCE_PACKAGE).tags --fields=+iaS
> --c-types=pcdgstue --excmd=number debian/include.ctags
>     sed -i 's|debian/include.ctags||g' $(DEB_SOURCE_PACKAGE).tags
>     -rm -rf debian/include.ctags
>     mkdir -p debian/tmp/usr/share/editor-ctags
>     mv $(DEB_SOURCE_PACKAGE).tags debian/tmp/usr/share/editor-ctags/
>     # end ctags construction code
>

Out of curiosity, have you tried the '-I' option of ctags ? I often
find it useful in such cases...

Lionel

>
> Thanatermesis
>
>
> 2012/8/5 Thanatermesis <thanatermesis.e...@gmail.com>
>
>> I was trying ctags and it seems to not recognize correctly the code, you
>> can test it with your ctags too, for example with these 2 keywords:
>>
>> evas_object_del
>> evas_shutdown
>>
>> Depend of your ctags command you can have the evas_shutdown one, but
>> there's no way to have evas_object_del, after to check the header code that
>> contains it and do some tests by modifying the line which should match, i
>> found that it works after to get rid of the part:
>>
>> EINA_ARG_NONNULL(1)
>>
>> from this complete line:
>>
>> EAPI void             evas_object_del(Evas_Object *obj)
>> EINA_ARG_NONNULL(1);
>>
>> The command that i have used is something like: ctags -R -h ".h.H.hh.hxx"
>> -f evas.tags --fields=+iaS --c-types=pcdgstue --excmd=number .
>>
>> Any ideas of how to build correctly ctags ?
>>
>>
>>
>> Thanatermesis
>>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to