jEdit Community - Resources for users of the jEdit Text Editor
C/C++ tags
Submitted by shlomy on Sunday, 17 September, 2006 - 13:20
Hi,
There are several features I would like to have in jEdit, related to C/C++ tags. Please let me know if there is any work being done on these features (or any plans to implement them). I consider implementing these features myself, either by contributing to existing plugins or by writing new ones. Here are the features:
1. GUI for the creation of tag files (e.g. a dialog interface for 'ctags'). I'd like to see that as part of the Tags plugin.
2. Automatic update of tag files as buffers are being modified. The CodeBrowser plugin provides a similar functionality, but it only works on the current buffer. I'd like to see this functionality in the Tags plugin.
3. Provide different options to 'ctags' when parsing H files and when parsing C/C++ files. From what I saw, 'ctags' by default collects only function/method definitions, but if you run it with "--c-types=p" it will collect function/method prototypes instead. Usually, I'd like the tag files to contain both the prototypes and the definitions, so 'ctags' should be invoked with different options on these types of files. This request applies both to the CodeBrowser (which, in my project, shows only a small subset of the prototypes in my H files) and to the Tags plugin if requests 1&2 above will be implemented. BTW - there is also an option in 'ctags' to collect local variables.
4. 'ctags' provides only prototypes/definitions. When writing s/w, one usually also needs to see all the references to some identifier. The GNU 'global' tool uses 'gtags' and collects both definitions and references. I'd like to have support for the 'global' tool as well, either as part of 'Tags' or another plugin.

My email is: sreinst1@walla.co.il.

Thanks,
Shlomy
Comment viewing options
Select your preferred way to display the comments and click 'Save settings' to activate your changes.
me too
by AlanEzust on Mon, 18/09/2006 - 00:19
CodeBrowser needs a new maintainer. Any volunteers?
Also, be sure to check out CScopeFinder, which uses cscope index files to navigate between files.

Both of these can use some improvements for C/C++ navigation.
 
Depends. What are the expecta
by shlomy on Wed, 20/09/2006 - 01:29
Depends. What are the expectations from a plugin maintainer?
Also, what improvements do you have in mind for CodeBrowser?

I also checked CScopeFinder. The problem with CScopeFinder is that cscope itself performed very poorly on my project. It was not able to find definitions and references of many types.

I'd be happy to hear about other open-source tagging tools for C++, if exist. For now I'm thinking of a plugin that will combine the usage of 'ctags' and 'global' to provide both definitions and references to identifiers, although I found 'global' to be quite fragile - for example, a broken symlink in Linux causes it to abort processing.
 
How to be a plugin maintainer.
by AlanEzust on Tue, 26/09/2006 - 04:53
As a plugin maintainer, you are expected to care about the plugin. Give it some love, look at its code, clean things up, fix any annoying little bug you can, and preferably, try to close as many of the open ones as you can. Also implement feature requests. That's all. I'll be happy to help anyone who wants to get started in plugin maintenance - I have contributed bugfixes to over 20 plugins now.

I am unable to maintain all of the plugins that I've touched, so I don't call myself maintainer of some of them. You can still contribute by fixing bugs and not be a "maintainer" if you don't want to be.
 
updated developer site
by AlanEzust on Tue, 26/09/2006 - 05:29
Please see the updated developer site

http://www.jedit.org/?page=devel

It has some new stuff in it.
 
CodeBrowser
by Manil on Thu, 21/09/2006 - 18:09
Hi,

I am supposed to check in a modification for CodeBrowser to make the highlight the current tag in the tree to make this version of CodeBrowser available to everyone.

I was in vaccation and i didn't have time to do it.

Currently CodeBrowser uses exeburant Ctags, and the options are hard coded in CodeBrowser, so you don't realy have a choice, having a GUI in the plugin option will be nice. I have never done any developpement on the jEdit side, only in CodeBrowser. But i can see what can i do.....

Alan i'll commit my code via svn tonight(i am in Canada and it's 2 pm), but i don't know how to release a new version of a pluggin. I'll see in the documentation, if you have hints to make sure that i do the right stuff, let me know please....

Manil
 
Highlighting the current tag
by shlomy on Fri, 22/09/2006 - 19:58
Hi Manil,

I downloaded your code for highlighting the current tag and there's a small implementation improvement I'd like to suggest: ctags has an option to add line numbers to its output, so in the same execution of ctags you can get both the patterns and the line numbers. This way, you don't need to run ctags twice and parse the output of boths runs. Just add the option "--fields=+n" to the ctags command-line, and after the hash is created from the extensions, the key "line" in the extensions contains the line number of the tag.
I don't know how to attach files to my reply, otherwise I'd attach CBRoot.java with this improvement. If you like I can send it to you, or maybe put it in SVN. Just let me know.

Also, do you intend to add more features? I have some in mind:
1. Configurable options for ctags per file extension (or per mode)
2. Different presentation of the tree - like the Outline view in eclipse. There are two main differences: In eclipse, members of classes in H files appear as children of the class (and not under a top-level 'function' or 'variable' node). Also, in .cpp files, member names are qualified with the class, so, for example, if the same cpp file contains definitions for "A::f" and "B::f", you see these names in the tree instead of two plain "f()" nodes.
3. Make the current tag highlighting an option (like "auto-parse").

I'd be glad to implement these features myself. I've already implemented (3), let me know if you're interested in the code.

Shlomy
 
Thx a lot
by Manil on Sun, 24/09/2006 - 17:33
Hi,

I have to execute twice the ctags command because the option --cmd=mixed doesn't work, i didn't try with --fields=+n, i`ll change it.

To let you know, i am new to jedit developpement, i got an access to svn but i didn't use it yet. So i don't know what the admins are expecting from CodeBrowser. I made the highlight of current tag cause i work a lot in Pascal and i like to know where i am in my code.

I don't know mush about ctags and help from others is always wellcome. I'll add the highlight as an option, if people are not interested in to it(I know it takes a little of CPU on big files).

To add the config of ctags by file extension or by mode, i'll need to add this in a GUI, so i don't if i have to do it only in CodeBrowser or in jEdit/Plugin options......

For the modification of the tree it will need a litle work, since you have to compose with a lot of languages...Comments are wellcome.

Thx a lot for your interest and your help, i like interaction to make a better plugin...Admin are wellcome to post comments...

Manil
 
Making contributions
by shlomy on Sun, 24/09/2006 - 22:06
Hi,

I'd be glad to contribute code to the CodeBrowser and to other plugins, especially those related to C/C++. What is the procedure for contributing code? Is there a testing framework for code changes?

I'm also new to jEdit development, but I read most of the plugin-writer's guide that comes with jEdit, and the plugin API seems to be easy to use. You can also use source code of existing plugins as a reference.

The reasons I wanted tag highlighting to be an option is that it may slow down scrolling if the file contains many tags, and also that there may be other plugins using a caret listener.

Adding plugin options is done in the plugin itself. Part of the API of a plugin is the "Plugin options" dialog. I can contribute the "ctags configuration" feature myself, however I'd first like to consult with users of the CodeBrowser how useful it would be and what would be the best GUI for that. I can range from a single edit line where the user enters the options for ctags up to a dialog that shows check-boxes for the different kinds of information ctags can provide (and it can do that by querying ctags for these kinds). Is there a forum for consulting with users?

Regarding the modification of the CodeBrowser tree: We can start by using the extension "class" from the ctags output, and either group the tags belonging to this class under the class name, or at least providing an option to see the fully-qualified tags. The "class" extension is currently available for C++, Java and Eiffel. Later (if needed), this can be extended by several means, for example by configuring the extension name. I'd be glad to contribute this feature as well.

Other than this, I'll be glad to join you in maintaining the CodeBrowser plugin, and I'm planning on writing a complementary plugin that will make use of 'ctags' and 'global' to provide project-wide browsing with capabilities of 'Go to definition', 'List references', 'Browse hierarchy' and so on. For a short while I considered writing an editor with these capabilities from scratch, but then, jEdit is a great editor, and the small number of features that I need and are not in jEdit can be added as plugins.

Shlomy
 
That's great to hear! Yes, pl
by AlanEzust on Tue, 26/09/2006 - 05:00
That's great to hear! Yes, please move this discussion to jedit-devel. Make specific feature requests in the sf.net feature request tracker, assign yourself the ones you want to do yourself.

Ask for help on the -devel list and I'll be happy to help you.
 
Please add me to the list of developers
by shlomy on Thu, 28/09/2006 - 19:08
Hi,
I've opened a feature request for a feature that I've already implemented in CodeBrowser, however I cannot assign it to myself since I'm not in the list of developers. Can you add me please?
The feature I'm referring to is an option to show namespace-qualified tags (e.g. "A::f()" instead of "f()")in the tree instead of plain tag names.

BTW, I subscribed to the jedit-devel list, then asked for help on that list, but the email bounced back to me saying that I'm not a member of the list (?) so the email is waiting for an admin's approval.

Thanks,
Shlomy
 
confirmation
by Robert Schwenn on Fri, 29/09/2006 - 16:52
Hi Shlomy,
You first get a Mail "Mailing list subscription confirmation notice for mailing list jEdit-devel" that You have to confirm. May take a while..

Robert
 
I confirmed...
by shlomy on Fri, 29/09/2006 - 17:35
I confirmed my subscription and I started receiving emails from the list immediately. Yet my emails bounce back with that message.
 
postmaster
by Robert Schwenn on Sat, 30/09/2006 - 11:22
My first trial mails to "jedit-users@lists.sourceforge.net" have been bounced back too. Yesterday Smiling I read the error mesage carefully and realized that this was caused by the missing postmaster-account at my mail domain. So I created postmaster@... and the next message arrived at the mailing list.

Robert
 
In my case it's a different reason
by shlomy on Sat, 30/09/2006 - 14:25
The bounced-back email says: "Post by non-member to a members-only list". And this I got about an hour after receiving the confirmation of being registered with the mailing list.
A short while after subscribing to the list, I changed my email address for this list because I realized the original (web) email address I entered does not work well in Firefox. So I guess this bounce-back might be due to the change of email address shortly after the subscription.
 
welcome aboard
by AlanEzust on Tue, 03/10/2006 - 04:22
Hi shlomy - i have been having gmail difficulties, sending out e-mail. I'm sure it will be resolved soon, btu some of my messages to you bounced back.

You asked me how to get the latest source, have you learned about svn yet?
 
Thanks
by shlomy on Tue, 03/10/2006 - 07:01
Yes, I am familiar with SVN and CVS for several years now, I just didn't find the repository locations in the jEdit website. I finally found them in the SourceForge page for jEdit and managed to check-out everything I needed.
I must say terrific work has been put into jEdit and many of its plugins, and last week I switched from using Eclipse as my editor to using jEdit. However some features are missing in the C/C++ support plugins and I'm going to implement them.

I still have one problem left: Email messages that I send to jedit-devel bounce back with "Post of non-member to a member-only list". I'm subscribed to jedit-devel, doesn't that make me a member?

Thanks,
Shlomy
 
re-subscribe ?
by Robert Schwenn on Tue, 03/10/2006 - 12:42
Did You try unsubsribing and then re-subscribing with Your new email address?
I guess it's only possible to post to the mailing list from the email address, that was given at subscribing.

Robert
 
Doesn't work
by shlomy on Tue, 03/10/2006 - 17:26
I unsubscribed and resubscribed but my email still bounced back.
Thanks,
Shlomy
 
Can the email problem be fixed?
by shlomy on Sun, 15/10/2006 - 11:49
I am still unable to send email to both the jedit-users and jedit-devel lists. My emails bounce back to me with "Moderator approval required", due to "post of a non-member ...".
How do I make jEdit users aware of my new plugin, CtagsSideKick? It seems that adding it to "Plugin beta versions" doesn't do that. And btw, the Community site is almost unusable for me because it is amazingly slow most of the time.
 
devel attack ;-)
by Robert Schwenn on Sun, 15/10/2006 - 14:56
1. I thougt the problem has been solved, because I read some posts of You in jedit-devel. But now I see that all of them are posts to the jedit bugs or feature-request trackers (These are forewarded to the jedit-devel).

At the bottom of the subscribing page is found this hint: "jEdit-devel list run by Vampire at jEdit.org" with an integrated link to Vampire's email: "jedit-devel-owner@lists.sourceforge.net". I think You should mail him. If this mail also fails, I will do it.

I listen to the jeidt-devel for a few month'. It's an active forum of developers - just right for You.

2. At Plugin Central there are hints and several furthergoing links for releasing a plugin. And I think a Question at jedit-devel is ok.


Robert
 
Mailing list problem solved
by shlomy on Mon, 16/10/2006 - 07:04
It turns out that the problem is on my side. Though I've sent the emails from the same address with which I subscribed, they look like they were sent from a slightly different address. I think it's a problem with my client configuration, but in any case, the issue is resolved. Thanks again for the help.
 
Thanks again!
by shlomy on Sun, 15/10/2006 - 22:04
1. I sent email to the jedit-devel maintainer, thanks.
2. That's okay, but before I prepare my plugin for release I'd like at least to send an email to jedit-users and wait for some feedback for a while. I still can't do that (same problem with jedit-users as with jedit-devel).

Shlomy
 
Hi, good to know that ther
by Robert Schwenn on Mon, 25/09/2006 - 21:09
Hi,

good to know that there are people interested in maintaining CodeBrowser.

The forum for users is this here Eye-wink. But there are two mailing lists: jedit-users and jedit-devel. You can subscribe here .

Robert
User login
Browse archives
« April 2024  
MoTuWeThFrSaSu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
Poll
Are you interested in language packs for jEdit?
Yes, and I could help maintain translations
26%
Yes, I'd like to have translations
32%
Indifferent
35%
No, that'd be bad (please comment)
7%
Total votes: 1093
Syndication
file   ver   dls
German Localization light   4.4.2.1   82348
Context Free Art (*.cfdg)   0.31   46055
JBuilder scheme   .001   18495
BBEdit scheme   1.0   18116
ColdFusion scheme   1.0   18024
R Edit Mode - extensive version   0.1   17473
Advanced HTML edit mode   1.0   16206
Matlab Edit Mode   1.0   16068
jEdit XP icons   1.0   15229
XP icons for jEdit   1.1   14293