Since the introduction of "ColumnLimit: 120" in .clang-format, the
column limit has become 120 characters instead of 80 characters.
This prevents clang-format from generating too much changes even if just
a small portion of a source file or header file is modified.
When the current file is X.cc, there might be multiple X.h.
Use a heuristic to find the best X.h.
Vote for each interesting symbol's definitions (for header) or
declarations (for non-header). Select the file with the most votes.
If `file_id2cnt` is empty, use a simpler heuristic.
textDocument/{declaration,definition,typeDefinition} return either LocationLink[] or Location[]
Add an initialization option client.linkSupport . When it is false, ccls will return Location[] disregarding client's linkSupport.
`struct LocationLink` does not include originSelectionRange as it is wasteful.