71 lines
1.4 KiB
Lua
71 lines
1.4 KiB
Lua
|
---@type ChadrcConfig
|
||
|
local M = {}
|
||
|
|
||
|
-- Path to overriding theme and highlights files
|
||
|
local highlights = require "custom.highlights"
|
||
|
|
||
|
M.ui = {
|
||
|
theme = "catppuccin",
|
||
|
theme_toggle = { "catppuccin", "one_light" },
|
||
|
|
||
|
hl_override = highlights.override,
|
||
|
hl_add = highlights.add,
|
||
|
tabufline = {
|
||
|
enabled = false,
|
||
|
},
|
||
|
}
|
||
|
|
||
|
M.plugins = "custom.plugins"
|
||
|
|
||
|
M.mappings = require "custom.mappings"
|
||
|
|
||
|
-- M.options = require "custom.options"
|
||
|
local opt = vim.opt
|
||
|
local api = vim.api
|
||
|
-- line numbers
|
||
|
opt.number = true
|
||
|
|
||
|
-- tabs & indentation
|
||
|
opt.tabstop = 4
|
||
|
opt.shiftwidth = 4
|
||
|
opt.expandtab = true
|
||
|
opt.smartindent = true
|
||
|
opt.autoindent = true
|
||
|
opt.cindent = true
|
||
|
opt.softtabstop = 4
|
||
|
|
||
|
-- lne wrapping
|
||
|
opt.wrap = false
|
||
|
|
||
|
-- search settings
|
||
|
opt.ignorecase = true
|
||
|
opt.smartcase = true
|
||
|
|
||
|
-- cursor line
|
||
|
opt.cursorline = true
|
||
|
|
||
|
-- backspace
|
||
|
opt.backspace = "indent,eol,start"
|
||
|
|
||
|
-- autoread
|
||
|
opt.autoread = true
|
||
|
-- Function to set autocmd
|
||
|
local function set_autocmd(event, pattern, command)
|
||
|
vim.cmd(string.format("autocmd %s %s %s", event, pattern, command))
|
||
|
end
|
||
|
|
||
|
-- Trigger 'checktime' on 'CursorHold' event
|
||
|
set_autocmd("CursorHold", "*", "checktime")
|
||
|
|
||
|
-- Show trailing whitespace
|
||
|
api.nvim_set_option("list", true)
|
||
|
api.nvim_set_option("listchars", "eol:$,nbsp:_,tab:>-,trail:~,extends:>,precedes:<")
|
||
|
|
||
|
-- remove whitespace on save
|
||
|
api.nvim_create_autocmd({ "BufWritePre" }, {
|
||
|
pattern = { "*" },
|
||
|
command = [[if &filetype !~# 'lsp' | %s/\s\+$//e | endif]],
|
||
|
})
|
||
|
|
||
|
return M
|