-- ibidem - full config reference
--
-- Every option, every keybind, and a complete theme, all in one place.
-- Ctrl+S in the config editor saves your init.lua and applies it immediately -
-- no restart.
--
-- Everything here is OPTIONAL. Delete a line to get its default back, or
-- delete the whole table for a stock ibidem. Open your own config by clicking
-- the logo in the title bar; it lives at:
--   Windows  %APPDATA%\ibidem\init.lua
--   Linux    ~/.config/ibidem/init.lua
--   macOS    ~/Library/Application Support/ibidem/init.lua

return {

  ---------------------------------------------------------------------------
  -- Appearance
  ---------------------------------------------------------------------------

  theme = "eink",               -- eink (light), space, forest, deep_ocean,
                                -- mars, a theme table (see the bottom), or
                                -- require("mytheme") for your own .lua file

  -- ui_font = "Cascadia Code", -- by family name; default is the bundled
                                -- JetBrains Mono

  ---------------------------------------------------------------------------
  -- Cursor (the commit message box and dialogs)
  ---------------------------------------------------------------------------

  cursor_blink    = true,       -- false = solid caret
  cursor_blink_ms = 530,        -- blink half-period

  ---------------------------------------------------------------------------
  -- History
  ---------------------------------------------------------------------------

  git_history_all_branches = true,  -- false = current branch only

  ---------------------------------------------------------------------------
  -- Repo tabs
  ---------------------------------------------------------------------------

  tab_bar_width  = 180,         -- width of each repo tab, px
  tab_bar_height = 30,          -- height of the title bar the tabs sit in, px
  tab_reorder    = true,        -- drag tabs to reorder
  animations     = true,        -- tabs slide into place
  restore_tabs   = true,        -- reopen last session's tabs at launch

  ---------------------------------------------------------------------------
  -- Keybindings - override any subset; the rest keep their defaults
  ---------------------------------------------------------------------------

  keys = {
    open_folder = "ctrl+o",     -- open a repo in a new tab
    close_tab   = "ctrl+w",
    select_all  = "ctrl+a",
    copy        = "ctrl+c",
    cut         = "ctrl+x",
    paste       = "ctrl+v",
    save        = "ctrl+s",     -- the config editor
    undo        = "ctrl+z",
    redo        = "ctrl+y",     -- ctrl+shift+z also redoes
  },

  ---------------------------------------------------------------------------
  -- A custom theme (optional).
  --
  -- `base` picks a bundled theme to start from; override only what you want
  -- and the rest is inherited. Colours are "#rrggbb" or "#rgb". To use this,
  -- set theme = { ... } above to a table like this one.
  ---------------------------------------------------------------------------

  -- theme = {
  --   name = "midnight",
  --   base = "space",
  --
  --   -- Base surfaces and text
  --   bg = "#0f1115", fg = "#d6d9df", sel = "#2a3350",
  --   dim = "#6b7290", panel = "#141824",
  --
  --   -- Window border; border_width = 0 hides it
  --   border = "#2a3150", border_width = 1,
  --
  --   -- Config editor: current-line background and Lua syntax colours
  --   cur_line = "#171b28",
  --   keyword = "#8fa3ff", ["function"] = "#7fd6c2", type = "#e6c07b",
  --   string  = "#98c379", comment = "#5c6370", number = "#d19a66",
  --
  --   -- HEAD marker, toolbar count badges
  --   head_dot = "#ffffff", git_badge = "#8fa3ff",
  --
  --   -- File Status diff
  --   diff_add = "#98c379", diff_removed = "#e06c75", diff_hunk = "#8fa3ff",
  --   conflict = "#e5a04a",   -- conflicted files during a merge
  --
  --   -- Commit graph
  --   graph_colors = { "#8fa3ff", "#7fd6c2", "#e6c07b", "#e06c75", "#c678dd" },
  --   graph_lane_width = 14, graph_line_width = 1.6, graph_node_scale = 1.0,
  -- },

}
