local options = {
  title = true,
  undofile = true,
  smartindent = true,
  splitbelow = true,
  splitright = true,
  ignorecase = true,
  smartcase = true,
  breakindent = true,
  termguicolors = true,
  cursorline = true,
  linebreak = true,
  number = true,
  ruler = false,
  hlsearch = false,
  modelines = 0,
  scrolloff = 5,
  pumheight = 10,
  updatetime = 100,
  showbreak = string.rep(' ', 3),
  whichwrap = 'b,h,l,s,<,>,[,],~',
  viewoptions = 'cursor,folds',
  clipboard = 'unnamedplus',
  foldmethod = 'marker',
  signcolumn = 'no',
  virtualedit = 'block',
  completeopt = { 'menu', 'menuone', 'noselect', 'noinsert' },
  titlestring = '%(%m%) %(%{expand("%:~")}%)',
  formatlistpat = '^\\s*\\(\\d\\+[\\]:.)}\\t ]\\|[*-][\\t ]\\)\\s*',
}

vim.opt.nrformats:append 'alpha'
vim.opt.shortmess:append { s = true, I = true }
vim.opt.diffopt:append {
  'vertical',
  'iwhite',
  'indent-heuristic',
  algorithm = 'patience',
  foldcolumn = 0,
  'linematch:60',
}
vim.opt.formatoptions = vim.opt.formatoptions - 'a' - 't' - 'o' - 'r' - '2' + 'c' + 'q' + 'n' + 'j'

for k, v in pairs(options) do
  vim.opt[k] = v
end
