File api
fixes #62
Apologies for the long radio silence, I was on holiday and then again very busy with work. I'll review your PR in the next few days. A huge thanks in advance.
Great. This probably still has some rough edges and is missing docs. Just let me know what you find. I'm quite busy currently so it may take a while until I can address any issues.
I think I addressed all your comments by either a change or an explanation. I also rebased on master. I don't think we have to do anything special in s:buildsys.Init(). You already call s:SetCurrentConfig which does the necessary refreshing.
For documentation I think we should at least document the new version requirement and the fact that the file api is used at all. The rest is internals I would say. Also the changelog entry is still missing.
Thanks a lot for the quick reaction, back to you with a couple more comments!
I think this should be enough for documentation since this is more of an internal change. Let me know if you would reword anything. Otherwise I would say this is ready.
Also, given that s:buildsys.GetTargets() is only called once now (from s:GetBuildArgs() in build.vim), we could get rid of that, and always use s:fileapi to retrieve targets.
The latest version look great! Could I just ask you to update the docstrings of these functions in fileapi.vim? Where applicable, they should include Params, Returns, and perhaps also Raises for those that can raise exceptions.
s:FindIndexFile()s:ParseIndex()s:ParseCodemodel()s:fileapi.Parse()
After that, I'll just merge, if you agree.
And by the way, thanks A LOT for taking the time to work on this feature and address my review comments, I appreciate that a lot
and perhaps also
Raisesfor those that can raise exceptions.
Does this mean for all those from which a vim-cmake exception can escape or only those with the actual throw statement (does it include s:fileapi.Parse() or only s:ParseIndex()).
After that, I'll just merge, if you agree.
I do.
I meant to also document Raises in s:fileapi.Parse(), given that it's a public function, so that if we are to use it in some other places in the future we know how to treat it. It'd be great if you could apply this last one change. Thanks!
That was fast! I'm merging
That was fast! I'm merging
I may have had this prepared in case this is what you wanted... :)
Anyways, thanks for merging.