summaryrefslogtreecommitdiff
path: root/fnl/settings
diff options
context:
space:
mode:
Diffstat (limited to 'fnl/settings')
-rw-r--r--fnl/settings/autocmds.fnl54
-rw-r--r--fnl/settings/options.fnl131
2 files changed, 74 insertions, 111 deletions
diff --git a/fnl/settings/autocmds.fnl b/fnl/settings/autocmds.fnl
index 9b5eac5..2f0a3cd 100644
--- a/fnl/settings/autocmds.fnl
+++ b/fnl/settings/autocmds.fnl
@@ -1,30 +1,30 @@
;; Autocommands for nvim.
-(local auto-cmds [[:FileType
- {:pattern [:qf :help :man :lspinfo]
- :command "nnoremap <silent> <buffer> q :close<CR>"}]
- [:TextYankPost
- {:callback (λ []
- (vim.highlight.on_yank {:higroup :Visual
- :timeout 200}))}]
- [:BufWinEnter {:command "setlocal formatoptions-=cro"}]
- [:FileType {:pattern :qf :command "set nobuflisted"}]
- [:FileType
- {:pattern [:gitcommit :markdown] :command "setlocal wrap"}]
- [:VimResized {:command "tabdo wincmd ="}]
- [[:FocusGained :BufEnter :CursorHold :CursorHoldI]
- {:pattern "*"
- :callback (fn []
- (when (= (vim.fn.mode) :n)
- (vim.cmd :checktime)))}]
- [[:InsertLeave :WinEnter]
- {:callback (λ []
- (let [cursorline (require :settings.cursorline)]
- cursorline.show))}]
- [[:InsertEnter :WinLeave]
- {:callback (λ []
- (let [cursorline (require :settings.cursorline)]
- cursorline.hide))}]])
+(import-macros {: autocmds} :macros)
-(let [{: create-auto-cmds} (require :util.cmds)]
- (create-auto-cmds auto-cmds))
+(autocmds
+ [:FileType
+ {:pattern [:qf :help :man :lspinfo]
+ :command "nnoremap <silent> <buffer> q :close<CR>"}]
+ [:TextYankPost
+ {:callback (λ []
+ (vim.highlight.on_yank {:higroup :Visual
+ :timeout 200}))}]
+ [:BufWinEnter {:command "setlocal formatoptions-=cro"}]
+ [:FileType {:pattern :qf :command "set nobuflisted"}]
+ [:FileType
+ {:pattern [:gitcommit :markdown] :command "setlocal wrap"}]
+ [:VimResized {:command "tabdo wincmd ="}]
+ [[:FocusGained :BufEnter :CursorHold :CursorHoldI]
+ {:pattern "*"
+ :callback (fn []
+ (when (= (vim.fn.mode) :n)
+ (vim.cmd :checktime)))}]
+ [[:InsertLeave :WinEnter]
+ {:callback (λ []
+ (let [cursorline (require :settings.cursorline)]
+ cursorline.show))}]
+ [[:InsertEnter :WinLeave]
+ {:callback (λ []
+ (let [cursorline (require :settings.cursorline)]
+ cursorline.hide))}])
diff --git a/fnl/settings/options.fnl b/fnl/settings/options.fnl
index e7ece5f..a659aae 100644
--- a/fnl/settings/options.fnl
+++ b/fnl/settings/options.fnl
@@ -1,91 +1,54 @@
;; Sets options in neovim
-(local spellfile (.. (os.getenv :XDG_CONFIG_HOME) :/nvim/spell/en.utf-8.add))
+(import-macros {: set-opts} :macros)
-(local 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 1
- ;; 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
- ;; never show tabs
- :showtabline 0
- ;; 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 1000
- ;; 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
- :laststatus 3
- :autoread true
- ;; is one of my fav
- :scrolloff 8
- :sidescrolloff 8
- :colorcolumn :88
- :shortmess :filnxtToOFWIcC
- :spell true
- : spellfile
- :spelllang [:en_us]
- ;; the font used in graphical neovim applications
- :guifont "monospace:h17"
- :splitkeep :screen
- :inccommand :split
- :winborder :single
- :shada ["'10" :<0 :s10 :h]})
+(local spellfile (.. (os.getenv :XDG_CONFIG_HOME) :/nvim/spell/en.utf-8.add))
-(each [k v (pairs opts)]
- (tset vim.opt k v))
+(set-opts {:backup false
+ :clipboard :unnamedplus
+ :cmdheight 1
+ :completeopt {:menuone :noselect}
+ :conceallevel 0
+ :fileencoding :utf-8
+ :hlsearch true
+ :ignorecase true
+ :mouse ""
+ :pumheight 10
+ :showmode false
+ :showtabline 0
+ :smartcase true
+ :smartindent true
+ :splitbelow true
+ :splitright true
+ :swapfile false
+ :termguicolors true
+ :timeoutlen 1000
+ :undofile true
+ :updatetime 1000
+ :writebackup false
+ :expandtab true
+ :shiftwidth 2
+ :tabstop 2
+ :cursorline true
+ :number true
+ :relativenumber true
+ :numberwidth 2
+ :signcolumn :yes
+ :wrap false
+ :laststatus 3
+ :autoread true
+ :scrolloff 8
+ :sidescrolloff 8
+ :colorcolumn :88
+ :shortmess :filnxtToOFWIcC
+ :spell true
+ : spellfile
+ :spelllang [:en_us]
+ :guifont "monospace:h17"
+ :splitkeep :screen
+ :inccommand :split
+ :winborder :single
+ :shada ["'10" :<0 :s10 :h]})
(vim.opt.jumpoptions:append :stack)