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

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

(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")
(vim.cmd "set colorcolumn=80")
(nvim.ex.set :shortmess+=c)