1include "../../include/lldb/Core/PropertiesBase.td"
2
3let Definition = "modulelist" in {
4  def EnableExternalLookup: Property<"enable-external-lookup", "Boolean">,
5    Global,
6    DefaultTrue,
7    Desc<"Control the use of external tools and repositories to locate symbol files. Directories listed in target.debug-file-search-paths and directory of the executable are always checked first for separate debug info files. Then depending on this setting: On macOS, Spotlight would be also used to locate a matching .dSYM bundle based on the UUID of the executable. On NetBSD, directory /usr/libdata/debug would be also searched. On platforms other than NetBSD directory /usr/lib/debug would be also searched.">;
8  def ClangModulesCachePath: Property<"clang-modules-cache-path", "FileSpec">,
9    Global,
10    DefaultStringValue<"">,
11    Desc<"The path to the clang modules cache directory (-fmodules-cache-path).">;
12  def SymLinkPaths: Property<"debug-info-symlink-paths", "FileSpecList">,
13    Global,
14    DefaultStringValue<"">,
15    Desc<"Debug info path which should be resolved while parsing, relative to the host filesystem.">;
16}
17
18let Definition = "debugger" in {
19  def AutoConfirm: Property<"auto-confirm", "Boolean">,
20    Global,
21    DefaultFalse,
22    Desc<"If true all confirmation prompts will receive their default reply.">;
23  def DisassemblyFormat: Property<"disassembly-format", "FormatEntity">,
24    Global,
25    DefaultStringValue<"{${function.initial-function}{${module.file.basename}`}{${function.name-without-args}}:\\\\n}{${function.changed}\\\\n{${module.file.basename}`}{${function.name-without-args}}:\\\\n}{${ansi.fg.yellow}${current-pc-arrow}${ansi.normal} }${addr-file-or-load}{ <${function.concrete-only-addr-offset-no-padding}>}: ">,
26    Desc<"The default disassembly format string to use when disassembling instruction sequences.">;
27  def FrameFormat: Property<"frame-format", "FormatEntity">,
28    Global,
29    DefaultStringValue<"frame #${frame.index}: ${ansi.fg.yellow}${frame.pc}${ansi.normal}{ ${module.file.basename}{`${function.name-with-args}{${frame.no-debug}${function.pc-offset}}}}{ at ${ansi.fg.cyan}${line.file.basename}${ansi.normal}:${ansi.fg.yellow}${line.number}${ansi.normal}{:${ansi.fg.yellow}${line.column}${ansi.normal}}}{${function.is-optimized} [opt]}{${frame.is-artificial} [artificial]}\\\\n">,
30    Desc<"The default frame format string to use when displaying stack frame information for threads.">;
31  def NotiftVoid: Property<"notify-void", "Boolean">,
32    Global,
33    DefaultFalse,
34    Desc<"Notify the user explicitly if an expression returns void (default: false).">;
35  def Prompt: Property<"prompt", "String">,
36    Global,
37    DefaultEnumValue<"OptionValueString::eOptionEncodeCharacterEscapeSequences">,
38    DefaultStringValue<"(lldb) ">,
39    Desc<"The debugger command line prompt displayed for the user.">;
40  def ScriptLanguage: Property<"script-lang", "Enum">,
41    Global,
42    DefaultEnumValue<"eScriptLanguagePython">,
43    EnumValues<"OptionEnumValues(g_language_enumerators)">,
44    Desc<"The script language to be used for evaluating user-written scripts.">;
45  def StopDisassemblyCount: Property<"stop-disassembly-count", "SInt64">,
46    Global,
47    DefaultUnsignedValue<4>,
48    Desc<"The number of disassembly lines to show when displaying a stopped context.">;
49  def StopDisassemblyDisplay: Property<"stop-disassembly-display", "Enum">,
50    Global,
51    DefaultEnumValue<"Debugger::eStopDisassemblyTypeNoDebugInfo">,
52    EnumValues<"OptionEnumValues(g_show_disassembly_enum_values)">,
53    Desc<"Control when to display disassembly when displaying a stopped context.">;
54  def StopLineCountAfter: Property<"stop-line-count-after", "SInt64">,
55    Global,
56    DefaultUnsignedValue<3>,
57    Desc<"The number of sources lines to display that come after the current source line when displaying a stopped context.">;
58  def StopLineCountBefore: Property<"stop-line-count-before", "SInt64">,
59    Global,
60    DefaultUnsignedValue<3>,
61    Desc<"The number of sources lines to display that come before the current source line when displaying a stopped context.">;
62  def HighlightSource: Property<"highlight-source", "Boolean">,
63    Global,
64    DefaultTrue,
65    Desc<"If true, LLDB will highlight the displayed source code.">;
66  def StopShowColumn: Property<"stop-show-column", "Enum">,
67    DefaultEnumValue<"eStopShowColumnAnsiOrCaret">,
68    EnumValues<"OptionEnumValues(s_stop_show_column_values)">,
69    Desc<"If true, LLDB will use the column information from the debug info to mark the current position when displaying a stopped context.">;
70  def StopShowColumnAnsiPrefix: Property<"stop-show-column-ansi-prefix", "String">,
71    Global,
72    DefaultStringValue<"${ansi.underline}">,
73    Desc<"When displaying the column marker in a color-enabled (i.e. ANSI) terminal, use the ANSI terminal code specified in this format at the immediately before the column to be marked.">;
74  def StopShowColumnAnsiSuffix: Property<"stop-show-column-ansi-suffix", "String">,
75    Global,
76    DefaultStringValue<"${ansi.normal}">,
77    Desc<"When displaying the column marker in a color-enabled (i.e. ANSI) terminal, use the ANSI terminal code specified in this format immediately after the column to be marked.">;
78  def StopShowLineMarkerAnsiPrefix: Property<"stop-show-line-ansi-prefix", "String">,
79    Global,
80    DefaultStringValue<"${ansi.fg.yellow}">,
81    Desc<"When displaying the line marker in a color-enabled (i.e. ANSI) terminal, use the ANSI terminal code specified in this format at the immediately before the line to be marked.">;
82  def StopShowLineMarkerAnsiSuffix: Property<"stop-show-line-ansi-suffix", "String">,
83    Global,
84    DefaultStringValue<"${ansi.normal}">,
85    Desc<"When displaying the line marker in a color-enabled (i.e. ANSI) terminal, use the ANSI terminal code specified in this format immediately after the line to be marked.">;
86  def TerminalWidth: Property<"term-width", "SInt64">,
87    Global,
88    DefaultUnsignedValue<80>,
89    Desc<"The maximum number of columns to use for displaying text.">;
90  def ThreadFormat: Property<"thread-format", "FormatEntity">,
91    Global,
92    DefaultStringValue<"thread #${thread.index}: tid = ${thread.id%tid}{, ${frame.pc}}{ ${module.file.basename}{`${function.name-with-args}{${frame.no-debug}${function.pc-offset}}}}{ at ${ansi.fg.cyan}${line.file.basename}${ansi.normal}:${ansi.fg.yellow}${line.number}${ansi.normal}{:${ansi.fg.yellow}${line.column}${ansi.normal}}}{, name = ${ansi.fg.green}'${thread.name}'${ansi.normal}}{, queue = ${ansi.fg.green}'${thread.queue}'${ansi.normal}}{, activity = ${ansi.fg.green}'${thread.info.activity.name}'${ansi.normal}}{, ${thread.info.trace_messages} messages}{, stop reason = ${ansi.fg.red}${thread.stop-reason}${ansi.normal}}{\\\\nReturn value: ${thread.return-value}}{\\\\nCompleted expression: ${thread.completed-expression}}\\\\n">,
93    Desc<"The default thread format string to use when displaying thread information.">;
94  def ThreadStopFormat: Property<"thread-stop-format", "FormatEntity">,
95    Global,
96    DefaultStringValue<"thread #${thread.index}{, name = '${thread.name}'}{, queue = ${ansi.fg.green}'${thread.queue}'${ansi.normal}}{, activity = ${ansi.fg.green}'${thread.info.activity.name}'${ansi.normal}}{, ${thread.info.trace_messages} messages}{, stop reason = ${ansi.fg.red}${thread.stop-reason}${ansi.normal}}{\\\\nReturn value: ${thread.return-value}}{\\\\nCompleted expression: ${thread.completed-expression}}\\\\n">,
97    Desc<"The default thread format  string to use when displaying thread information as part of the stop display.">;
98  def UseExternalEditor: Property<"use-external-editor", "Boolean">,
99    Global,
100    DefaultFalse,
101    Desc<"Whether to use an external editor or not.">;
102  def UseColor: Property<"use-color", "Boolean">,
103    Global,
104    DefaultTrue,
105    Desc<"Whether to use Ansi color codes or not.">;
106  def UseSourceCache: Property<"use-source-cache", "Boolean">,
107    Global,
108    DefaultTrue,
109    Desc<"Whether to cache source files in memory or not.">;
110  def AutoOneLineSummaries: Property<"auto-one-line-summaries", "Boolean">,
111    Global,
112    DefaultTrue,
113    Desc<"If true, LLDB will automatically display small structs in one-liner format (default: true).">;
114  def AutoIndent: Property<"auto-indent", "Boolean">,
115    Global,
116    DefaultTrue,
117    Desc<"If true, LLDB will auto indent/outdent code. Currently only supported in the REPL (default: true).">;
118  def PrintDecls: Property<"print-decls", "Boolean">,
119    Global,
120    DefaultTrue,
121    Desc<"If true, LLDB will print the values of variables declared in an expression. Currently only supported in the REPL (default: true).">;
122  def TabSize: Property<"tab-size", "UInt64">,
123    Global,
124    DefaultUnsignedValue<4>,
125    Desc<"The tab size to use when indenting code in multi-line input mode (default: 4).">;
126  def EscapeNonPrintables: Property<"escape-non-printables", "Boolean">,
127    Global,
128    DefaultTrue,
129    Desc<"If true, LLDB will automatically escape non-printable and escape characters when formatting strings.">;
130  def FrameFormatUnique: Property<"frame-format-unique", "FormatEntity">,
131    Global,
132    DefaultStringValue<"frame #${frame.index}: ${ansi.fg.yellow}${frame.pc}${ansi.normal}{ ${module.file.basename}{`${function.name-without-args}{${frame.no-debug}${function.pc-offset}}}}{ at ${ansi.fg.cyan}${line.file.basename}${ansi.normal}:${ansi.fg.yellow}${line.number}${ansi.normal}{:${ansi.fg.yellow}${line.column}${ansi.normal}}}{${function.is-optimized} [opt]}{${frame.is-artificial} [artificial]}\\\\n">,
133    Desc<"The default frame format string to use when displaying stack frameinformation for threads from thread backtrace unique.">;
134  def ShowAutosuggestion: Property<"show-autosuggestion", "Boolean">,
135    Global,
136    DefaultFalse,
137    Desc<"If true, LLDB will show suggestions to complete the command the user typed.">;
138}
139