summaryrefslogtreecommitdiff
path: root/lua/config/set.lua
blob: e9212340e6b5b0747c8c08dec3e139818fb34737 (plain)
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
local opt = vim.opt

-- Don't highlight on search
opt.hlsearch = false
opt.incsearch = true
opt.conceallevel = 2

-- Enable line numbers by default
opt.number = true
opt.relativenumber = true

-- Tab settings
opt.tabstop = 4
opt.softtabstop = 4
opt.shiftwidth = 4
opt.expandtab = true

-- Enable smart indenting
opt.smartindent = true

-- Enable break indent
opt.breakindent = true

local home = os.getenv("HOME")
-- History settings
opt.undofile = true
opt.swapfile = true
opt.backup = true
opt.writebackup = true
opt.undodir = home .. "/.local/state/nvim"
-- https://stackoverflow.com/a/1625850
opt.backupdir = home .. "/.local/share/Trash/nvim//,."
opt.directory = home .. "/.local/share/Trash/nvim//,."

-- Case-insensitive searching UNLESS \C or capital in search
opt.ignorecase = true
opt.smartcase = true

-- Decrease update time
opt.updatetime = 50
opt.timeoutlen = 300

-- Set completeopt to have a better completion experience
opt.completeopt = "menuone,noselect"

-- Enable true color support
opt.termguicolors = true

-- Enable scroll off
opt.scrolloff = 8

-- Don't show mode I'm in, already have a nice status line for that
opt.showmode = false

-- Better split options
opt.splitbelow = true
opt.splitright = true

-- shared clipboard
opt.clipboard = "unnamed"
-- do not highlight matched bracket
opt.showmatch = false
-- highlight line at cursor
opt.cursorline = true
opt.textwidth = 100
-- opt.colorcolumn = "102"

-- status line
-- show ruler
opt.ruler = true
-- show command
opt.showcmd = true

opt.wildmenu = true

opt.mouse = ""

opt.backspace = "indent,eol,start"

opt.laststatus = 2
opt.history = 200
-- opt.encoding = "utf-8"
-- opt.fileencoding = "utf-8"

opt.smartindent = true
opt.scrolloff = 8

opt.spelllang = "en_us,nl"
opt.formatoptions = "tocqrnj"

-- Get the current working directory, replace the $HOME portion of the path with ~,
-- and extract the last three directories
local cwd = vim.fn.getcwd():gsub(home, "~")
local last_dirs = string.match(cwd, "[^/]+/[^/]+/[^/]+/?$")
if last_dirs then
	opt.titlestring = last_dirs .. " -> %t"
else
	opt.titlestring = cwd .. " -> %t"
end

opt.title = true

-- Highlighting
vim.cmd("match Todo /\\(TODO\\|FIXME\\):/")

-- TODO: this is some text
vim.cmd("syntax match matchURL /" .. "\\(https\\?\\|ftp\\|magnet\\):\\/\\/[[:alnum:]%\\/_#.-~:]*" .. "/")
vim.cmd("hi matchURL guifg=" .. require("nord.colors").palette.aurora.yellow)