xref: /openbsd-src/gnu/llvm/lldb/source/Core/CoreProperties.td (revision f6aab3d83b51b91c24247ad2c2573574de475a82)
1061da546Spatrickinclude "../../include/lldb/Core/PropertiesBase.td"
2061da546Spatrick
3061da546Spatricklet Definition = "modulelist" in {
4061da546Spatrick  def EnableExternalLookup: Property<"enable-external-lookup", "Boolean">,
5061da546Spatrick    Global,
6061da546Spatrick    DefaultTrue,
7061da546Spatrick    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*f6aab3d8Srobert  def EnableBackgroundLookup: Property<"enable-background-lookup", "Boolean">,
9*f6aab3d8Srobert    Global,
10*f6aab3d8Srobert    DefaultFalse,
11*f6aab3d8Srobert    Desc<"On macOS, enable calling dsymForUUID (or an equivalent script/binary) in the background to locate symbol files that weren't found.">;
12061da546Spatrick  def ClangModulesCachePath: Property<"clang-modules-cache-path", "FileSpec">,
13061da546Spatrick    Global,
14061da546Spatrick    DefaultStringValue<"">,
15061da546Spatrick    Desc<"The path to the clang modules cache directory (-fmodules-cache-path).">;
16dda28197Spatrick  def SymLinkPaths: Property<"debug-info-symlink-paths", "FileSpecList">,
17dda28197Spatrick    Global,
18dda28197Spatrick    DefaultStringValue<"">,
19dda28197Spatrick    Desc<"Debug info path which should be resolved while parsing, relative to the host filesystem.">;
20*f6aab3d8Srobert  def EnableLLDBIndexCache: Property<"enable-lldb-index-cache", "Boolean">,
21*f6aab3d8Srobert    Global,
22*f6aab3d8Srobert    DefaultFalse,
23*f6aab3d8Srobert    Desc<"Enable caching for debug sessions in LLDB. LLDB can cache data for each module for improved performance in subsequent debug sessions.">;
24*f6aab3d8Srobert  def LLDBIndexCachePath: Property<"lldb-index-cache-path", "FileSpec">,
25*f6aab3d8Srobert    Global,
26*f6aab3d8Srobert    DefaultStringValue<"">,
27*f6aab3d8Srobert    Desc<"The path to the LLDB index cache directory.">;
28*f6aab3d8Srobert  def LLDBIndexCacheMaxByteSize: Property<"lldb-index-cache-max-byte-size", "UInt64">,
29*f6aab3d8Srobert    Global,
30*f6aab3d8Srobert    DefaultUnsignedValue<0>,
31*f6aab3d8Srobert    Desc<"The maximum size for the LLDB index cache directory in bytes. A value over the amount of available space on the disk will be reduced to the amount of available space. A value of 0 disables the absolute size-based pruning.">;
32*f6aab3d8Srobert  def LLDBIndexCacheMaxPercent: Property<"lldb-index-cache-max-percent", "UInt64">,
33*f6aab3d8Srobert    Global,
34*f6aab3d8Srobert    DefaultUnsignedValue<0>,
35*f6aab3d8Srobert    Desc<"The maximum size for the cache directory in terms of percentage of the available space on the disk. Set to 100 to indicate no limit, 50 to indicate that the cache size will not be left over half the available disk space. A value over 100 will be reduced to 100. A value of 0 disables the percentage size-based pruning.">;
36*f6aab3d8Srobert  def LLDBIndexCacheExpirationDays: Property<"lldb-index-cache-expiration-days", "UInt64">,
37*f6aab3d8Srobert    Global,
38*f6aab3d8Srobert    DefaultUnsignedValue<7>,
39*f6aab3d8Srobert    Desc<"The expiration time in days for a file. When a file hasn't been accessed for the specified amount of days, it is removed from the cache. A value of 0 disables the expiration-based pruning.">;
40*f6aab3d8Srobert  def LoadSymbolOnDemand: Property<"load-on-demand", "Boolean">,
41*f6aab3d8Srobert    Global,
42*f6aab3d8Srobert    DefaultFalse,
43*f6aab3d8Srobert    Desc<"Enable on demand symbol loading in LLDB. LLDB will load debug info on demand for each module based on various conditions (e.g. matched breakpoint, resolved stack frame addresses and matched global variables/function symbols in symbol table) to improve performance. Please refer to docs/use/ondemand.rst for details.">;
44061da546Spatrick}
45061da546Spatrick
46061da546Spatricklet Definition = "debugger" in {
47061da546Spatrick  def AutoConfirm: Property<"auto-confirm", "Boolean">,
48061da546Spatrick    Global,
49061da546Spatrick    DefaultFalse,
50061da546Spatrick    Desc<"If true all confirmation prompts will receive their default reply.">;
51061da546Spatrick  def DisassemblyFormat: Property<"disassembly-format", "FormatEntity">,
52061da546Spatrick    Global,
53dda28197Spatrick    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}>}: ">,
54061da546Spatrick    Desc<"The default disassembly format string to use when disassembling instruction sequences.">;
55061da546Spatrick  def FrameFormat: Property<"frame-format", "FormatEntity">,
56061da546Spatrick    Global,
57061da546Spatrick    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">,
58061da546Spatrick    Desc<"The default frame format string to use when displaying stack frame information for threads.">;
59061da546Spatrick  def NotiftVoid: Property<"notify-void", "Boolean">,
60061da546Spatrick    Global,
61061da546Spatrick    DefaultFalse,
62061da546Spatrick    Desc<"Notify the user explicitly if an expression returns void (default: false).">;
63061da546Spatrick  def Prompt: Property<"prompt", "String">,
64061da546Spatrick    Global,
65061da546Spatrick    DefaultEnumValue<"OptionValueString::eOptionEncodeCharacterEscapeSequences">,
66061da546Spatrick    DefaultStringValue<"(lldb) ">,
67061da546Spatrick    Desc<"The debugger command line prompt displayed for the user.">;
68061da546Spatrick  def ScriptLanguage: Property<"script-lang", "Enum">,
69061da546Spatrick    Global,
70061da546Spatrick    DefaultEnumValue<"eScriptLanguagePython">,
71061da546Spatrick    EnumValues<"OptionEnumValues(g_language_enumerators)">,
72061da546Spatrick    Desc<"The script language to be used for evaluating user-written scripts.">;
73*f6aab3d8Srobert  def REPLLanguage: Property<"repl-lang", "Language">,
74*f6aab3d8Srobert    Global,
75*f6aab3d8Srobert    DefaultEnumValue<"eLanguageTypeUnknown">,
76*f6aab3d8Srobert    Desc<"The language to use for the REPL.">;
77061da546Spatrick  def StopDisassemblyCount: Property<"stop-disassembly-count", "SInt64">,
78061da546Spatrick    Global,
79061da546Spatrick    DefaultUnsignedValue<4>,
80061da546Spatrick    Desc<"The number of disassembly lines to show when displaying a stopped context.">;
81061da546Spatrick  def StopDisassemblyDisplay: Property<"stop-disassembly-display", "Enum">,
82061da546Spatrick    Global,
83061da546Spatrick    DefaultEnumValue<"Debugger::eStopDisassemblyTypeNoDebugInfo">,
84061da546Spatrick    EnumValues<"OptionEnumValues(g_show_disassembly_enum_values)">,
85061da546Spatrick    Desc<"Control when to display disassembly when displaying a stopped context.">;
86be691f3bSpatrick  def StopDisassemblyMaxSize: Property<"stop-disassembly-max-size", "UInt64">,
87be691f3bSpatrick    Global,
88be691f3bSpatrick    DefaultUnsignedValue<32000>,
89be691f3bSpatrick    Desc<"The size limit to use when disassembling large functions (default: 32KB).">;
90061da546Spatrick  def StopLineCountAfter: Property<"stop-line-count-after", "SInt64">,
91061da546Spatrick    Global,
92061da546Spatrick    DefaultUnsignedValue<3>,
93061da546Spatrick    Desc<"The number of sources lines to display that come after the current source line when displaying a stopped context.">;
94061da546Spatrick  def StopLineCountBefore: Property<"stop-line-count-before", "SInt64">,
95061da546Spatrick    Global,
96061da546Spatrick    DefaultUnsignedValue<3>,
97061da546Spatrick    Desc<"The number of sources lines to display that come before the current source line when displaying a stopped context.">;
98061da546Spatrick  def HighlightSource: Property<"highlight-source", "Boolean">,
99061da546Spatrick    Global,
100061da546Spatrick    DefaultTrue,
101061da546Spatrick    Desc<"If true, LLDB will highlight the displayed source code.">;
102061da546Spatrick  def StopShowColumn: Property<"stop-show-column", "Enum">,
103061da546Spatrick    DefaultEnumValue<"eStopShowColumnAnsiOrCaret">,
104061da546Spatrick    EnumValues<"OptionEnumValues(s_stop_show_column_values)">,
105061da546Spatrick    Desc<"If true, LLDB will use the column information from the debug info to mark the current position when displaying a stopped context.">;
106061da546Spatrick  def StopShowColumnAnsiPrefix: Property<"stop-show-column-ansi-prefix", "String">,
107061da546Spatrick    Global,
108061da546Spatrick    DefaultStringValue<"${ansi.underline}">,
109*f6aab3d8Srobert    Desc<"When displaying the column marker in a color-enabled terminal, use the ANSI terminal code specified in this format at the immediately before the column to be marked.">;
110061da546Spatrick  def StopShowColumnAnsiSuffix: Property<"stop-show-column-ansi-suffix", "String">,
111061da546Spatrick    Global,
112061da546Spatrick    DefaultStringValue<"${ansi.normal}">,
113*f6aab3d8Srobert    Desc<"When displaying the column marker in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the column to be marked.">;
114dda28197Spatrick  def StopShowLineMarkerAnsiPrefix: Property<"stop-show-line-ansi-prefix", "String">,
115dda28197Spatrick    Global,
116dda28197Spatrick    DefaultStringValue<"${ansi.fg.yellow}">,
117*f6aab3d8Srobert    Desc<"When displaying the line marker in a color-enabled terminal, use the ANSI terminal code specified in this format at the immediately before the line to be marked.">;
118dda28197Spatrick  def StopShowLineMarkerAnsiSuffix: Property<"stop-show-line-ansi-suffix", "String">,
119dda28197Spatrick    Global,
120dda28197Spatrick    DefaultStringValue<"${ansi.normal}">,
121*f6aab3d8Srobert    Desc<"When displaying the line marker in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the line to be marked.">;
122061da546Spatrick  def TerminalWidth: Property<"term-width", "SInt64">,
123061da546Spatrick    Global,
124061da546Spatrick    DefaultUnsignedValue<80>,
125061da546Spatrick    Desc<"The maximum number of columns to use for displaying text.">;
126061da546Spatrick  def ThreadFormat: Property<"thread-format", "FormatEntity">,
127061da546Spatrick    Global,
128061da546Spatrick    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">,
129061da546Spatrick    Desc<"The default thread format string to use when displaying thread information.">;
130061da546Spatrick  def ThreadStopFormat: Property<"thread-stop-format", "FormatEntity">,
131061da546Spatrick    Global,
132061da546Spatrick    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">,
133061da546Spatrick    Desc<"The default thread format  string to use when displaying thread information as part of the stop display.">;
134061da546Spatrick  def UseExternalEditor: Property<"use-external-editor", "Boolean">,
135061da546Spatrick    Global,
136061da546Spatrick    DefaultFalse,
137061da546Spatrick    Desc<"Whether to use an external editor or not.">;
138061da546Spatrick  def UseColor: Property<"use-color", "Boolean">,
139061da546Spatrick    Global,
140061da546Spatrick    DefaultTrue,
141061da546Spatrick    Desc<"Whether to use Ansi color codes or not.">;
142*f6aab3d8Srobert  def ShowProgress: Property<"show-progress", "Boolean">,
143*f6aab3d8Srobert    Global,
144*f6aab3d8Srobert    DefaultTrue,
145*f6aab3d8Srobert    Desc<"Whether to show progress or not if the debugger's output is an interactive color-enabled terminal.">;
146*f6aab3d8Srobert  def ShowProgressAnsiPrefix: Property<"show-progress-ansi-prefix", "String">,
147*f6aab3d8Srobert    Global,
148*f6aab3d8Srobert    DefaultStringValue<"${ansi.faint}">,
149*f6aab3d8Srobert    Desc<"When displaying progress in a color-enabled terminal, use the ANSI terminal code specified in this format immediately before the progress message.">;
150*f6aab3d8Srobert  def ShowProgressAnsiSuffix: Property<"show-progress-ansi-suffix", "String">,
151*f6aab3d8Srobert    Global,
152*f6aab3d8Srobert    DefaultStringValue<"${ansi.normal}">,
153*f6aab3d8Srobert    Desc<"When displaying progress in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the progress message.">;
154dda28197Spatrick  def UseSourceCache: Property<"use-source-cache", "Boolean">,
155dda28197Spatrick    Global,
156dda28197Spatrick    DefaultTrue,
157dda28197Spatrick    Desc<"Whether to cache source files in memory or not.">;
158061da546Spatrick  def AutoOneLineSummaries: Property<"auto-one-line-summaries", "Boolean">,
159061da546Spatrick    Global,
160061da546Spatrick    DefaultTrue,
161061da546Spatrick    Desc<"If true, LLDB will automatically display small structs in one-liner format (default: true).">;
162061da546Spatrick  def AutoIndent: Property<"auto-indent", "Boolean">,
163061da546Spatrick    Global,
164061da546Spatrick    DefaultTrue,
165061da546Spatrick    Desc<"If true, LLDB will auto indent/outdent code. Currently only supported in the REPL (default: true).">;
166061da546Spatrick  def PrintDecls: Property<"print-decls", "Boolean">,
167061da546Spatrick    Global,
168061da546Spatrick    DefaultTrue,
169061da546Spatrick    Desc<"If true, LLDB will print the values of variables declared in an expression. Currently only supported in the REPL (default: true).">;
170061da546Spatrick  def TabSize: Property<"tab-size", "UInt64">,
171061da546Spatrick    Global,
172061da546Spatrick    DefaultUnsignedValue<4>,
173061da546Spatrick    Desc<"The tab size to use when indenting code in multi-line input mode (default: 4).">;
174061da546Spatrick  def EscapeNonPrintables: Property<"escape-non-printables", "Boolean">,
175061da546Spatrick    Global,
176061da546Spatrick    DefaultTrue,
177061da546Spatrick    Desc<"If true, LLDB will automatically escape non-printable and escape characters when formatting strings.">;
178061da546Spatrick  def FrameFormatUnique: Property<"frame-format-unique", "FormatEntity">,
179061da546Spatrick    Global,
180061da546Spatrick    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">,
181061da546Spatrick    Desc<"The default frame format string to use when displaying stack frame information for threads from thread backtrace unique.">;
182be691f3bSpatrick  def ShowAutosuggestion: Property<"show-autosuggestion", "Boolean">,
183be691f3bSpatrick    Global,
184be691f3bSpatrick    DefaultFalse,
185be691f3bSpatrick    Desc<"If true, LLDB will show suggestions to complete the command the user typed. Suggestions may be accepted using Ctrl-F.">;
186*f6aab3d8Srobert  def ShowAutosuggestionAnsiPrefix: Property<"show-autosuggestion-ansi-prefix", "String">,
187*f6aab3d8Srobert    Global,
188*f6aab3d8Srobert    DefaultStringValue<"${ansi.faint}">,
189*f6aab3d8Srobert    Desc<"When displaying suggestion in a color-enabled terminal, use the ANSI terminal code specified in this format immediately before the suggestion.">;
190*f6aab3d8Srobert  def ShowAutosuggestionAnsiSuffix: Property<"show-autosuggestion-ansi-suffix", "String">,
191*f6aab3d8Srobert    Global,
192*f6aab3d8Srobert    DefaultStringValue<"${ansi.normal}">,
193*f6aab3d8Srobert    Desc<"When displaying suggestion in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the suggestion.">;
194*f6aab3d8Srobert  def DWIMPrintVerbosity: Property<"dwim-print-verbosity", "Enum">,
195*f6aab3d8Srobert    Global,
196*f6aab3d8Srobert    DefaultEnumValue<"eDWIMPrintVerbosityExpression">,
197*f6aab3d8Srobert    EnumValues<"OptionEnumValues(g_dwim_print_verbosities)">,
198*f6aab3d8Srobert    Desc<"The verbosity level used by dwim-print.">;
199061da546Spatrick}
200