]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteOptions.h
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[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   /// Hint whether to load data from the external AST to provide full results.
39   /// If false, namespace-level declarations and macros from the preamble may be
40   /// omitted.
41   unsigned LoadExternal : 1;
42
43   /// Include results after corrections (small fix-its), e.g. change '.' to '->'
44   /// on member access, etc.
45   unsigned IncludeFixIts : 1;
46
47   CodeCompleteOptions()
48       : IncludeMacros(0), IncludeCodePatterns(0), IncludeGlobals(1),
49         IncludeNamespaceLevelDecls(1), IncludeBriefComments(0),
50         LoadExternal(1), IncludeFixIts(0) {}
51 };
52
53 } // namespace clang
54
55 #endif
56