Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider moving CompilationDatabase flag preparation logic into the server #6

Open
jerrymarino opened this issue May 29, 2017 · 0 comments · May be fixed by #7
Open

Consider moving CompilationDatabase flag preparation logic into the server #6

jerrymarino opened this issue May 29, 2017 · 0 comments · May be fixed by #7

Comments

@jerrymarino
Copy link
Owner

compile_commands.json has records which command's are compiler invocations for compilation.

For diagnostics and completion, we need to transform these invocations to the correct value for various semantic tasks.

Currently, this ability is implemented in the YCMD client. Consider moving this to the server to do less work on the client. This makes it easier to write clients.

@jerrymarino jerrymarino linked a pull request Jun 1, 2017 that will close this issue
jerrymarino added a commit that referenced this issue Jun 1, 2017
In hindsight, it was a shitty decision to put flag prep in the client (
Probably a whisky driven design decision ) Revert this mistake.

The CompilationDatabase should be an input to Swift services and tools (
like how this works in clang ).

Now the client simply prepares a CompilationDatabase, and sends us
commands from that.

We need to process flags for diagnostics and it is more reasonable to
have all of this flag logic happen in 1 place, and have clear
definitions of what the server accepts as input for these flags.

resolves #6

There should be a PR to YCMD as well ( or just merge into
ycm-core/ycmd#487 )

TODO:
Additionally consider making the flags accept a string instead of an
array. It is insane to convert the string to an array on the client.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant