Skip to content
PT

Static copy

Copied from docs/guides/en/config.md in https://github.com/poppy-team/oride (MIT). Pinned to revision 1cd515630b8ceb57777d466bee4970fe7c2e30e0, blob 5d1ad3b73791a3a05d67cdc8b8303aaf65dba1f5. The source repository remains canonical; this copy is refreshed through a sync pull request, not live.

Configuration Reference ​

Oride loads configuration in a layered hierarchy (later layers override earlier ones):

  1. Built-in defaults (embedded within the binary).
  2. User global configuration: ~/.config/oride/config.toml (XDG standard).
  3. Workspace local configuration: The first .oride/config.toml found walking up from the opened file or CWD.

Full example: assets/config.example.toml.


Top-Level Fields ​

FieldTypeDefaultDescription
themestring"default"Logical theme name or path to a custom theme
show_line_numbersbooltrueDisplay gutter line numbers
mouseboolfalseMouse capture (click, drag, scroll). Disabled by default; toggle via View → Enable mouse or command palette
languagestring"en"Interface localization locale (e.g. "en", "pt-BR")
modal_editingboolfalseEnable Vim-style modal editing by default
[editor].tab_sizeu84Tab width in spaces
[editor].insert_spacesbooltrueConvert Tab presses to spaces
[editor].completion_autobooltrueAutomatically trigger completion popup while typing
[editor].completion_min_charsu82Minimum character prefix required before auto-completion opens
[markdown].terminal_imagesboolfalseEnable terminal graphics rendering for Markdown (Kitty, Ghostty, WezTerm)
[ui].*colorsee defaultsUI theme color overrides
[keys]mapdefault bindingsKeybinding customization

Supported Colors ​

  • Named colors: reset, black, red, green, yellow, blue, magenta, cyan, gray, darkgray, white, lightred, lightgreen, lightblue, etc.
  • Hexadecimal notation: #RGB or #RRGGBB.

Keybinding Actions ([keys]) ​

Action IDDescription
quitExit editor (prompt twice if unsaved buffers exist)
saveSave active file
save_asSave active file to a new path
save_allSave all modified buffers
undo / redoStep backwards / forwards in the edit history
insert_newline / insert_tab / backspace / deleteText editing primitives
move_left … move_line_endCaret movement
move_*_extendCaret movement with selection extension
page_up / page_downScroll viewport by page
toggle_tree / toggle_terminalToggle file tree / embedded terminal panels
focus_tree / focus_editor / focus_terminalDirect panel focus shifts
next_tab / prev_tab / close_tab / new_tabTab management
command_palette / open_file_fuzzyOpen command palette or fuzzy file picker
tree_new_file / tree_new_dir / tree_refreshProject file tree management

Key chords are specified in lowercase with + as separator: ctrl+s, shift+left, esc, pageup, ctrl+shift+p, etc.


Detailed Configuration Sections ​

[editor] ​

  • tab_size: Indentation width.
  • insert_spaces: Convert tabs to spaces.
  • format_on_save: Automatically trigger LSP formatting when saving buffers.
  • use_editorconfig: Read indentation settings from .editorconfig.
  • completion_auto: Auto-trigger completion window.
  • completion_min_chars: Prefix threshold for automatic completions.

[tree] ​

  • width: Sidebar width in character columns (default: 28).
  • show_hidden: Whether to list dotfiles and hidden directories.
  • git_status: Render Git status badges next to files and directories.

[terminal] ​

  • shell: Shell binary path (defaults to $SHELL or /bin/sh).
  • default_height: Height of terminal pane in rows (default: 10).

[lsp] ​

  • enabled: Global toggle for language server client.
  • timeout_ms: Request timeout in milliseconds (default: 10000).
  • [lsp.servers]: Mapping of LanguageId → argv command array. Servers are spawned on-demand when opening files of the corresponding language.
  • oriscript_command: Maintained solely for backward compatibility with legacy configurations.
toml
[lsp.servers]
rust = ["rust-analyzer"]
c = ["clangd"]
bash = ["bash-language-server", "start"]
ori = ["ori-lsp"]

[syntax] ​

Syntax highlighting overrides (keyword, string, comment, function, type, number) using color names or #RRGGBB.


Validation Commands ​

bash
cargo test -p oride-config
cargo test -p oride-keymap
cargo test -p oride-app rebind_ctrl_s