clang-tools  14.0.0git
Config.cpp
Go to the documentation of this file.
1 //===--- Config.cpp - User configuration of clangd behavior ---------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include "Config.h"
10 #include "support/Context.h"
11 
12 namespace clang {
13 namespace clangd {
14 
15 Key<Config> Config::Key;
16 
18  if (const Config *C = Context::current().get(Key))
19  return *C;
20  static Config Default;
21  return Default;
22 }
23 
24 } // namespace clangd
25 } // namespace clang
clang::clangd::Context::current
static const Context & current()
Returns the context for the current thread, creating it if needed.
Definition: Context.cpp:27
clang::clangd::Config
Settings that express user/project preferences and control clangd behavior.
Definition: Config.h:43
clang::clangd::Key
Values in a Context are indexed by typed keys.
Definition: Context.h:40
Config.h
C
const Criteria C
Definition: FunctionCognitiveComplexityCheck.cpp:93
clang
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
Definition: ApplyReplacements.h:27
clang::clangd::Config::current
static const Config & current()
Returns the Config of the current Context, or an empty configuration.
Definition: Config.cpp:17
clang::clangd::Config::Key
static clangd::Key< Config > Key
Context key which can be used to set the current Config.
Definition: Config.h:47
Context.h