clang-tools 8.0.0

Namespaces | Enumerations | Functions
ClangdMain.cpp File Reference
`#include "Features.inc"`
`#include "ClangdLSPServer.h"`
`#include "Path.h"`
`#include "Trace.h"`
`#include "Transport.h"`
`#include "index/Serialization.h"`
`#include "clang/Basic/Version.h"`
`#include "llvm/Support/CommandLine.h"`
`#include "llvm/Support/FileSystem.h"`
`#include "llvm/Support/Path.h"`
`#include "llvm/Support/Program.h"`
`#include "llvm/Support/Signals.h"`
`#include "llvm/Support/raw_ostream.h"`
`#include <cstdlib>`
`#include <iostream>`
`#include <memory>`
`#include <string>`
`#include <thread>`
Include dependency graph for ClangdMain.cpp:

Go to the source code of this file.

## Namespaces
| clang
| ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
| clang::clangd

## Enumerations
enum | clang::clangd::CompletionStyleFlag { clang::clangd::Detailed, clang::clangd::Bundled }
enum | clang::clangd::PCHStorageFlag { clang::clangd::Disk, clang::clangd::Memory }
enum | clang::clangd::CompileArgsFrom { clang::clangd::LSPCompileArgs, clang::clangd::FilesystemCompileArgs }
enum | ErrorResultCode : int { ErrorResultCode::NoShutdownRequest = 1, ErrorResultCode::CantRunAsXPCService = 2 }

## Functions
static llvm::cl::opt< bool > | clang::clangd::UseDex ("use-dex-index", llvm::cl::desc("Use experimental Dex dynamic index."), llvm::cl::init(false), llvm::cl::Hidden)
static llvm::cl::opt< Path > | clang::clangd::CompileCommandsDir ("compile-commands-dir", llvm::cl::desc("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."))
static llvm::cl::opt< unsigned > | clang::clangd::WorkerThreadsCount ("j", llvm::cl::desc("Number of async workers used by clangd"), llvm::cl::init(getDefaultAsyncThreadsCount()))
static llvm::cl::opt< CompletionStyleFlag > | clang::clangd::CompletionStyle ("completion-style", llvm::cl::desc("Granularity of code completion suggestions"), llvm::cl::values(clEnumValN(Detailed, "detailed", "One completion item for each semantically distinct " "completion, with full type information."), clEnumValN(Bundled, "bundled", "Similar completion items (e.g. function overloads) are " "combined. Type information shown where possible.")), llvm::cl::init(Detailed))
static llvm::cl::opt< bool > | clang::clangd::IncludeIneligibleResults ("include-ineligible-results", llvm::cl::desc("Include ineligible completion results (e.g. private members)"), llvm::cl::init(CodeCompleteOptions().IncludeIneligibleResults), llvm::cl::Hidden)
static llvm::cl::opt< JSONStreamStyle > | clang::clangd::InputStyle ("input-style", llvm::cl::desc("Input JSON stream encoding"), llvm::cl::values(clEnumValN(JSONStreamStyle::Standard, "standard", "usual LSP protocol"), clEnumValN(JSONStreamStyle::Delimited, "delimited", "messages delimited by --- lines, with # comment support")), llvm::cl::init(JSONStreamStyle::Standard))
static llvm::cl::opt< bool > | clang::clangd::PrettyPrint ("pretty", llvm::cl::desc("Pretty-print JSON output"), llvm::cl::init(false))
static llvm::cl::opt< Logger::Level > | clang::clangd::LogLevel ("log", llvm::cl::desc("Verbosity of log messages written to stderr"), llvm::cl::values(clEnumValN(Logger::Error, "error", "Error messages only"), clEnumValN(Logger::Info, "info", "High level execution tracing"), clEnumValN(Logger::Debug, "verbose", "Low level details")), llvm::cl::init(Logger::Info))
static llvm::cl::opt< bool > | clang::clangd::Test ("lit-test", llvm::cl::desc("Abbreviation for -input-style=delimited -pretty " "-run-synchronously -enable-test-scheme. " "Intended to simplify lit tests."), llvm::cl::init(false), llvm::cl::Hidden)
static llvm::cl::opt< bool > | clang::clangd::EnableTestScheme ("enable-test-uri-scheme", llvm::cl::desc("Enable 'test:' URI scheme. Only use in lit tests."), llvm::cl::init(false), llvm::cl::Hidden)
static llvm::cl::opt< PCHStorageFlag > | clang::clangd::PCHStorage ("pch-storage", llvm::cl::desc("Storing PCHs in memory increases memory usages, but may " "improve performance"), llvm::cl::values(clEnumValN(PCHStorageFlag::Disk, "disk", "store PCHs on disk"), clEnumValN(PCHStorageFlag::Memory, "memory", "store PCHs in memory")), llvm::cl::init(PCHStorageFlag::Disk))
static llvm::cl::opt< int > | clang::clangd::LimitResults ("limit-results", llvm::cl::desc("Limit the number of results returned by clangd. " "0 means no limit."), llvm::cl::init(100))
static llvm::cl::opt< bool > | clang::clangd::RunSynchronously ("run-synchronously", llvm::cl::desc("Parse on main thread. If set, -j is ignored"), llvm::cl::init(false), llvm::cl::Hidden)
static llvm::cl::opt< Path > | clang::clangd::ResourceDir ("resource-dir", llvm::cl::desc("Directory for system clang headers"), llvm::cl::init(""), llvm::cl::Hidden)
static llvm::cl::opt< Path > | clang::clangd::InputMirrorFile ("input-mirror-file", llvm::cl::desc("Mirror all LSP input to the specified file. Useful for debugging."), llvm::cl::init(""), llvm::cl::Hidden)
static llvm::cl::opt< bool > | clang::clangd::EnableIndex ("index", llvm::cl::desc("Enable index-based features. By default, clangd maintains an index " "built from symbols in opened files. Global index support needs to " "enabled separatedly."), llvm::cl::init(true), llvm::cl::Hidden)
static llvm::cl::opt< bool > | clang::clangd::AllScopesCompletion ("all-scopes-completion", llvm::cl::desc("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."), llvm::cl::init(true))
static llvm::cl::opt< bool > | clang::clangd::ShowOrigins ("debug-origin", llvm::cl::desc("Show origins of completion items"), llvm::cl::init(CodeCompleteOptions().ShowOrigins), llvm::cl::Hidden)
static llvm::cl::opt< bool > | clang::clangd::HeaderInsertionDecorators ("header-insertion-decorators", llvm::cl::desc("Prepend a circular dot or space before the completion " "label, depending on whether " "an include line will be inserted or not."), llvm::cl::init(true))
static llvm::cl::opt< Path > | clang::clangd::IndexFile ("index-file", llvm::cl::desc("Index file to build the static index. The file must have been created " "by a compatible clangd-index.\ "WARNING:This option is experimental only, and will be removed " "eventually. Don 't rely on it."), llvm::cl::init(""), llvm::cl::Hidden)
static llvm::cl::opt< bool > | clang::clangd::EnableBackgroundIndex ("background-index", llvm::cl::desc("Index project code in the background and persist index on disk. " "Experimental"), llvm::cl::init(false), llvm::cl::Hidden)
static llvm::cl::opt< int > | clang::clangd::BackgroundIndexRebuildPeriod ("background-index-rebuild-period", llvm::cl::desc("If set to non-zero, the background index rebuilds the symbol index " "periodically every X milliseconds; otherwise, the " "symbol index will be updated for each indexed file."), llvm::cl::init(5000), llvm::cl::Hidden)
static llvm::cl::opt< CompileArgsFrom > | clang::clangd::CompileArgsFrom ("compile_args_from", llvm::cl::desc("The source of compile commands"), llvm::cl::values(clEnumValN(LSPCompileArgs, "lsp", "All compile commands come from LSP and " "'compile_commands.json' files are ignored"), clEnumValN(FilesystemCompileArgs, "filesystem", "All compile commands come from the " "'compile_commands.json' files")), llvm::cl::init(FilesystemCompileArgs), llvm::cl::Hidden)
static llvm::cl::opt< bool > | clang::clangd::EnableFunctionArgSnippets ("function-arg-placeholders", llvm::cl::desc("When disabled, completions contain only parentheses for " "function calls. When enabled, completions also contain " "placeholders for method parameters."), llvm::cl::init(CodeCompleteOptions().EnableFunctionArgSnippets))
int | main (int argc, char *argv[])

## Enumeration Type Documentation

## ◆ ErrorResultCode

enum ErrorResultCode : int
| strong

Enumerator
NoShutdownRequest |
CantRunAsXPCService |

Definition at line 257 of file ClangdMain.cpp.

## Function Documentation

## ◆ main()

int main | ( | int | argc,
|  | char * | argv[]
| ) |  |

Definition at line 262 of file ClangdMain.cpp.

References clang::clangd::Delimited, clang::clangd::EnableTestScheme(), clang::clangd::InputMirrorFile(), clang::clangd::InputStyle(), clang::clangd::PrettyPrint(), clang::clangd::preventThreadStarvationInTests(), clang::clangd::RunSynchronously(), clang::clangd::Test(), clang::clangd::WorkerThreadsCount(), and clang::tidy::abseil::X().