[personality]
name = "vim"

# ===========================================================================
# Keybindings migrated to in-crate personality adapters (#700)
#
# Each feature module now owns its vim keybindings in src/keybinding/vim.rs
# with explicit reovim-module-vim dependency. See:
#   completion, lsp-navigation, explorer, microscope, snippet,
#   range-finder, illuminate, git-signs, diagnostics-panel, bufferline
# ===========================================================================

# ===========================================================================
# Mode bridges
# ===========================================================================

[[mode-bridge]]
feature_mode = "snippet:navigating"
parent_mode = "vim:insert"

[[mode-bridge]]
feature_mode = "range-finder:jump-input"
parent_mode = "vim:normal"

# ===========================================================================
# Vim options (#610)
# ===========================================================================

[[option]]
name = "number"
short = "nu"
description = "Show line numbers"
scope = "window"
default = false

[[option]]
name = "relativenumber"
short = "rnu"
description = "Show relative line numbers"
scope = "window"
default = false

[[option]]
name = "scrolloff"
short = "so"
description = "Minimum lines above/below cursor"
default = 0
constraint = { min = 0 }

[[option]]
name = "sidescrolloff"
short = "siso"
description = "Minimum columns left/right of cursor"
default = 0
constraint = { min = 0 }

[[option]]
name = "ignorecase"
short = "ic"
description = "Ignore case in search patterns"
default = false

[[option]]
name = "smartcase"
short = "scs"
description = "Override ignorecase if pattern has uppercase"
default = false

[[option]]
name = "hlsearch"
short = "hls"
description = "Highlight search matches"
default = false

[[option]]
name = "incsearch"
short = "is"
description = "Show search matches incrementally"
default = false

[[option]]
name = "wrapscan"
short = "ws"
description = "Wrap search around end of file"
default = true
