-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathLSP-clangd.sublime-settings
105 lines (94 loc) · 5.85 KB
/
LSP-clangd.sublime-settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
{
/////////////////////////
// LSP-clangd Settings //
/////////////////////////
// The clangd binary to use.
// "system": Prefers the system binary below
// "auto": Prefers the system binary but falls back to GitHub without user intervention
// "github": Prefers the latest tested release from GitHub
// "custom": Use the custom command in the initializationOptions below
"binary": "system",
// The binary to use when `binary` is set to `system`.
"system_binary": "clangd",
// Generated internally because clangd is configured via command line arguments.
// DO NOT CHANGE THIS, use `system_binary` or `custom_command` instead.
"command": [],
// Enable clangd for C/C++ and Objective-C/C++
"selector": "source.c | source.c++ | source.objc | source.objc++ | source.cuda-c++",
// Makes the auto-complete not trigger twice when writing a -> or when writing ::
"auto_complete_selector": "punctuation.accessor | (meta.preprocessor.include string - punctuation.definition.string.end)",
"initializationOptions": {
// A custom command to start clangd. Set `binary` to `custom` to use this command.
// The command-line arguments which are generated from the `clang.*` settings are appended to this command.
// This can be used for MSYS2's clangd for example.
"custom_command": [],
// @see https://clangd.llvm.org/extensions#file-status
// Enables receiving textDocument/clangd.fileStatus notifications.
// -- unsupported --
"clangdFileStatus": false,
// @see https://clangd.llvm.org/extensions#compilation-commands
// Controls the flags used when no specific compile command is found.
// The compile command will be approximately clang $FILE $fallbackFlags in this case.
"fallbackFlags": [],
// clangd options. Set to null to keep the clangd default.
// These options are converted to commandline options when clangd is startet.
// clangd compilation flags options:
// Specify a path to look for compile_commands.json.
// If path is invalid, clangd will look in the current directory and parent paths of each source file
"clangd.compile-commands-dir": null,
// Comma separated list of globs for white-listing gcc-compatible drivers that are safe to execute.
// Drivers matching any of these globs will be used to extract system includes. e.g. /usr/bin/**/clang-*,/path/to/repo/**/g++-*
"clangd.query-driver": null,
// clangd feature options:
// If set to true, code completion will include index symbols that are not defined in the scopes (e.g. namespaces) visible from the code completion point.
// Such completions can insert scope qualifiers
"clangd.all-scopes-completion": null,
// Index project code in the background and persist index on disk
"clangd.background-index": null,
// Thread priority for building the background index. The effect of this flag is OS-specific.
// One of "background", "low", "normal"
"clangd.background-index-priority": null,
// Enable clang-tidy diagnostics
"clangd.clang-tidy": null,
// Granularity of code completion suggestions
// detailed: One completion item for each semantically distinct completion, with full type information
// bundled: Similar completion items (e.g. function overloads) are combined. Type information shown where possible
"clangd.completion-style": null,
// clang-format style to apply by default when no .clang-format file is found
"clangd.fallback-style": null,
// When disabled, completions contain only parentheses for function calls.
// When enabled, completions also contain placeholders for method parameters
"clangd.function-arg-placeholders": null,
// Add #include directives when accepting code completions
// iwyu: Include what you use. Insert the owning header for top-level symbols, unless the header is already directly included or the symbol is forward-declared
// never: Never insert #include directives as part of code completion
"clangd.header-insertion": null,
// Prepend a circular dot or space before the completion label, depending on whether an include line will be inserted or not
"clangd.header-insertion-decorators": null,
// Limit the number of references returned by clangd. 0 means no limit (default=1000)
"clangd.limit-references": null,
// Limit the number of results returned by clangd. 0 means no limit (default=100)
"clangd.limit-results": null,
// Path to the project root. Requires remote-index-address to be set
"clangd.project-root": null,
// Address of the remote index server
"clangd.remote-index-address": null,
// clangd miscellaneous options:
// Number of workers used for indexing and language server
"clangd.number-workers": null,
// Set to "true" to release memory periodically via malloc_trim(3)
"clangd.malloc-trim": null,
// One of "disk", "memory". Storing PCHs in memory increases memory usages, but may improve performance
"clangd.pch-storage": null,
// Read user and project configuration from YAML files.
"clangd.enable-config": null,
// clangd protocol and logging options:
// One of "error", "info", "verbose"
"clangd.log": null,
// Translates between client paths (as seen by a remote editor) and server paths (where clangd sees files on disk).
// Comma separated list of '<client_path>=<server_path>' pairs, the first entry matching a given path is used. e.g. /home/project/incl=/opt/include,/home/project=/workarea/project
"clangd.path-mappings": null,
// Pretty-print JSON output
"clangd.pretty": null,
},
}