summaryrefslogtreecommitdiff
path: root/fnl/settings/options.fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl/settings/options.fnl')
-rw-r--r--fnl/settings/options.fnl80
1 files changed, 80 insertions, 0 deletions
diff --git a/fnl/settings/options.fnl b/fnl/settings/options.fnl
new file mode 100644
index 0000000..f49867e
--- /dev/null
+++ b/fnl/settings/options.fnl
@@ -0,0 +1,80 @@
+;; 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
+ })
+
+(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)