summaryrefslogtreecommitdiff
path: root/dot-config/nvim/init.lua
blob: 3fe7c823faa240a91967c8e76b4f40b081dc689b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
-- Settings
local set = vim.o

set.et = true
set.sw = 4
set.sts = -1
set.ts = 4
set.nu = true
set.signcolumn = "yes"
set.updatetime = 1000
set.ignorecase = true
set.smartcase = true
set.backup = false
set.undodir = vim.fn.stdpath("data") .. "/undodir"
set.undofile = true
set.splitright = true
set.splitbelow = true
set.breakindent = true
set.termguicolors = true
set.linebreak = true

vim.g.omni_sql_no_default_maps = 1337
-- vim.g.asmsyntax = "nasm"

vim.api.nvim_create_autocmd("TermOpen", {
    group = vim.api.nvim_create_augroup("TermNoNumbers", {}),
    command = "setlocal nonu nornu signcolumn=no"
})

vim.api.nvim_create_autocmd("TextYankPost", {
    group = vim.api.nvim_create_augroup("HighlightYank", {}),
    callback = function() vim.highlight.on_yank() end,
})

vim.filetype.add({
    filename = {
        ["compose.yaml"] = "yaml.docker-compose",
        ["docker-compose.yaml"] = "yaml.docker-compose",
    },
    extension = {
        templ = "templ",
        typ = "typst",
    }
})

vim.diagnostic.config({
    virtual_text = true,
    virtual_lines = { current_line = true },
})

-- Keymaps
for _, mod in ipairs({
    function(x) return x end,
    function(x) return "<c-w>" .. x end,
    function(x) return "<c-w><c-" .. x .. ">" end,
    function(x) return string.upper(x) end,
}) do
    vim.keymap.set("", mod("n"), mod("j"))
    vim.keymap.set("", mod("e"), mod("k"))
    vim.keymap.set("", mod("k"), mod("n"))
    vim.keymap.set("", mod("j"), mod("e"))
end

vim.g.mapleader = " "
vim.keymap.set("n", "gp", vim.cmd.bp)
vim.keymap.set("n", "gn", vim.cmd.bn)
vim.keymap.set("n", "<leader>h", function() set.hls = not set.hls end)
vim.keymap.set("n", "<space>", "<nop>", { silent = true })