summaryrefslogtreecommitdiffstatshomepage
path: root/nvim/lua/options.lua
blob: 6fb959d26e7cc942df70eaeaa715c82d6b96424b (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
local g = vim.g -- global variables
local opt = vim.opt -- vim options
local exec = vim.api.nvim_exec -- execute Vimscript

g.mapleader = ' '

-- set colorscheme
g.vscode_style = "dark"
g.vscode_transparent = 1
g.vscode_italic_comment = 1
g.vscode_disable_nvimtree_bg = true 

vim.cmd('colorscheme vscode') 

g.tex_flavor = "latex";

-- global options
local options = {
  termguicolors = true, -- Enable GUI colors for the terminal to get truecolor
  list = false, -- show whitespace
  listchars = {
    nbsp = '⦸', -- CIRCLED REVERSE SOLIDUS (U+29B8, UTF-8: E2 A6 B8)
    extends = '»', -- RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00BB, UTF-8: C2 BB)
    precedes = '«', -- LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00AB, UTF-8: C2 AB)
    tab = '▷─', -- WHITE RIGHT-POINTING TRIANGLE (U+25B7, UTF-8: E2 96 B7) + BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL (U+2505, UTF-8: E2 94 85)
    trail = '•', -- BULLET (U+2022, UTF-8: E2 80 A2)
    space = ' '
  },
  fillchars = {
    diff = '∙', -- BULLET OPERATOR (U+2219, UTF-8: E2 88 99)
    eob = ' ', -- NO-BREAK SPACE (U+00A0, UTF-8: C2 A0) to suppress ~ at EndOfBuffer
    fold = '·', -- MIDDLE DOT (U+00B7, UTF-8: C2 B7)
    vert = ' ' -- remove ugly vertical lines on window division
  },
  undofile = true,
  undodir = vim.fn.stdpath("config") .. "/undo",
  clipboard = opt.clipboard + "unnamedplus", -- copy & paste
  shortmess = opt.shortmess + "c",
  wrap = false, -- don't automatically wrap on load
  showmatch = true, -- show the matching part of the pair for [] {} and ()
  cursorline = true, -- highlight current line
  number = true, -- show line numbers
  relativenumber = true, -- show relative line number
  incsearch = true, -- incremental search
  hlsearch = true, -- highlighted search results
  ignorecase = true, -- ignore case sensetive while searching
  smartcase = true,
  scrolloff = 1, -- when scrolling, keep cursor 1 lines away from screen border
  sidescrolloff = 2, -- keep 30 columns visible left and right of the cursor at all times
  backspace = 'indent,start,eol', -- make backspace behave like normal again
  mouse = "a", -- turn on mouse interaction
  updatetime = 500, -- CursorHold interval
  expandtab = true,
  softtabstop = 4,
  textwidth = 100,
  shiftwidth = 4, -- spaces per tab (when shifting), when using the >> or << commands, shift lines by 4 spaces
  tabstop = 4, -- spaces per tab
  smarttab = true, -- <tab>/<BS> indent/dedent in leading whitespace
  autoindent = true, -- maintain indent of current line
  shiftround = true,
  splitbelow = true, -- open horizontal splits below current window
  splitright = true, -- open vertical splits to the right of the current window
  laststatus = 2, -- always show status line
  colorcolumn = "100", -- vertical word limit line
  hidden = true, -- allows you to hide buffers with unsaved changes without being prompted
  inccommand = 'split', -- live preview of :s results
  shell = 'zsh', -- shell to use for `!`, `:!`, `system()` etc.
  wildignore = opt.wildignore + '*.o,*.rej,*.so',
  lazyredraw = true,
  completeopt = 'menuone,noselect,noinsert',
}

for k, v in pairs(options) do
  vim.opt[k] = v
end