yongkangchen / atom-ctags

better autocomplete for atom, using ctags
https://atom.io/packages/atom-ctags
MIT License
87 stars 35 forks source link

Taking too long vs regular cmd line #184

Open raptor235 opened 7 years ago

raptor235 commented 7 years ago

My generation within atom continues to time out... I have excludes setup and I've tested them with regular command line ctags tool which takes 1-2 seconds...

Is there anyway to debug what's the actual cmd line that gets run by the extension? I feel like some parameters aren't being passed through.

raptor235 commented 7 years ago

Also what I'm seeing is that the regular cmd line scan that I run generates around 2500 lines of code vs 50,000 when I do have atom generate it...

counterbeing commented 7 years ago

I'm actually also looking for that piece of debugging advice. I've adjusted the excludes as well, but it seems they're having no effect. I'd love to see what atom-ctags is actually sending to the command line for execution.

franklinrt commented 6 years ago

Look at the tag-generator.coffee file. Specifically lines 51-52.

  args.push("--options=#{ctagsFile}", '--fields=+KSn', '--excmd=p')
  args.push('-u', '-R', '-f', genPath, codepath)

Regardless of how you configure the package, the ctags command at minimum will run with those options. They are also added after your own. Which means even if you try to overwrite the --options file it will still add the .ctags file.

.ctags is the file being used for the options.

In my own project the above arguments (main bloat stemming from the .ctags file) causes my tags file to be 44M. I've thus had to discontinue use of this plugin and manually generate my own tags using ctags.

It would be beneficial if there was an option to disable these options from being automatically added. If we customize the command and command arguments there should not be hidden additions to them.

eliotsykes commented 6 years ago

On macOS at least, the following command shows what command atom-ctags is running currently:

ps -ef | grep ctags

This may also help: https://stackoverflow.com/questions/821837/how-to-get-the-command-line-args-passed-to-a-running-process-on-unix-linux-syste