summaryrefslogtreecommitdiff
path: root/fnl/settings/options.fnl
blob: 2e45cbfadfb8920678f289e4f385e7070266cf7b (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
;; Sets options in neovim
(module settings.options {autoload {nvim aniseed.nvim}})

(def- opts {:backup false
            ;; creates a backup file
            :clipboard :unnamedplus
            ;; allows neovim to access the system clipboard
            :cmdheight 2
            ;; more space in the neovim command line for displaying messages
            :completeopt {:menuone :noselect}
            ;; mostly just for cmp
            :conceallevel 0
            ;; so that `` is visible in markdown files
            :fileencoding :utf-8
            ;; the encoding written to a file
            :hlsearch true
            ;; highlight all matches on previous search pattern
            :ignorecase true
            ;; ignore case in search patterns
            :mouse ""
            ;; disable the mouse to be used in neovim
            :pumheight 10
            ;; pop up menu height
            :showmode false
            ;; we don't need to see things like ;; INSERT ;; anymore
            :showtabline 2
            ;; always show tabs
            :smartcase true
            ;; smart case
            :smartindent true
            ;; make indenting smarter again
            :splitbelow true
            ;; force all horizontal splits to go below current window
            :splitright true
            ;; force all vertical splits to go to the right of current window
            :swapfile false
            ;; creates a swapfile
            :termguicolors true
            ;; set term gui colors (most terminals support this)
            :timeoutlen 1000
            ;; time to wait for a mapped sequence to complete (in milliseconds)
            :undofile true
            ;; enable persistent undo
            :updatetime 300
            ;; faster completion (4000ms default)
            :writebackup false
            ;; if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
            :expandtab true
            ;; convert tabs to spaces
            :shiftwidth 2
            ;; the number of spaces inserted for each indentation
            :tabstop 2
            ;; insert 2 spaces for a tab
            :cursorline true
            ;; highlight the current line
            :number true
            ;; set numbered lines
            :relativenumber true
            ;; set relative numbered lines
            :numberwidth 4
            ;; set number column width to 2 {default 4}
            :signcolumn :yes
            ;; always show the sign column, otherwise it would shift the text each time
            :wrap false
            ;; display lines as one long line
            :scrolloff 8
            ;; is one of my fav
            :sidescrolloff 8
            :guifont "monospace:h17"
            ;; the font used in graphical neovim applications
            :colorcolumn 80
            })

(defn- apply-opts [] (each [k v (pairs opts)]
                       (tset vim.opt k v)))

(apply-opts)
(vim.cmd "set whichwrap+=<,>,[,],h,l")
(vim.cmd "set iskeyword+=-")
(vim.cmd "set formatoptions-=cro")
(nvim.ex.set :shortmess+=c)