lyuts / vim-rtags

Vim bindings for rtags, llvm/clang based c++ code indexer.
BSD 2-Clause "Simplified" License
282 stars 56 forks source link

Diagnostics improvements + other tweaks #106

Open feltech opened 6 years ago

feltech commented 6 years ago

Background

vim-rtags is the only vim plugin I could find that has the killer "rename symbol" feature for C++, as well as other great features, e.g. class hierarchy. However, diagnostics and completions were nowhere near as friendly as YouCompleteMe and ALE.

Because of the aforementioned two plugins, I already had two clang builds of my project(s) going on at any one time, and with vim-rtags that made three, which is just plain wasteful. vim-rtags was close to replacing all three with a single solution, so I set about adding some tweaks here and there. It's culminated in quite a refactor, especially for the python code (which I am much more familiar with than vimscript).

Highlights

Fixes

Tweaks

Misc

konstheo commented 5 years ago

@feltech It appears you've put a lot of effort on this pull request -- it really looks excellent work. I'll try it and give some feedback.

konstheo commented 5 years ago

Haven't been able to test on my workstation. Vim is compiled to support only python2 and sadly most plugins I use work only with python 2 -- so recompiling for python 3 support will kinda make my system not really usable for developing. Do you have plans, @feltech , to also support python2?

feltech commented 5 years ago

Hey, thanks for taking a look. I'll try to find some time to ensure it's python2 compatible. I've also done some follow-up work that I'm yet to PR, since it's based on this stuff, so it would be nice to get this reviewed.

konstheo commented 5 years ago

In fact @feltech I was mistaken thinking that your pull request isn't Python 2 compatible. After paying attention to the errors I received, I was able to make it work with a couple of tweaks in your code and it works pretty ok so far. I'll open an issue on your side of things regarding those tweaks.

xim commented 4 years ago

I did some testing with this (rtags 2.33) and saw some minor issues;

Note: If it matters, I was running with this branch rebased on top of the current master.