]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteOptions.h
MFV r337212:
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / clang / include / clang / Sema / CodeCompleteOptions.h
1 //===---- CodeCompleteOptions.h - Code Completion Options -------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef LLVM_CLANG_SEMA_CODECOMPLETEOPTIONS_H
11 #define LLVM_CLANG_SEMA_CODECOMPLETEOPTIONS_H
12
13 namespace clang {
14
15 /// Options controlling the behavior of code completion.
16 class CodeCompleteOptions {
17 public:
18   /// Show macros in code completion results.
19   unsigned IncludeMacros : 1;
20
21   /// Show code patterns in code completion results.
22   unsigned IncludeCodePatterns : 1;
23
24   /// Show top-level decls in code completion results.
25   unsigned IncludeGlobals : 1;
26
27   /// Show decls in namespace (including the global namespace) in code
28   /// completion results. If this is 0, `IncludeGlobals` will be ignored.
29   ///
30   /// Currently, this only works when completing qualified IDs (i.e.
31   /// `Sema::CodeCompleteQualifiedId`).
32   /// FIXME: consider supporting more completion cases with this option.
33   unsigned IncludeNamespaceLevelDecls : 1;
34
35   /// Show brief documentation comments in code completion results.
36   unsigned IncludeBriefComments : 1;
37
38   CodeCompleteOptions()
39       : IncludeMacros(0), IncludeCodePatterns(0), IncludeGlobals(1),
40         IncludeNamespaceLevelDecls(1), IncludeBriefComments(0) {}
41 };
42
43 } // namespace clang
44
45 #endif
46