diff options
Diffstat (limited to 'fnl/settings')
| -rw-r--r-- | fnl/settings/autocmds.fnl | 54 | ||||
| -rw-r--r-- | fnl/settings/options.fnl | 131 |
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) |