Bug 70280 - add UNO IDL support to ctags
Summary: add UNO IDL support to ctags
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: contrib (show other bugs)
Version:
(earliest affected)
4.2.0.0.alpha0+ Master
Hardware: Other All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard: target:6.0.0
Keywords: difficultyBeginner, easyHack, skillCpp, skillScript, topicDebug
Depends on:
Blocks:
 
Reported: 2013-10-08 13:31 UTC by Michael Stahl (allotropia)
Modified: 2017-08-27 22:08 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Stahl (allotropia) 2013-10-08 13:31:43 UTC
ctags is very useful for developers to quickly look up definitions
of identifiers in the huge LO code base.

unfortunately ctags does not support the UNO IDL language,
so identifiers from the UNO API cannot be looked up yet.

likely it is not hard at all to add the required support to extract
UNO IDL definitions to ctags.

ctags website:

http://ctags.sourceforge.net

UNO IDL syntax description:

http://www.openoffice.org/udk/common/man/idl.html#object_observes_def

perhaps looking at the UNO IDL compiler may be helpful:

idlc/source/scanner.l / parser.y

or the new "unoidl" tool:

unoidl/source/sourceprovider-*
Comment 1 Robinson Tryon (qubit) 2015-12-14 06:40:35 UTC Comment hidden (obsolete)
Comment 2 Robinson Tryon (qubit) 2016-02-18 14:52:37 UTC Comment hidden (obsolete)
Comment 3 Mihály Palenik 2016-11-07 21:03:26 UTC
I would like to try to solve this EasyHack.

I have already checked recommended sources but I have some questions.

Firstly is there some differences between scanner.l/parser.y and sourceprovider-*? I know the grammar is different but the generated language is identical? But I think I will try to start from the UNO IDL syntax description.

Moreover if ctags files are written where should I place/push it? In the LO core branch? Which folder?

I will try first with regex because the ctags' page recommend. The implementation is easier but it might be slowly than read by character.
Comment 4 Commit Notification 2017-08-16 14:34:47 UTC
Jens Carl committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=44534763dee2593edf0efef744a6de500b32855a

tdf#70280 Add UNOIDL support to ctags

It will be available in 6.0.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 5 Commit Notification 2017-08-16 16:24:50 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=f0ef7d06a0953afaa9627f0a1ff08c9f2b412b74

tdf#70280 crete-tags: tweak the UNOIDL regexes

It will be available in 6.0.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.