Files
nixos/home-modules/explicit-configs/nvim/lua/settings.lua
T

86 lines
2.2 KiB
Lua
Raw Normal View History

vim.opt.iskeyword:append('-')
vim.opt.hidden = true
vim.opt.wrap = false
vim.opt.fileencoding = 'utf-8'
vim.opt.splitbelow = true
vim.opt.splitright = true
vim.opt.conceallevel = 0
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.smartindent = true
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.cursorline = true
vim.opt.showmode = false
vim.opt.backup = false
vim.opt.writebackup = false
vim.opt.signcolumn = 'yes'
vim.opt.updatetime = 300
vim.opt.timeoutlen = 500
2025-05-03 23:42:03 -07:00
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'helm', 'yaml', 'yml' },
callback = function()
vim.opt_local.fixendofline = false
vim.opt_local.list = true
vim.opt_local.listchars:append({ space = '⋅', eol = '↴' })
end,
})
2025-05-03 23:42:03 -07:00
vim.api.nvim_create_autocmd('FileType', {
pattern = 'go',
callback = function()
vim.opt_local.colorcolumn = '80'
vim.opt_local.formatoptions:append({ 'c', 'r' })
end,
})
2025-05-03 23:42:03 -07:00
-- Show full file path in lightline.
vim.cmd([[
let g:lightline = {
\ 'colorscheme' : 'palenight',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ],
\ [ 'gitbranch', 'readonly', 'filename', 'modified' ] ]
\ },
\ 'component_function': {
\ 'filename': 'FilenameForLightline',
\ 'gitbranch': 'gitbranch#name'
\ }
\ }
function! FilenameForLightline()
let root = fnamemodify(get(b:, 'gitbranch_path'), ':h:h')
let path = expand('%:p')
if path[:len(root)-1] ==# root
return path[len(root)+1:]
endif
return expand('%')
endfunction
]])
2026-02-28 01:59:59 -08:00
-- Use upstream zig plugin instead of polyglot.
vim.g.polyglot_disabled = { 'zig' }
2026-02-28 01:59:59 -08:00
-- Prioritize Objective-C
vim.filetype.add({
extension = {
m = 'objc',
},
})
2026-02-23 14:52:41 -08:00
-- Soft line wrapping for markdown.
local markdown_group = vim.api.nvim_create_augroup('MarkdownSpecific', { clear = true })
vim.api.nvim_create_autocmd('FileType', {
pattern = 'markdown',
group = markdown_group,
callback = function()
vim.opt_local.wrap = true
vim.opt_local.linebreak = true
vim.opt_local.textwidth = 0
vim.keymap.set('n', 'j', 'gj', { silent = true, buffer = true })
vim.keymap.set('n', 'k', 'gk', { silent = true, buffer = true })
end,
2026-02-23 14:52:41 -08:00
})