ctags fork question
As you already know I am packaging arduino for arch and I want to get rid of the shipped ctags binary. I tried to link to the upstream ctags, but that gave me some compile errors:
expected constructor, destructor, or type conversion before ';' token
Is this ctags a special patched version of ctags which cannot be replaced by upstream? If so, why dont you upload your fixes to upstream, so we do not need to suplicate software?
This repo started as a fork of exhuberant-ctags, but maybe it's better to rebase the changes to universal-ctags, see #2 (Rebase to universal-ctags). It may be not easy to do and it's even harder to test.
arduino-builder has a good set of tests BTW, if the test-suite passes using universal-ctags it may be a good sign that moving to universal-ctags is feasible.
As always time is a factor...
On arch it seems that we use exhuberant-ctags, but it gives me the described error. https://www.archlinux.org/packages/extra/x86_64/ctags/
So I guess your fork has some patched that are not applied upstream. Whatever upstream you use, it would be nice to patch their upstream version instead of using a fork. That'd make it easier to integrate into linux distributions and produce less binary duplication. Mostly one of the reasons why linux is better than windows.
So I guess your fork has some patched that are not applied upstream.
Yes, those are the patches: https://github.com/arduino/ctags/commits/master
Whatever upstream you use, it would be nice to patch their upstream version instead of using a fork.
As you can see from the git history this repo is originally based on the latest release of exhuberant ctags http://ctags.sourceforge.net/, the version 5.8 to be precise. Relased on 09 July 2009. This makes me think that any attempt to provide patch upstream to exhuberant-ctags is just a waste of time.
Probably the best move to do right now, is to try to rebase all the patches on top of univeral-ctags that seems the most active and maintained fork of ctags as @masatake suggested in #2
That'd make it easier to integrate into linux distributions and produce less binary duplication. Mostly one of the reasons why linux is better than windows.
Of course :-)
Yes, those are the patches: https://github.com/arduino/ctags/commits/master
Do you have test cases for the changes ?
The patches seem to be a bit larger, so I cannot simply use the upstream ctags. https://github.com/arduino/ctags/compare/df072805f78ee08ba135f6fb70f29b6e17166b25...master
It looks that @masatake is willing to adapt any arduino related changes which would be great.
@NicoHood,
For merging the efforst, test cases that show the intent of changes are needed.
See http://docs.ctags.io/en/latest/units.html
Hi guys, I know the issue is old, but what's the status of this? Is there still a plan to "migrate" to universal ctags? Or will this repository be deprecated along with arduino-builder as soon as arduino-cli is released?
CC @cmaglie @facchinm
Hi @rockstorm101 ,
this fork of ctags is going to stay around for a bit (arduino-cli still uses it).
The big plan is to get rid of it sooner or later but surely not before the cli gets a stable release.
Hello @facchinm
I'm currently trying to replicate the sketch build process. As you know, for now it uses this fork of ctags (arduino-cli v.0.21). However, I find the requirement of shipping/embedding this tool cumbersome for my users, especially since it can't be replaced with exuberant-ctags nor universal-ctags (e.g., because of the undocumented T field).
You mentioned you wanted to get rid of it eventually; how do you mean to replace it? Is the will for change even still there? Or is "the cli gets a stable release" too far away in the future to even consider this?
Hi @rockstorm101 , this fork of
ctagsis going to stay around for a bit (arduino-clistill uses it). The big plan is to get rid of it sooner or later but surely not before the cli gets a stable release.
CC @fpistm
Hi @massonal , @arduino/team_tooling is now in charge of the tooling side :slightly_smiling_face: Removing 'ctags` proved to be very complicated, since all the alternatives (like https://github.com/arduino/arduino-preprocessor, based on clang) have shortcomings in one or more usecases.
Ok, thanks for the update! For the moment I'll make do with ctags then, and I stay tuned for updates on arduino-preprocessor 👍.