-- change terminal title
vim.o.title = true

-- default indentation
vim.o.shiftwidth = 2
vim.o.tabstop = 4
vim.o.expandtab = true

-- permanent undo history
vim.o.undofile = true

-- allow switching buffers
vim.o.hidden = true

-- always scroll (keep current line vertically centered)
vim.o.scrolloff = 999

-- show line numbers
vim.o.number = true
vim.o.relativenumber = true

-- set wordwrap indent
vim.o.wrap = false
vim.o.linebreak = true
vim.o.breakindent = true
vim.o.breakindentopt = 'shift:2,sbr'

-- show whitespace
vim.o.list = true

-- disable search highlight
vim.o.hlsearch = false

-- always show sign column to avoid layout shift when staging
vim.o.signcolumn = 'yes'

-- make a new copy of the file for backup
-- setting to no or auto messes with filewatchers
vim.o.backupcopy = 'yes'

-- disable modelines
vim.o.modeline = false

-- show preview of lines when using :s
vim.o.inccommand = 'split'

-- mouse only in visual mode
vim.o.mouse = 'v'

-- set foldexpr to use treesitter
vim.o.foldmethod = 'expr'
vim.o.foldexpr = 'nvim_treesitter#foldexpr()'
vim.o.foldenable = false

vim.o.shell = '/bin/sh'