1 /* UserPrefValues.hpp
2  *
3  * Copyright (C) 2021 by RStudio, PBC
4  *
5  * Unless you have received this program directly from RStudio pursuant
6  * to the terms of a commercial license agreement with RStudio, then
7  * this program is licensed to you under the terms of version 3 of the
8  * GNU Affero General Public License. This program is distributed WITHOUT
9  * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT,
10  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the
11  * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details.
12  *
13  */
14 
15 /* DO NOT HAND-EDIT! This file is automatically generated from the formal user preference schema
16  * JSON. To add a preference, add it to "user-prefs-schema.json", then run "generate-prefs.R" to
17  * rebuild this file.
18  */
19 
20 #ifndef SESSION_USER_PREF_VALUES_HPP
21 #define SESSION_USER_PREF_VALUES_HPP
22 
23 #include <session/prefs/Preferences.hpp>
24 
25 namespace rstudio {
26 namespace session {
27 namespace prefs {
28 
29 #define kRunRprofileOnResume "run_rprofile_on_resume"
30 #define kSaveWorkspace "save_workspace"
31 #define kSaveWorkspaceAlways "always"
32 #define kSaveWorkspaceNever "never"
33 #define kSaveWorkspaceAsk "ask"
34 #define kLoadWorkspace "load_workspace"
35 #define kInitialWorkingDirectory "initial_working_directory"
36 #define kCranMirror "cran_mirror"
37 #define kCranMirrorName "name"
38 #define kCranMirrorHost "host"
39 #define kCranMirrorUrl "url"
40 #define kCranMirrorRepos "repos"
41 #define kCranMirrorCountry "country"
42 #define kCranMirrorSecondary "secondary"
43 #define kBioconductorMirrorName "bioconductor_mirror_name"
44 #define kBioconductorMirrorUrl "bioconductor_mirror_url"
45 #define kAlwaysSaveHistory "always_save_history"
46 #define kRemoveHistoryDuplicates "remove_history_duplicates"
47 #define kShowLastDotValue "show_last_dot_value"
48 #define kLineEndingConversion "line_ending_conversion"
49 #define kLineEndingConversionDefault "default"
50 #define kLineEndingConversionWindows "windows"
51 #define kLineEndingConversionPosix "posix"
52 #define kLineEndingConversionNative "native"
53 #define kLineEndingConversionPassthrough "passthrough"
54 #define kUseNewlinesInMakefiles "use_newlines_in_makefiles"
55 #define kWindowsTerminalShell "windows_terminal_shell"
56 #define kWindowsTerminalShellDefault "default"
57 #define kWindowsTerminalShellWinGitBash "win-git-bash"
58 #define kWindowsTerminalShellWinWslBash "win-wsl-bash"
59 #define kWindowsTerminalShellWinCmd "win-cmd"
60 #define kWindowsTerminalShellWinPs "win-ps"
61 #define kWindowsTerminalShellPsCore "ps-core"
62 #define kWindowsTerminalShellCustom "custom"
63 #define kWindowsTerminalShellNone "none"
64 #define kPosixTerminalShell "posix_terminal_shell"
65 #define kPosixTerminalShellDefault "default"
66 #define kPosixTerminalShellBash "bash"
67 #define kPosixTerminalShellZsh "zsh"
68 #define kPosixTerminalShellCustom "custom"
69 #define kPosixTerminalShellNone "none"
70 #define kCustomShellCommand "custom_shell_command"
71 #define kCustomShellOptions "custom_shell_options"
72 #define kShowLineNumbers "show_line_numbers"
73 #define kHighlightSelectedWord "highlight_selected_word"
74 #define kHighlightSelectedLine "highlight_selected_line"
75 #define kPanes "panes"
76 #define kPanesQuadrants "quadrants"
77 #define kPanesTabSet1 "tabSet1"
78 #define kPanesTabSet2 "tabSet2"
79 #define kPanesHiddenTabSet "hiddenTabSet"
80 #define kPanesConsoleLeftOnTop "console_left_on_top"
81 #define kPanesConsoleRightOnTop "console_right_on_top"
82 #define kPanesAdditionalSourceColumns "additional_source_columns"
83 #define kAllowSourceColumns "allow_source_columns"
84 #define kUseSpacesForTab "use_spaces_for_tab"
85 #define kNumSpacesForTab "num_spaces_for_tab"
86 #define kAutoDetectIndentation "auto_detect_indentation"
87 #define kShowMargin "show_margin"
88 #define kBlinkingCursor "blinking_cursor"
89 #define kMarginColumn "margin_column"
90 #define kShowInvisibles "show_invisibles"
91 #define kShowIndentGuides "show_indent_guides"
92 #define kContinueCommentsOnNewline "continue_comments_on_newline"
93 #define kHighlightWebLink "highlight_web_link"
94 #define kEditorKeybindings "editor_keybindings"
95 #define kEditorKeybindingsDefault "default"
96 #define kEditorKeybindingsVim "vim"
97 #define kEditorKeybindingsEmacs "emacs"
98 #define kEditorKeybindingsSublime "sublime"
99 #define kInsertMatching "insert_matching"
100 #define kInsertSpacesAroundEquals "insert_spaces_around_equals"
101 #define kInsertParensAfterFunctionCompletion "insert_parens_after_function_completion"
102 #define kTabMultilineCompletion "tab_multiline_completion"
103 #define kTabCompletion "tab_completion"
104 #define kShowHelpTooltipOnIdle "show_help_tooltip_on_idle"
105 #define kSurroundSelection "surround_selection"
106 #define kSurroundSelectionNever "never"
107 #define kSurroundSelectionQuotes "quotes"
108 #define kSurroundSelectionQuotesAndBrackets "quotes_and_brackets"
109 #define kEnableSnippets "enable_snippets"
110 #define kCodeCompletion "code_completion"
111 #define kCodeCompletionAlways "always"
112 #define kCodeCompletionNever "never"
113 #define kCodeCompletionTriggered "triggered"
114 #define kCodeCompletionManual "manual"
115 #define kCodeCompletionOther "code_completion_other"
116 #define kCodeCompletionOtherAlways "always"
117 #define kCodeCompletionOtherTriggered "triggered"
118 #define kCodeCompletionOtherManual "manual"
119 #define kConsoleCodeCompletion "console_code_completion"
120 #define kCodeCompletionDelay "code_completion_delay"
121 #define kCodeCompletionCharacters "code_completion_characters"
122 #define kShowFunctionSignatureTooltips "show_function_signature_tooltips"
123 #define kShowDiagnosticsR "show_diagnostics_r"
124 #define kShowDiagnosticsCpp "show_diagnostics_cpp"
125 #define kShowDiagnosticsOther "show_diagnostics_other"
126 #define kStyleDiagnostics "style_diagnostics"
127 #define kDiagnosticsOnSave "diagnostics_on_save"
128 #define kBackgroundDiagnostics "background_diagnostics"
129 #define kBackgroundDiagnosticsDelayMs "background_diagnostics_delay_ms"
130 #define kDiagnosticsInRFunctionCalls "diagnostics_in_r_function_calls"
131 #define kCheckArgumentsToRFunctionCalls "check_arguments_to_r_function_calls"
132 #define kCheckUnexpectedAssignmentInFunctionCall "check_unexpected_assignment_in_function_call"
133 #define kWarnIfNoSuchVariableInScope "warn_if_no_such_variable_in_scope"
134 #define kWarnVariableDefinedButNotUsed "warn_variable_defined_but_not_used"
135 #define kAutoDiscoverPackageDependencies "auto_discover_package_dependencies"
136 #define kAutoAppendNewline "auto_append_newline"
137 #define kStripTrailingWhitespace "strip_trailing_whitespace"
138 #define kRestoreSourceDocumentCursorPosition "restore_source_document_cursor_position"
139 #define kReindentOnPaste "reindent_on_paste"
140 #define kVerticallyAlignArgumentsIndent "vertically_align_arguments_indent"
141 #define kSoftWrapRFiles "soft_wrap_r_files"
142 #define kSoftWrapRmdFiles "soft_wrap_rmd_files"
143 #define kFocusConsoleAfterExec "focus_console_after_exec"
144 #define kFoldStyle "fold_style"
145 #define kFoldStyleBeginOnly "begin-only"
146 #define kFoldStyleBeginAndEnd "begin-and-end"
147 #define kSaveBeforeSourcing "save_before_sourcing"
148 #define kSyntaxColorConsole "syntax_color_console"
149 #define kHighlightConsoleErrors "highlight_console_errors"
150 #define kScrollPastEndOfDocument "scroll_past_end_of_document"
151 #define kHighlightRFunctionCalls "highlight_r_function_calls"
152 #define kRainbowParentheses "rainbow_parentheses"
153 #define kConsoleLineLengthLimit "console_line_length_limit"
154 #define kConsoleMaxLines "console_max_lines"
155 #define kAnsiConsoleMode "ansi_console_mode"
156 #define kAnsiConsoleModeOff "off"
157 #define kAnsiConsoleModeOn "on"
158 #define kAnsiConsoleModeStrip "strip"
159 #define kLimitVisibleConsole "limit_visible_console"
160 #define kShowInlineToolbarForRCodeChunks "show_inline_toolbar_for_r_code_chunks"
161 #define kHighlightCodeChunks "highlight_code_chunks"
162 #define kSaveFilesBeforeBuild "save_files_before_build"
163 #define kFontSizePoints "font_size_points"
164 #define kHelpFontSizePoints "help_font_size_points"
165 #define kEditorTheme "editor_theme"
166 #define kServerEditorFontEnabled "server_editor_font_enabled"
167 #define kServerEditorFont "server_editor_font"
168 #define kDefaultEncoding "default_encoding"
169 #define kToolbarVisible "toolbar_visible"
170 #define kDefaultProjectLocation "default_project_location"
171 #define kSourceWithEcho "source_with_echo"
172 #define kDefaultSweaveEngine "default_sweave_engine"
173 #define kDefaultLatexProgram "default_latex_program"
174 #define kUseRoxygen "use_roxygen"
175 #define kUseDataimport "use_dataimport"
176 #define kPdfPreviewer "pdf_previewer"
177 #define kPdfPreviewerNone "none"
178 #define kPdfPreviewerDefault "default"
179 #define kPdfPreviewerRstudio "rstudio"
180 #define kPdfPreviewerDesktopSynctex "desktop-synctex"
181 #define kPdfPreviewerSystem "system"
182 #define kAlwaysEnableRnwConcordance "always_enable_rnw_concordance"
183 #define kInsertNumberedLatexSections "insert_numbered_latex_sections"
184 #define kSpellingDictionaryLanguage "spelling_dictionary_language"
185 #define kSpellingCustomDictionaries "spelling_custom_dictionaries"
186 #define kDocumentLoadLintDelay "document_load_lint_delay"
187 #define kIgnoreUppercaseWords "ignore_uppercase_words"
188 #define kIgnoreWordsWithNumbers "ignore_words_with_numbers"
189 #define kRealTimeSpellchecking "real_time_spellchecking"
190 #define kNavigateToBuildError "navigate_to_build_error"
191 #define kPackagesPaneEnabled "packages_pane_enabled"
192 #define kUseRcppTemplate "use_rcpp_template"
193 #define kRestoreSourceDocuments "restore_source_documents"
194 #define kHandleErrorsInUserCodeOnly "handle_errors_in_user_code_only"
195 #define kAutoExpandErrorTracebacks "auto_expand_error_tracebacks"
196 #define kCheckForUpdates "check_for_updates"
197 #define kShowInternalFunctions "show_internal_functions"
198 #define kShinyViewerType "shiny_viewer_type"
199 #define kShinyViewerTypeUser "user"
200 #define kShinyViewerTypeNone "none"
201 #define kShinyViewerTypePane "pane"
202 #define kShinyViewerTypeWindow "window"
203 #define kShinyViewerTypeBrowser "browser"
204 #define kShinyBackgroundJobs "shiny_background_jobs"
205 #define kPlumberViewerType "plumber_viewer_type"
206 #define kPlumberViewerTypeUser "user"
207 #define kPlumberViewerTypeNone "none"
208 #define kPlumberViewerTypePane "pane"
209 #define kPlumberViewerTypeWindow "window"
210 #define kPlumberViewerTypeBrowser "browser"
211 #define kDocumentAuthor "document_author"
212 #define kRmdPreferredTemplatePath "rmd_preferred_template_path"
213 #define kRmdViewerType "rmd_viewer_type"
214 #define kRmdViewerTypeWindow "window"
215 #define kRmdViewerTypePane "pane"
216 #define kRmdViewerTypeNone "none"
217 #define kShowPublishDiagnostics "show_publish_diagnostics"
218 #define kPublishCheckCertificates "publish_check_certificates"
219 #define kUsePublishCaBundle "use_publish_ca_bundle"
220 #define kPublishCaBundle "publish_ca_bundle"
221 #define kRmdChunkOutputInline "rmd_chunk_output_inline"
222 #define kShowDocOutlineRmd "show_doc_outline_rmd"
223 #define kAutoRunSetupChunk "auto_run_setup_chunk"
224 #define kHideConsoleOnChunkExecute "hide_console_on_chunk_execute"
225 #define kExecutionBehavior "execution_behavior"
226 #define kExecutionBehaviorLine "line"
227 #define kExecutionBehaviorStatement "statement"
228 #define kExecutionBehaviorParagraph "paragraph"
229 #define kShowTerminalTab "show_terminal_tab"
230 #define kTerminalLocalEcho "terminal_local_echo"
231 #define kTerminalWebsockets "terminal_websockets"
232 #define kTerminalCloseBehavior "terminal_close_behavior"
233 #define kTerminalCloseBehaviorAlways "always"
234 #define kTerminalCloseBehaviorClean "clean"
235 #define kTerminalCloseBehaviorNever "never"
236 #define kTerminalTrackEnvironment "terminal_track_environment"
237 #define kTerminalBellStyle "terminal_bell_style"
238 #define kTerminalBellStyleNone "none"
239 #define kTerminalBellStyleSound "sound"
240 #define kTerminalRenderer "terminal_renderer"
241 #define kTerminalRendererCanvas "canvas"
242 #define kTerminalRendererDom "dom"
243 #define kTerminalWeblinks "terminal_weblinks"
244 #define kShowRmdRenderCommand "show_rmd_render_command"
245 #define kEnableTextDrag "enable_text_drag"
246 #define kShowHiddenFiles "show_hidden_files"
247 #define kAlwaysShownFiles "always_shown_files"
248 #define kAlwaysShownExtensions "always_shown_extensions"
249 #define kSortFileNamesNaturally "sort_file_names_naturally"
250 #define kSyncFilesPaneWorkingDir "sync_files_pane_working_dir"
251 #define kJobsTabVisibility "jobs_tab_visibility"
252 #define kJobsTabVisibilityClosed "closed"
253 #define kJobsTabVisibilityShown "shown"
254 #define kJobsTabVisibilityDefault "default"
255 #define kShowLauncherJobsTab "show_launcher_jobs_tab"
256 #define kLauncherJobsSort "launcher_jobs_sort"
257 #define kLauncherJobsSortRecorded "recorded"
258 #define kLauncherJobsSortState "state"
259 #define kBusyDetection "busy_detection"
260 #define kBusyDetectionAlways "always"
261 #define kBusyDetectionNever "never"
262 #define kBusyDetectionList "list"
263 #define kBusyExclusionList "busy_exclusion_list"
264 #define kKnitWorkingDir "knit_working_dir"
265 #define kKnitWorkingDirDefault "default"
266 #define kKnitWorkingDirCurrent "current"
267 #define kKnitWorkingDirProject "project"
268 #define kDocOutlineShow "doc_outline_show"
269 #define kDocOutlineShowSectionsOnly "sections_only"
270 #define kDocOutlineShowSectionsAndChunks "sections_and_chunks"
271 #define kDocOutlineShowAll "all"
272 #define kLatexPreviewOnCursorIdle "latex_preview_on_cursor_idle"
273 #define kLatexPreviewOnCursorIdleNever "never"
274 #define kLatexPreviewOnCursorIdleInlineOnly "inline_only"
275 #define kLatexPreviewOnCursorIdleAlways "always"
276 #define kWrapTabNavigation "wrap_tab_navigation"
277 #define kGlobalTheme "global_theme"
278 #define kGlobalThemeClassic "classic"
279 #define kGlobalThemeDefault "default"
280 #define kGlobalThemeAlternate "alternate"
281 #define kGitDiffIgnoreWhitespace "git_diff_ignore_whitespace"
282 #define kConsoleDoubleClickSelect "console_double_click_select"
283 #define kNewProjGitInit "new_proj_git_init"
284 #define kNewProjUseRenv "new_proj_use_renv"
285 #define kRootDocument "root_document"
286 #define kShowUserHomePage "show_user_home_page"
287 #define kShowUserHomePageAlways "always"
288 #define kShowUserHomePageNever "never"
289 #define kShowUserHomePageSessions "sessions"
290 #define kReuseSessionsForProjectLinks "reuse_sessions_for_project_links"
291 #define kVcsEnabled "vcs_enabled"
292 #define kVcsAutorefresh "vcs_autorefresh"
293 #define kGitExePath "git_exe_path"
294 #define kSvnExePath "svn_exe_path"
295 #define kTerminalPath "terminal_path"
296 #define kRsaKeyPath "rsa_key_path"
297 #define kUseDevtools "use_devtools"
298 #define kUseInternet2 "use_internet2"
299 #define kUseSecureDownload "use_secure_download"
300 #define kCleanupAfterRCmdCheck "cleanup_after_r_cmd_check"
301 #define kViewDirAfterRCmdCheck "view_dir_after_r_cmd_check"
302 #define kHideObjectFiles "hide_object_files"
303 #define kRestoreLastProject "restore_last_project"
304 #define kProjectSafeStartupSeconds "project_safe_startup_seconds"
305 #define kUseTinytex "use_tinytex"
306 #define kCleanTexi2dviOutput "clean_texi2dvi_output"
307 #define kLatexShellEscape "latex_shell_escape"
308 #define kRestoreProjectRVersion "restore_project_r_version"
309 #define kClangVerbose "clang_verbose"
310 #define kSubmitCrashReports "submit_crash_reports"
311 #define kDefaultRVersion "default_r_version"
312 #define kDefaultRVersionVersion "version"
313 #define kDefaultRVersionRHome "r_home"
314 #define kDefaultRVersionLabel "label"
315 #define kDataViewerMaxColumns "data_viewer_max_columns"
316 #define kEnableScreenReader "enable_screen_reader"
317 #define kTypingStatusDelayMs "typing_status_delay_ms"
318 #define kReducedMotion "reduced_motion"
319 #define kTabKeyMoveFocus "tab_key_move_focus"
320 #define kFindPanelLegacyTabSequence "find_panel_legacy_tab_sequence"
321 #define kShowFocusRectangles "show_focus_rectangles"
322 #define kShowPanelFocusRectangle "show_panel_focus_rectangle"
323 #define kAutoSaveOnIdle "auto_save_on_idle"
324 #define kAutoSaveOnIdleCommit "commit"
325 #define kAutoSaveOnIdleBackup "backup"
326 #define kAutoSaveOnIdleNone "none"
327 #define kAutoSaveIdleMs "auto_save_idle_ms"
328 #define kAutoSaveOnBlur "auto_save_on_blur"
329 #define kTerminalInitialDirectory "terminal_initial_directory"
330 #define kTerminalInitialDirectoryProject "project"
331 #define kTerminalInitialDirectoryCurrent "current"
332 #define kTerminalInitialDirectoryHome "home"
333 #define kFullProjectPathInWindowTitle "full_project_path_in_window_title"
334 #define kVisualMarkdownEditingIsDefault "visual_markdown_editing_is_default"
335 #define kVisualMarkdownEditingListSpacing "visual_markdown_editing_list_spacing"
336 #define kVisualMarkdownEditingListSpacingTight "tight"
337 #define kVisualMarkdownEditingListSpacingSpaced "spaced"
338 #define kVisualMarkdownEditingWrap "visual_markdown_editing_wrap"
339 #define kVisualMarkdownEditingWrapNone "none"
340 #define kVisualMarkdownEditingWrapColumn "column"
341 #define kVisualMarkdownEditingWrapSentence "sentence"
342 #define kVisualMarkdownEditingWrapAtColumn "visual_markdown_editing_wrap_at_column"
343 #define kVisualMarkdownEditingReferencesLocation "visual_markdown_editing_references_location"
344 #define kVisualMarkdownEditingReferencesLocationBlock "block"
345 #define kVisualMarkdownEditingReferencesLocationSection "section"
346 #define kVisualMarkdownEditingReferencesLocationDocument "document"
347 #define kVisualMarkdownEditingCanonical "visual_markdown_editing_canonical"
348 #define kVisualMarkdownEditingMaxContentWidth "visual_markdown_editing_max_content_width"
349 #define kVisualMarkdownEditingShowDocOutline "visual_markdown_editing_show_doc_outline"
350 #define kVisualMarkdownEditingShowMargin "visual_markdown_editing_show_margin"
351 #define kVisualMarkdownEditingFontSizePoints "visual_markdown_editing_font_size_points"
352 #define kVisualMarkdownCodeEditor "visual_markdown_code_editor"
353 #define kVisualMarkdownCodeEditorAce "ace"
354 #define kVisualMarkdownCodeEditorCodemirror "codemirror"
355 #define kZoteroLibraries "zotero_libraries"
356 #define kEmojiSkintone "emoji_skintone"
357 #define kEmojiSkintoneNone_ "(None)"
358 #define kEmojiSkintoneDefault_ "(Default)"
359 #define kEmojiSkintoneLight "Light"
360 #define kEmojiSkintoneMediumLight "Medium-Light"
361 #define kEmojiSkintoneMedium "Medium"
362 #define kEmojiSkintoneMediumDark "Medium-Dark"
363 #define kEmojiSkintoneDark "Dark"
364 #define kDisabledAriaLiveAnnouncements "disabled_aria_live_announcements"
365 #define kScreenreaderConsoleAnnounceLimit "screenreader_console_announce_limit"
366 #define kFileMonitorIgnoredComponents "file_monitor_ignored_components"
367 #define kInstallPkgDepsIndividually "install_pkg_deps_individually"
368 #define kGraphicsBackend "graphics_backend"
369 #define kGraphicsBackendDefault "default"
370 #define kGraphicsBackendCairo "cairo"
371 #define kGraphicsBackendCairoPng "cairo-png"
372 #define kGraphicsBackendQuartz "quartz"
373 #define kGraphicsBackendWindows "windows"
374 #define kGraphicsBackendRagg "ragg"
375 #define kGraphicsAntialiasing "graphics_antialiasing"
376 #define kGraphicsAntialiasingDefault "default"
377 #define kGraphicsAntialiasingNone "none"
378 #define kGraphicsAntialiasingGray "gray"
379 #define kGraphicsAntialiasingSubpixel "subpixel"
380 #define kBrowserFixedWidthFonts "browser_fixed_width_fonts"
381 #define kPythonType "python_type"
382 #define kPythonVersion "python_version"
383 #define kPythonPath "python_path"
384 #define kSaveRetryTimeout "save_retry_timeout"
385 #define kInsertNativePipeOperator "insert_native_pipe_operator"
386 #define kCommandPaletteMru "command_palette_mru"
387 #define kShowMemoryUsage "show_memory_usage"
388 #define kMemoryQueryIntervalSeconds "memory_query_interval_seconds"
389 #define kTerminalPythonIntegration "terminal_python_integration"
390 #define kSessionProtocolDebug "session_protocol_debug"
391 #define kPythonProjectEnvironmentAutomaticActivate "python_project_environment_automatic_activate"
392 #define kCheckNullExternalPointers "check_null_external_pointers"
393 
394 class UserPrefValues: public Preferences
395 {
396 public:
397    static std::vector<std::string> allKeys();
398    /**
399     * Whether to run .Rprofile again after resuming a suspended R session.
400     */
401    bool runRprofileOnResume();
402    core::Error setRunRprofileOnResume(bool val);
403 
404    /**
405     * Whether to save the workspace to an .Rdata file after the R session ends.
406     */
407    std::string saveWorkspace();
408    core::Error setSaveWorkspace(std::string val);
409 
410    /**
411     * Whether to load the workspace when the R session begins.
412     */
413    bool loadWorkspace();
414    core::Error setLoadWorkspace(bool val);
415 
416    /**
417     * The initial working directory for new R sessions.
418     */
419    std::string initialWorkingDirectory();
420    core::Error setInitialWorkingDirectory(std::string val);
421 
422    /**
423     * The CRAN mirror to use.
424     */
425    core::json::Object cranMirror();
426    core::Error setCranMirror(core::json::Object val);
427 
428    /**
429     * The name of the default Bioconductor mirror.
430     */
431    std::string bioconductorMirrorName();
432    core::Error setBioconductorMirrorName(std::string val);
433 
434    /**
435     * The URL of the default Bioconductor mirror.
436     */
437    std::string bioconductorMirrorUrl();
438    core::Error setBioconductorMirrorUrl(std::string val);
439 
440    /**
441     * Whether to always save the R console history.
442     */
443    bool alwaysSaveHistory();
444    core::Error setAlwaysSaveHistory(bool val);
445 
446    /**
447     * Whether to remove duplicate entries from the R console history.
448     */
449    bool removeHistoryDuplicates();
450    core::Error setRemoveHistoryDuplicates(bool val);
451 
452    /**
453     * Show the result of the last expression (.Last.value) in the Environment pane.
454     */
455    bool showLastDotValue();
456    core::Error setShowLastDotValue(bool val);
457 
458    /**
459     * The line ending format to use when saving files.
460     */
461    std::string lineEndingConversion();
462    core::Error setLineEndingConversion(std::string val);
463 
464    /**
465     * Whether to use newlines when saving Makefiles.
466     */
467    bool useNewlinesInMakefiles();
468    core::Error setUseNewlinesInMakefiles(bool val);
469 
470    /**
471     * The terminal shell to use on Windows.
472     */
473    std::string windowsTerminalShell();
474    core::Error setWindowsTerminalShell(std::string val);
475 
476    /**
477     * The terminal shell to use on POSIX operating systems (MacOS and Linux).
478     */
479    std::string posixTerminalShell();
480    core::Error setPosixTerminalShell(std::string val);
481 
482    /**
483     * The fully qualified path to the custom shell command to use in the Terminal tab.
484     */
485    std::string customShellCommand();
486    core::Error setCustomShellCommand(std::string val);
487 
488    /**
489     * The command-line options to pass to the custom shell command.
490     */
491    std::string customShellOptions();
492    core::Error setCustomShellOptions(std::string val);
493 
494    /**
495     * Show line numbers in RStudio's code editor.
496     */
497    bool showLineNumbers();
498    core::Error setShowLineNumbers(bool val);
499 
500    /**
501     * Highlight the selected word in RStudio's code editor.
502     */
503    bool highlightSelectedWord();
504    core::Error setHighlightSelectedWord(bool val);
505 
506    /**
507     * Highlight the selected line in RStudio's code editor.
508     */
509    bool highlightSelectedLine();
510    core::Error setHighlightSelectedLine(bool val);
511 
512    /**
513     * Layout of panes in the RStudio workbench.
514     */
515    core::json::Object panes();
516    core::Error setPanes(core::json::Object val);
517 
518    /**
519     * Whether to enable the ability to add source columns to display.
520     */
521    bool allowSourceColumns();
522    core::Error setAllowSourceColumns(bool val);
523 
524    /**
525     * Whether to insert spaces when pressing the Tab key.
526     */
527    bool useSpacesForTab();
528    core::Error setUseSpacesForTab(bool val);
529 
530    /**
531     * The number of spaces to insert when pressing the Tab key.
532     */
533    int numSpacesForTab();
534    core::Error setNumSpacesForTab(int val);
535 
536    /**
537     * Whether to automatically detect indentation settings from file contents.
538     */
539    bool autoDetectIndentation();
540    core::Error setAutoDetectIndentation(bool val);
541 
542    /**
543     * Whether to show the margin guide in the RStudio code editor.
544     */
545    bool showMargin();
546    core::Error setShowMargin(bool val);
547 
548    /**
549     * Whether to flash the cursor off and on.
550     */
551    bool blinkingCursor();
552    core::Error setBlinkingCursor(bool val);
553 
554    /**
555     * The number of columns of text after which the margin is shown.
556     */
557    int marginColumn();
558    core::Error setMarginColumn(int val);
559 
560    /**
561     * Whether to show invisible characters, such as spaces and tabs, in the RStudio code editor.
562     */
563    bool showInvisibles();
564    core::Error setShowInvisibles(bool val);
565 
566    /**
567     * Whether to show indentation guides in the RStudio code editor.
568     */
569    bool showIndentGuides();
570    core::Error setShowIndentGuides(bool val);
571 
572    /**
573     * Whether continue comments (by inserting the comment character) after adding a new line.
574     */
575    bool continueCommentsOnNewline();
576    core::Error setContinueCommentsOnNewline(bool val);
577 
578    /**
579     * Whether web links in comments are clickable.
580     */
581    bool highlightWebLink();
582    core::Error setHighlightWebLink(bool val);
583 
584    /**
585     * The keybindings to use in the RStudio code editor.
586     */
587    std::string editorKeybindings();
588    core::Error setEditorKeybindings(std::string val);
589 
590    /**
591     * Whether to insert matching pairs, such as () and [], when the first is typed.
592     */
593    bool insertMatching();
594    core::Error setInsertMatching(bool val);
595 
596    /**
597     * Whether to insert spaces around the equals sign in R code.
598     */
599    bool insertSpacesAroundEquals();
600    core::Error setInsertSpacesAroundEquals(bool val);
601 
602    /**
603     * Whether to insert parentheses after function completions.
604     */
605    bool insertParensAfterFunctionCompletion();
606    core::Error setInsertParensAfterFunctionCompletion(bool val);
607 
608    /**
609     * Whether to attempt completion of multiple-line statements when pressing Tab.
610     */
611    bool tabMultilineCompletion();
612    core::Error setTabMultilineCompletion(bool val);
613 
614    /**
615     * Whether to attempt completion of statements when pressing Tab.
616     */
617    bool tabCompletion();
618    core::Error setTabCompletion(bool val);
619 
620    /**
621     * Whether to show help tooltips for functions when the cursor has not been recently moved.
622     */
623    bool showHelpTooltipOnIdle();
624    core::Error setShowHelpTooltipOnIdle(bool val);
625 
626    /**
627     * Which kinds of delimiters can be used to surround the current selection.
628     */
629    std::string surroundSelection();
630    core::Error setSurroundSelection(std::string val);
631 
632    /**
633     * Whether to enable code snippets in the RStudio code editor.
634     */
635    bool enableSnippets();
636    core::Error setEnableSnippets(bool val);
637 
638    /**
639     * When to use auto-completion for R code in the RStudio code editor.
640     */
641    std::string codeCompletion();
642    core::Error setCodeCompletion(std::string val);
643 
644    /**
645     * When to use auto-completion for other languages (such as JavaScript and SQL) in the RStudio code editor.
646     */
647    std::string codeCompletionOther();
648    core::Error setCodeCompletionOther(std::string val);
649 
650    /**
651     * Whether to always use code completion in the R console.
652     */
653    bool consoleCodeCompletion();
654    core::Error setConsoleCodeCompletion(bool val);
655 
656    /**
657     * The number of milliseconds to wait before offering code suggestions.
658     */
659    int codeCompletionDelay();
660    core::Error setCodeCompletionDelay(int val);
661 
662    /**
663     * The number of characters in a symbol that can be entered before completions are offered.
664     */
665    int codeCompletionCharacters();
666    core::Error setCodeCompletionCharacters(int val);
667 
668    /**
669     * Whether to show function signature tooltips during autocompletion.
670     */
671    bool showFunctionSignatureTooltips();
672    core::Error setShowFunctionSignatureTooltips(bool val);
673 
674    /**
675     * Whether to show diagnostic messages (such as syntax and usage errors) for R code as you type.
676     */
677    bool showDiagnosticsR();
678    core::Error setShowDiagnosticsR(bool val);
679 
680    /**
681     * Whether to show diagnostic messages for C++ code as you type.
682     */
683    bool showDiagnosticsCpp();
684    core::Error setShowDiagnosticsCpp(bool val);
685 
686    /**
687     * Whether to show diagnostic messages for other types of code (not R or C++).
688     */
689    bool showDiagnosticsOther();
690    core::Error setShowDiagnosticsOther(bool val);
691 
692    /**
693     * Whether to show style diagnostics (suggestions for improving R code style)
694     */
695    bool styleDiagnostics();
696    core::Error setStyleDiagnostics(bool val);
697 
698    /**
699     * Whether to check code for problems after saving it.
700     */
701    bool diagnosticsOnSave();
702    core::Error setDiagnosticsOnSave(bool val);
703 
704    /**
705     * Whether to run code diagnostics in the background, as you type.
706     */
707    bool backgroundDiagnostics();
708    core::Error setBackgroundDiagnostics(bool val);
709 
710    /**
711     * The number of milliseconds to delay before running code diagnostics in the background.
712     */
713    int backgroundDiagnosticsDelayMs();
714    core::Error setBackgroundDiagnosticsDelayMs(int val);
715 
716    /**
717     * Whether to run diagnostics in R function calls.
718     */
719    bool diagnosticsInRFunctionCalls();
720    core::Error setDiagnosticsInRFunctionCalls(bool val);
721 
722    /**
723     * Whether to check arguments to R function calls.
724     */
725    bool checkArgumentsToRFunctionCalls();
726    core::Error setCheckArgumentsToRFunctionCalls(bool val);
727 
728    /**
729     * Whether to check for unexpected variable assignments inside R function calls.
730     */
731    bool checkUnexpectedAssignmentInFunctionCall();
732    core::Error setCheckUnexpectedAssignmentInFunctionCall(bool val);
733 
734    /**
735     * Whether to generate a warning if a variable is used without being defined in the current scope.
736     */
737    bool warnIfNoSuchVariableInScope();
738    core::Error setWarnIfNoSuchVariableInScope(bool val);
739 
740    /**
741     * Whether to generate a warning if a variable is defined without being used in the current scope
742     */
743    bool warnVariableDefinedButNotUsed();
744    core::Error setWarnVariableDefinedButNotUsed(bool val);
745 
746    /**
747     * Whether to automatically discover and offer to install missing R package dependencies.
748     */
749    bool autoDiscoverPackageDependencies();
750    core::Error setAutoDiscoverPackageDependencies(bool val);
751 
752    /**
753     * Whether to ensure that source files end with a newline character.
754     */
755    bool autoAppendNewline();
756    core::Error setAutoAppendNewline(bool val);
757 
758    /**
759     * Whether to strip trailing whitespace from each line when saving.
760     */
761    bool stripTrailingWhitespace();
762    core::Error setStripTrailingWhitespace(bool val);
763 
764    /**
765     * Whether to save the position of the cursor when a file is closed, restore it when the file is opened.
766     */
767    bool restoreSourceDocumentCursorPosition();
768    core::Error setRestoreSourceDocumentCursorPosition(bool val);
769 
770    /**
771     * Whether to automatically re-indent code when it's pasted into RStudio.
772     */
773    bool reindentOnPaste();
774    core::Error setReindentOnPaste(bool val);
775 
776    /**
777     * Whether to vertically align arguments to R function calls during automatic indentation.
778     */
779    bool verticallyAlignArgumentsIndent();
780    core::Error setVerticallyAlignArgumentsIndent(bool val);
781 
782    /**
783     * Whether to soft-wrap R source files, wrapping the text for display without inserting newline characters.
784     */
785    bool softWrapRFiles();
786    core::Error setSoftWrapRFiles(bool val);
787 
788    /**
789     * Whether to soft-wrap R Markdown files (and similar types such as R HTML and R Notebooks)
790     */
791    bool softWrapRmdFiles();
792    core::Error setSoftWrapRmdFiles(bool val);
793 
794    /**
795     * Whether to focus the R console after executing an R command from a script.
796     */
797    bool focusConsoleAfterExec();
798    core::Error setFocusConsoleAfterExec(bool val);
799 
800    /**
801     * The style of folding to use.
802     */
803    std::string foldStyle();
804    core::Error setFoldStyle(std::string val);
805 
806    /**
807     * Whether to automatically save scripts before executing them.
808     */
809    bool saveBeforeSourcing();
810    core::Error setSaveBeforeSourcing(bool val);
811 
812    /**
813     * Whether to use syntax highlighting in the R console.
814     */
815    bool syntaxColorConsole();
816    core::Error setSyntaxColorConsole(bool val);
817 
818    /**
819     * Whether to display error, warning, and message output in a different color.
820     */
821    bool highlightConsoleErrors();
822    core::Error setHighlightConsoleErrors(bool val);
823 
824    /**
825     * Whether to allow scrolling past the end of a file.
826     */
827    bool scrollPastEndOfDocument();
828    core::Error setScrollPastEndOfDocument(bool val);
829 
830    /**
831     * Whether to highlight R function calls in the code editor.
832     */
833    bool highlightRFunctionCalls();
834    core::Error setHighlightRFunctionCalls(bool val);
835 
836    /**
837     * Whether to highlight parentheses in a variety of colors.
838     */
839    bool rainbowParentheses();
840    core::Error setRainbowParentheses(bool val);
841 
842    /**
843     * The maximum number of characters to display in a single line in the R console.
844     */
845    int consoleLineLengthLimit();
846    core::Error setConsoleLineLengthLimit(int val);
847 
848    /**
849     * The maximum number of console actions to store and display in the console scrollback buffer.
850     */
851    int consoleMaxLines();
852    core::Error setConsoleMaxLines(int val);
853 
854    /**
855     * How to treat ANSI escape codes in the console.
856     */
857    std::string ansiConsoleMode();
858    core::Error setAnsiConsoleMode(std::string val);
859 
860    /**
861     * Whether to only show a limited window of the total console output
862     */
863    bool limitVisibleConsole();
864    core::Error setLimitVisibleConsole(bool val);
865 
866    /**
867     * Whether to show a toolbar on code chunks in R Markdown documents.
868     */
869    bool showInlineToolbarForRCodeChunks();
870    core::Error setShowInlineToolbarForRCodeChunks(bool val);
871 
872    /**
873     * Whether to highlight code chunks in R Markdown documents with a different background color.
874     */
875    bool highlightCodeChunks();
876    core::Error setHighlightCodeChunks(bool val);
877 
878    /**
879     * Whether to save all open, unsaved files before building the project.
880     */
881    bool saveFilesBeforeBuild();
882    core::Error setSaveFilesBeforeBuild(bool val);
883 
884    /**
885     * The default editor font size, in points.
886     */
887    double fontSizePoints();
888    core::Error setFontSizePoints(double val);
889 
890    /**
891     * The help panel font size, in points.
892     */
893    double helpFontSizePoints();
894    core::Error setHelpFontSizePoints(double val);
895 
896    /**
897     * The name of the color theme to apply to the text editor in RStudio.
898     */
899    std::string editorTheme();
900    core::Error setEditorTheme(std::string val);
901 
902    /**
903     * Whether to use a custom editor font in RStudio Server.
904     */
905    bool serverEditorFontEnabled();
906    core::Error setServerEditorFontEnabled(bool val);
907 
908    /**
909     * The name of the fixed-width editor font to use with RStudio Server.
910     */
911    std::string serverEditorFont();
912    core::Error setServerEditorFont(std::string val);
913 
914    /**
915     * The default character encoding to use when saving files.
916     */
917    std::string defaultEncoding();
918    core::Error setDefaultEncoding(std::string val);
919 
920    /**
921     * Whether to show the toolbar at the top of the RStudio workbench.
922     */
923    bool toolbarVisible();
924    core::Error setToolbarVisible(bool val);
925 
926    /**
927     * The directory path under which to place new projects by default.
928     */
929    std::string defaultProjectLocation();
930    core::Error setDefaultProjectLocation(std::string val);
931 
932    /**
933     * Whether to echo R code when sourcing it.
934     */
935    bool sourceWithEcho();
936    core::Error setSourceWithEcho(bool val);
937 
938    /**
939     * The default engine to use when processing Sweave documents.
940     */
941    std::string defaultSweaveEngine();
942    core::Error setDefaultSweaveEngine(std::string val);
943 
944    /**
945     * The default program to use when processing LaTeX documents.
946     */
947    std::string defaultLatexProgram();
948    core::Error setDefaultLatexProgram(std::string val);
949 
950    /**
951     * Whether to use Roxygen for documentation.
952     */
953    bool useRoxygen();
954    core::Error setUseRoxygen(bool val);
955 
956    /**
957     * Whether to use RStudio's data import feature.
958     */
959    bool useDataimport();
960    core::Error setUseDataimport(bool val);
961 
962    /**
963     * The program to use to preview PDF files after generation.
964     */
965    std::string pdfPreviewer();
966    core::Error setPdfPreviewer(std::string val);
967 
968    /**
969     * Whether to always enable the concordance for RNW files.
970     */
971    bool alwaysEnableRnwConcordance();
972    core::Error setAlwaysEnableRnwConcordance(bool val);
973 
974    /**
975     * Whether to insert numbered sections in LaTeX.
976     */
977    bool insertNumberedLatexSections();
978    core::Error setInsertNumberedLatexSections(bool val);
979 
980    /**
981     * The language of the spelling dictionary to use for spell checking.
982     */
983    std::string spellingDictionaryLanguage();
984    core::Error setSpellingDictionaryLanguage(std::string val);
985 
986    /**
987     * The list of custom dictionaries to use when spell checking.
988     */
989    core::json::Array spellingCustomDictionaries();
990    core::Error setSpellingCustomDictionaries(core::json::Array val);
991 
992    /**
993     * The number of milliseconds to wait before linting a document after it is loaded.
994     */
995    int documentLoadLintDelay();
996    core::Error setDocumentLoadLintDelay(int val);
997 
998    /**
999     * Whether to ignore words in uppercase when spell checking.
1000     */
1001    bool ignoreUppercaseWords();
1002    core::Error setIgnoreUppercaseWords(bool val);
1003 
1004    /**
1005     * Whether to ignore words with numbers in them when spell checking.
1006     */
1007    bool ignoreWordsWithNumbers();
1008    core::Error setIgnoreWordsWithNumbers(bool val);
1009 
1010    /**
1011     * Whether to enable real-time spellchecking by default.
1012     */
1013    bool realTimeSpellchecking();
1014    core::Error setRealTimeSpellchecking(bool val);
1015 
1016    /**
1017     * Whether to navigate to build errors.
1018     */
1019    bool navigateToBuildError();
1020    core::Error setNavigateToBuildError(bool val);
1021 
1022    /**
1023     * Whether to enable RStudio's Packages pane.
1024     */
1025    bool packagesPaneEnabled();
1026    core::Error setPackagesPaneEnabled(bool val);
1027 
1028    /**
1029     * Whether to use RCPP templates.
1030     */
1031    bool useRcppTemplate();
1032    core::Error setUseRcppTemplate(bool val);
1033 
1034    /**
1035     * Whether to restore the last opened source documents when RStudio starts up.
1036     */
1037    bool restoreSourceDocuments();
1038    core::Error setRestoreSourceDocuments(bool val);
1039 
1040    /**
1041     * Whether to handle errors only when user code is on the stack.
1042     */
1043    bool handleErrorsInUserCodeOnly();
1044    core::Error setHandleErrorsInUserCodeOnly(bool val);
1045 
1046    /**
1047     * Whether to automatically expand tracebacks when an error occurs.
1048     */
1049    bool autoExpandErrorTracebacks();
1050    core::Error setAutoExpandErrorTracebacks(bool val);
1051 
1052    /**
1053     * Whether to check for new versions of RStudio when RStudio starts.
1054     */
1055    bool checkForUpdates();
1056    core::Error setCheckForUpdates(bool val);
1057 
1058    /**
1059     * Whether to show functions without source references in the Traceback pane while debugging.
1060     */
1061    bool showInternalFunctions();
1062    core::Error setShowInternalFunctions(bool val);
1063 
1064    /**
1065     * Where to display Shiny applications when they are run.
1066     */
1067    std::string shinyViewerType();
1068    core::Error setShinyViewerType(std::string val);
1069 
1070    /**
1071     * Whether to run Shiny applications as background jobs.
1072     */
1073    bool shinyBackgroundJobs();
1074    core::Error setShinyBackgroundJobs(bool val);
1075 
1076    /**
1077     * Where to display Shiny applications when they are run.
1078     */
1079    std::string plumberViewerType();
1080    core::Error setPlumberViewerType(std::string val);
1081 
1082    /**
1083     * The default name to use as the document author when creating new documents.
1084     */
1085    std::string documentAuthor();
1086    core::Error setDocumentAuthor(std::string val);
1087 
1088    /**
1089     * The path to the preferred R Markdown template.
1090     */
1091    std::string rmdPreferredTemplatePath();
1092    core::Error setRmdPreferredTemplatePath(std::string val);
1093 
1094    /**
1095     * Where to display R Markdown documents when they have completed rendering.
1096     */
1097    std::string rmdViewerType();
1098    core::Error setRmdViewerType(std::string val);
1099 
1100    /**
1101     * Whether to show verbose diagnostic information when publishing content.
1102     */
1103    bool showPublishDiagnostics();
1104    core::Error setShowPublishDiagnostics(bool val);
1105 
1106    /**
1107     * Whether to check remote server SSL certificates when publishing content.
1108     */
1109    bool publishCheckCertificates();
1110    core::Error setPublishCheckCertificates(bool val);
1111 
1112    /**
1113     * Whether to use a custom certificate authority (CA) bundle when publishing content.
1114     */
1115    bool usePublishCaBundle();
1116    core::Error setUsePublishCaBundle(bool val);
1117 
1118    /**
1119     * The path to the custom certificate authority (CA) bundle to use when publishing content.
1120     */
1121    std::string publishCaBundle();
1122    core::Error setPublishCaBundle(std::string val);
1123 
1124    /**
1125     * Whether to show chunk output inline for ordinary R Markdown documents.
1126     */
1127    bool rmdChunkOutputInline();
1128    core::Error setRmdChunkOutputInline(bool val);
1129 
1130    /**
1131     * Whether to show the document outline by default when opening R Markdown documents.
1132     */
1133    bool showDocOutlineRmd();
1134    core::Error setShowDocOutlineRmd(bool val);
1135 
1136    /**
1137     * Whether to automatically run an R Markdown document's Setup chunk before running other chunks.
1138     */
1139    bool autoRunSetupChunk();
1140    core::Error setAutoRunSetupChunk(bool val);
1141 
1142    /**
1143     * Whether to hide the R console when executing inline R Markdown chunks.
1144     */
1145    bool hideConsoleOnChunkExecute();
1146    core::Error setHideConsoleOnChunkExecute(bool val);
1147 
1148    /**
1149     * The unit of R code to execute when the Execute command is invoked.
1150     */
1151    std::string executionBehavior();
1152    core::Error setExecutionBehavior(std::string val);
1153 
1154    /**
1155     * Whether to show the Terminal tab.
1156     */
1157    bool showTerminalTab();
1158    core::Error setShowTerminalTab(bool val);
1159 
1160    /**
1161     * Whether to use local echo in the Terminal.
1162     */
1163    bool terminalLocalEcho();
1164    core::Error setTerminalLocalEcho(bool val);
1165 
1166    /**
1167     * Whether to use websockets to communicate with the shell in the Terminal tab.
1168     */
1169    bool terminalWebsockets();
1170    core::Error setTerminalWebsockets(bool val);
1171 
1172    /**
1173     * Whether to close the terminal pane after the shell exits.
1174     */
1175    std::string terminalCloseBehavior();
1176    core::Error setTerminalCloseBehavior(std::string val);
1177 
1178    /**
1179     * Whether to track and save changes to system environment variables in the Terminal.
1180     */
1181    bool terminalTrackEnvironment();
1182    core::Error setTerminalTrackEnvironment(bool val);
1183 
1184    /**
1185     * Terminal bell style
1186     */
1187    std::string terminalBellStyle();
1188    core::Error setTerminalBellStyle(std::string val);
1189 
1190    /**
1191     * Terminal rendering engine: canvas is faster, dom may be needed for some browsers or graphics cards
1192     */
1193    std::string terminalRenderer();
1194    core::Error setTerminalRenderer(std::string val);
1195 
1196    /**
1197     * Whether web links displayed in the Terminal tab are made clickable.
1198     */
1199    bool terminalWeblinks();
1200    core::Error setTerminalWeblinks(bool val);
1201 
1202    /**
1203     * Whether to print the render command use to knit R Markdown documents in the R Markdown tab.
1204     */
1205    bool showRmdRenderCommand();
1206    core::Error setShowRmdRenderCommand(bool val);
1207 
1208    /**
1209     * Whether to enable moving text on the editing surface by clicking and dragging it.
1210     */
1211    bool enableTextDrag();
1212    core::Error setEnableTextDrag(bool val);
1213 
1214    /**
1215     * Whether to show hidden files in the Files pane.
1216     */
1217    bool showHiddenFiles();
1218    core::Error setShowHiddenFiles(bool val);
1219 
1220    /**
1221     * List of file names (case sensitive) that are always shown in the Files Pane, regardless of whether hidden files are shown
1222     */
1223    core::json::Array alwaysShownFiles();
1224    core::Error setAlwaysShownFiles(core::json::Array val);
1225 
1226    /**
1227     * List of file extensions (beginning with ., not case sensitive) that are always shown in the Files Pane, regardless of whether hidden files are shown
1228     */
1229    core::json::Array alwaysShownExtensions();
1230    core::Error setAlwaysShownExtensions(core::json::Array val);
1231 
1232    /**
1233     * Whether to sort file names naturally, so that e.g., file10.R comes after file9.R
1234     */
1235    bool sortFileNamesNaturally();
1236    core::Error setSortFileNamesNaturally(bool val);
1237 
1238    /**
1239     * Whether to change the directory in the Files pane automatically when the working directory in R changes.
1240     */
1241    bool syncFilesPaneWorkingDir();
1242    core::Error setSyncFilesPaneWorkingDir(bool val);
1243 
1244    /**
1245     * The visibility of the Jobs tab.
1246     */
1247    std::string jobsTabVisibility();
1248    core::Error setJobsTabVisibility(std::string val);
1249 
1250    /**
1251     * Whether to show the Launcher jobs tab in RStudio Pro and RStudio Workbench.
1252     */
1253    bool showLauncherJobsTab();
1254    core::Error setShowLauncherJobsTab(bool val);
1255 
1256    /**
1257     * How to sort jobs in the Launcher tab in RStudio Pro and RStudio Workbench.
1258     */
1259    std::string launcherJobsSort();
1260    core::Error setLauncherJobsSort(std::string val);
1261 
1262    /**
1263     * How to detect busy status in the Terminal.
1264     */
1265    std::string busyDetection();
1266    core::Error setBusyDetection(std::string val);
1267 
1268    /**
1269     * A list of apps that should not be considered busy in the Terminal.
1270     */
1271    core::json::Array busyExclusionList();
1272    core::Error setBusyExclusionList(core::json::Array val);
1273 
1274    /**
1275     * The working directory to use when knitting R Markdown documents.
1276     */
1277    std::string knitWorkingDir();
1278    core::Error setKnitWorkingDir(std::string val);
1279 
1280    /**
1281     * Which objects to show in the document outline pane.
1282     */
1283    std::string docOutlineShow();
1284    core::Error setDocOutlineShow(std::string val);
1285 
1286    /**
1287     * When to preview LaTeX mathematical equations when cursor has not moved recently.
1288     */
1289    std::string latexPreviewOnCursorIdle();
1290    core::Error setLatexPreviewOnCursorIdle(std::string val);
1291 
1292    /**
1293     * Whether to wrap around when going to the previous or next editor tab.
1294     */
1295    bool wrapTabNavigation();
1296    core::Error setWrapTabNavigation(bool val);
1297 
1298    /**
1299     * The theme to use for the main RStudio user interface.
1300     */
1301    std::string globalTheme();
1302    core::Error setGlobalTheme(std::string val);
1303 
1304    /**
1305     * Whether to ignore whitespace when generating diffs of version controlled files.
1306     */
1307    bool gitDiffIgnoreWhitespace();
1308    core::Error setGitDiffIgnoreWhitespace(bool val);
1309 
1310    /**
1311     * Whether double-clicking should select a word in the Console pane.
1312     */
1313    bool consoleDoubleClickSelect();
1314    core::Error setConsoleDoubleClickSelect(bool val);
1315 
1316    /**
1317     * Whether a git repo should be initialized inside new projects by default.
1318     */
1319    bool newProjGitInit();
1320    core::Error setNewProjGitInit(bool val);
1321 
1322    /**
1323     * Whether an renv environment should be created inside new projects by default.
1324     */
1325    bool newProjUseRenv();
1326    core::Error setNewProjUseRenv(bool val);
1327 
1328    /**
1329     * The root document to use when compiling PDF documents.
1330     */
1331    std::string rootDocument();
1332    core::Error setRootDocument(std::string val);
1333 
1334    /**
1335     * When to show the server home page in RStudio Workbench.
1336     */
1337    std::string showUserHomePage();
1338    core::Error setShowUserHomePage(std::string val);
1339 
1340    /**
1341     * Whether to reuse sessions when opening projects in RStudio Workbench.
1342     */
1343    bool reuseSessionsForProjectLinks();
1344    core::Error setReuseSessionsForProjectLinks(bool val);
1345 
1346    /**
1347     * Whether to enable RStudio's version control system interface.
1348     */
1349    bool vcsEnabled();
1350    core::Error setVcsEnabled(bool val);
1351 
1352    /**
1353     * Automatically refresh VCS status?
1354     */
1355    bool vcsAutorefresh();
1356    core::Error setVcsAutorefresh(bool val);
1357 
1358    /**
1359     * The path to the Git executable to use.
1360     */
1361    std::string gitExePath();
1362    core::Error setGitExePath(std::string val);
1363 
1364    /**
1365     * The path to the Subversion executable to use.
1366     */
1367    std::string svnExePath();
1368    core::Error setSvnExePath(std::string val);
1369 
1370    /**
1371     * The path to the terminal executable to use.
1372     */
1373    std::string terminalPath();
1374    core::Error setTerminalPath(std::string val);
1375 
1376    /**
1377     * The path to the RSA key file to use.
1378     */
1379    std::string rsaKeyPath();
1380    core::Error setRsaKeyPath(std::string val);
1381 
1382    /**
1383     * Whether to use the devtools R package.
1384     */
1385    bool useDevtools();
1386    core::Error setUseDevtools(bool val);
1387 
1388    /**
1389     * Whether to use Internet2 for networking on R for Windows.
1390     */
1391    bool useInternet2();
1392    core::Error setUseInternet2(bool val);
1393 
1394    /**
1395     * Whether to use secure downloads when fetching R packages.
1396     */
1397    bool useSecureDownload();
1398    core::Error setUseSecureDownload(bool val);
1399 
1400    /**
1401     * Whether to clean up temporary files after running R CMD CHECK.
1402     */
1403    bool cleanupAfterRCmdCheck();
1404    core::Error setCleanupAfterRCmdCheck(bool val);
1405 
1406    /**
1407     * Whether to view the directory after running R CMD CHECK.
1408     */
1409    bool viewDirAfterRCmdCheck();
1410    core::Error setViewDirAfterRCmdCheck(bool val);
1411 
1412    /**
1413     * Whether to hide object files in the Files pane.
1414     */
1415    bool hideObjectFiles();
1416    core::Error setHideObjectFiles(bool val);
1417 
1418    /**
1419     * Whether to restore the last project when starting RStudio.
1420     */
1421    bool restoreLastProject();
1422    core::Error setRestoreLastProject(bool val);
1423 
1424    /**
1425     * The number of seconds after which a project is deemed to have successfully started.
1426     */
1427    int projectSafeStartupSeconds();
1428    core::Error setProjectSafeStartupSeconds(int val);
1429 
1430    /**
1431     * Use tinytex to compile .tex files.
1432     */
1433    bool useTinytex();
1434    core::Error setUseTinytex(bool val);
1435 
1436    /**
1437     * Whether to clean output after running Texi2Dvi.
1438     */
1439    bool cleanTexi2dviOutput();
1440    core::Error setCleanTexi2dviOutput(bool val);
1441 
1442    /**
1443     * Whether to enable shell escaping with LaTeX documents.
1444     */
1445    bool latexShellEscape();
1446    core::Error setLatexShellEscape(bool val);
1447 
1448    /**
1449     * Whether to restore the last version of R used by the project in RStudio Pro and RStudio Workbench.
1450     */
1451    bool restoreProjectRVersion();
1452    core::Error setRestoreProjectRVersion(bool val);
1453 
1454    /**
1455     * The verbosity level to use with Clang (0 - 2)
1456     */
1457    int clangVerbose();
1458    core::Error setClangVerbose(int val);
1459 
1460    /**
1461     * Whether to automatically submit crash reports to RStudio.
1462     */
1463    bool submitCrashReports();
1464    core::Error setSubmitCrashReports(bool val);
1465 
1466    /**
1467     * The R version to use by default.
1468     */
1469    core::json::Object defaultRVersion();
1470    core::Error setDefaultRVersion(core::json::Object val);
1471 
1472    /**
1473     * The maximum number of columns to show at once in the data viewer.
1474     */
1475    int dataViewerMaxColumns();
1476    core::Error setDataViewerMaxColumns(int val);
1477 
1478    /**
1479     * Support accessibility aids such as screen readers (RStudio Server).
1480     */
1481    bool enableScreenReader();
1482    core::Error setEnableScreenReader(bool val);
1483 
1484    /**
1485     * Number of milliseconds to wait after last keystroke before updating live region.
1486     */
1487    int typingStatusDelayMs();
1488    core::Error setTypingStatusDelayMs(int val);
1489 
1490    /**
1491     * Reduce use of animations in the user interface.
1492     */
1493    bool reducedMotion();
1494    core::Error setReducedMotion(bool val);
1495 
1496    /**
1497     * Tab key moves focus out of text editing controls instead of inserting tabs.
1498     */
1499    bool tabKeyMoveFocus();
1500    core::Error setTabKeyMoveFocus(bool val);
1501 
1502    /**
1503     * In source editor find panel, tab key moves focus directly from find text to replace text.
1504     */
1505    bool findPanelLegacyTabSequence();
1506    core::Error setFindPanelLegacyTabSequence(bool val);
1507 
1508    /**
1509     * Control with keyboard focus displays a visual focus indicator.
1510     */
1511    bool showFocusRectangles();
1512    core::Error setShowFocusRectangles(bool val);
1513 
1514    /**
1515     * Show which panel contains keyboard focus.
1516     */
1517    bool showPanelFocusRectangle();
1518    core::Error setShowPanelFocusRectangle(bool val);
1519 
1520    /**
1521     * How to deal with changes to documents on idle.
1522     */
1523    std::string autoSaveOnIdle();
1524    core::Error setAutoSaveOnIdle(std::string val);
1525 
1526    /**
1527     * The idle period, in milliseconds, after which documents should be auto-saved.
1528     */
1529    int autoSaveIdleMs();
1530    core::Error setAutoSaveIdleMs(int val);
1531 
1532    /**
1533     * Whether to automatically save when the editor loses focus.
1534     */
1535    bool autoSaveOnBlur();
1536    core::Error setAutoSaveOnBlur(bool val);
1537 
1538    /**
1539     * Initial directory for new terminals.
1540     */
1541    std::string terminalInitialDirectory();
1542    core::Error setTerminalInitialDirectory(std::string val);
1543 
1544    /**
1545     * Whether to show the full path to project in desktop window title.
1546     */
1547    bool fullProjectPathInWindowTitle();
1548    core::Error setFullProjectPathInWindowTitle(bool val);
1549 
1550    /**
1551     * Whether to enable visual editing by default for new markdown documents
1552     */
1553    bool visualMarkdownEditingIsDefault();
1554    core::Error setVisualMarkdownEditingIsDefault(bool val);
1555 
1556    /**
1557     * Default spacing for lists created in the visual editor
1558     */
1559    std::string visualMarkdownEditingListSpacing();
1560    core::Error setVisualMarkdownEditingListSpacing(std::string val);
1561 
1562    /**
1563     * Whether to automatically wrap text when writing markdown
1564     */
1565    std::string visualMarkdownEditingWrap();
1566    core::Error setVisualMarkdownEditingWrap(std::string val);
1567 
1568    /**
1569     * The column to wrap text at when writing markdown
1570     */
1571    int visualMarkdownEditingWrapAtColumn();
1572    core::Error setVisualMarkdownEditingWrapAtColumn(int val);
1573 
1574    /**
1575     * Placement of footnotes within markdown output.
1576     */
1577    std::string visualMarkdownEditingReferencesLocation();
1578    core::Error setVisualMarkdownEditingReferencesLocation(std::string val);
1579 
1580    /**
1581     * Whether to write canonical visual mode markdown when saving from source mode.
1582     */
1583    bool visualMarkdownEditingCanonical();
1584    core::Error setVisualMarkdownEditingCanonical(bool val);
1585 
1586    /**
1587     * Maximum content width for visual editing mode, in pixels
1588     */
1589    int visualMarkdownEditingMaxContentWidth();
1590    core::Error setVisualMarkdownEditingMaxContentWidth(int val);
1591 
1592    /**
1593     * Whether to show the document outline by default when opening R Markdown documents in visual mode.
1594     */
1595    bool visualMarkdownEditingShowDocOutline();
1596    core::Error setVisualMarkdownEditingShowDocOutline(bool val);
1597 
1598    /**
1599     * Whether to show the margin guide in the visual mode code blocks.
1600     */
1601    bool visualMarkdownEditingShowMargin();
1602    core::Error setVisualMarkdownEditingShowMargin(bool val);
1603 
1604    /**
1605     * The default visual editing mode font size, in points
1606     */
1607    int visualMarkdownEditingFontSizePoints();
1608    core::Error setVisualMarkdownEditingFontSizePoints(int val);
1609 
1610    /**
1611     * The name of the editor to use to provide code editing in visual mode
1612     */
1613    std::string visualMarkdownCodeEditor();
1614    core::Error setVisualMarkdownCodeEditor(std::string val);
1615 
1616    /**
1617     * Zotero libraries to insert citations from.
1618     */
1619    core::json::Array zoteroLibraries();
1620    core::Error setZoteroLibraries(core::json::Array val);
1621 
1622    /**
1623     * Preferred emoji skintone
1624     */
1625    std::string emojiSkintone();
1626    core::Error setEmojiSkintone(std::string val);
1627 
1628    /**
1629     * List of aria-live announcements to disable.
1630     */
1631    core::json::Array disabledAriaLiveAnnouncements();
1632    core::Error setDisabledAriaLiveAnnouncements(core::json::Array val);
1633 
1634    /**
1635     * Maximum number of lines of console output announced after a command.
1636     */
1637    int screenreaderConsoleAnnounceLimit();
1638    core::Error setScreenreaderConsoleAnnounceLimit(int val);
1639 
1640    /**
1641     * List of path components; file monitor will ignore paths containing one or more of these components.
1642     */
1643    core::json::Array fileMonitorIgnoredComponents();
1644    core::Error setFileMonitorIgnoredComponents(core::json::Array val);
1645 
1646    /**
1647     * Whether to install R package dependencies one at a time.
1648     */
1649    bool installPkgDepsIndividually();
1650    core::Error setInstallPkgDepsIndividually(bool val);
1651 
1652    /**
1653     * R graphics backend.
1654     */
1655    std::string graphicsBackend();
1656    core::Error setGraphicsBackend(std::string val);
1657 
1658    /**
1659     * Type of anti-aliasing to be used for generated R plots.
1660     */
1661    std::string graphicsAntialiasing();
1662    core::Error setGraphicsAntialiasing(std::string val);
1663 
1664    /**
1665     * List of fixed-width fonts to check for browser support.
1666     */
1667    core::json::Array browserFixedWidthFonts();
1668    core::Error setBrowserFixedWidthFonts(core::json::Array val);
1669 
1670    /**
1671     * The Python type.
1672     */
1673    std::string pythonType();
1674    core::Error setPythonType(std::string val);
1675 
1676    /**
1677     * The Python version.
1678     */
1679    std::string pythonVersion();
1680    core::Error setPythonVersion(std::string val);
1681 
1682    /**
1683     * The path to the default Python interpreter.
1684     */
1685    std::string pythonPath();
1686    core::Error setPythonPath(std::string val);
1687 
1688    /**
1689     * The maximum amount of seconds of retry for save operations.
1690     */
1691    int saveRetryTimeout();
1692    core::Error setSaveRetryTimeout(int val);
1693 
1694    /**
1695     * Whether the Insert Pipe Operator command should insert the native R pipe operator, |>
1696     */
1697    bool insertNativePipeOperator();
1698    core::Error setInsertNativePipeOperator(bool val);
1699 
1700    /**
1701     * Whether to keep track of recently used commands in the Command Palette
1702     */
1703    bool commandPaletteMru();
1704    core::Error setCommandPaletteMru(bool val);
1705 
1706    /**
1707     * Whether to compute and show memory usage in the Environment Pane
1708     */
1709    bool showMemoryUsage();
1710    core::Error setShowMemoryUsage(bool val);
1711 
1712    /**
1713     * How many seconds to wait between automatic requeries of memory statistics (0 to disable)
1714     */
1715    int memoryQueryIntervalSeconds();
1716    core::Error setMemoryQueryIntervalSeconds(int val);
1717 
1718    /**
1719     * Enable Python terminal hooks. When enabled, the RStudio-configured version of Python will be placed on the PATH.
1720     */
1721    bool terminalPythonIntegration();
1722    core::Error setTerminalPythonIntegration(bool val);
1723 
1724    /**
1725     * Enable session protocol debug logging showing all session requests and events
1726     */
1727    bool sessionProtocolDebug();
1728    core::Error setSessionProtocolDebug(bool val);
1729 
1730    /**
1731     * When enabled, if the active project contains a Python virtual environment, then RStudio will automatically activate this environment on startup.
1732     */
1733    bool pythonProjectEnvironmentAutomaticActivate();
1734    core::Error setPythonProjectEnvironmentAutomaticActivate(bool val);
1735 
1736    /**
1737     * When enabled, RStudio will detect R objects containing null external pointers when building the Environment pane, and avoid introspecting their contents further.
1738     */
1739    bool checkNullExternalPointers();
1740    core::Error setCheckNullExternalPointers(bool val);
1741 
1742 };
1743 
1744 
1745 }
1746 }
1747 }
1748 
1749 #endif
1750