mirror of
https://github.com/elkowar/dots-of-war.git
synced 2024-12-27 06:32:23 +00:00
142 lines
4.2 KiB
Fennel
142 lines
4.2 KiB
Fennel
(local {: autoload} (require :nfnl.module))
|
|
(local a (autoload :nfnl.core))
|
|
(local str (autoload :nfnl.string))
|
|
(local utils (autoload :dots.utils))
|
|
(local lazy (require :lazy))
|
|
|
|
(when (vim.fn.has "termguicolors")
|
|
(set vim.opt.termguicolors true))
|
|
|
|
(vim.cmd "let mapleader=\"\\<Space>\"")
|
|
(vim.cmd "let maplocalleader=\",\"")
|
|
|
|
(lazy.setup {:import "dots.plugins" :install {:colorscheme "gruvbox8"}})
|
|
|
|
; (require "impatient")
|
|
|
|
(require "dots.keybinds")
|
|
|
|
; add to runtimepath
|
|
(let [added-paths []]
|
|
(set vim.opt.runtimepath (.. vim.o.runtimepath (str.join "," added-paths))))
|
|
|
|
; Basic setup --------------------------------------- foldstart
|
|
|
|
|
|
(vim.cmd "filetype plugin indent on")
|
|
(vim.cmd "syntax on")
|
|
|
|
(set vim.opt.foldmethod "marker")
|
|
(set vim.opt.scrolloff 5)
|
|
(set vim.opt.showmode false)
|
|
(set vim.opt.undodir (.. vim.env.HOME "/.vim/undo-dir"))
|
|
(set vim.opt.undofile true)
|
|
(set vim.opt.shortmess (.. vim.o.shortmess "c")) ; Don't give completion messages like 'match 1 of 2' or 'The only match'
|
|
(set vim.opt.hidden true)
|
|
(set vim.opt.encoding "utf-8")
|
|
(set vim.opt.number false)
|
|
(set vim.opt.relativenumber false)
|
|
(set vim.opt.compatible false)
|
|
(set vim.opt.cursorline true)
|
|
(set vim.opt.incsearch true)
|
|
(set vim.opt.hlsearch true)
|
|
(set vim.opt.inccommand "nosplit")
|
|
(set vim.opt.signcolumn "yes")
|
|
(set vim.opt.shiftwidth 2)
|
|
(set vim.opt.tabstop 2)
|
|
(set vim.opt.backspace "indent,eol,start")
|
|
(set vim.opt.autoindent true)
|
|
(set vim.opt.smartindent true)
|
|
(set vim.opt.expandtab true)
|
|
(set vim.opt.wrap false)
|
|
(set vim.opt.completeopt "menuone,noselect")
|
|
(set vim.opt.laststatus 2)
|
|
(set vim.opt.splitbelow true)
|
|
(set vim.opt.splitright true)
|
|
(set vim.opt.mouse "a")
|
|
(set vim.opt.shell "bash")
|
|
(set vim.opt.background "dark")
|
|
(set vim.opt.swapfile false)
|
|
(set vim.opt.undolevels 10000)
|
|
(set vim.opt.keywordprg "rusty-man")
|
|
|
|
(set vim.g.AutoPairsMultilineClose 0)
|
|
|
|
(vim.cmd "let &t_ut=\"\"")
|
|
|
|
(set vim.opt.title true)
|
|
(set vim.opt.titlelen 0)
|
|
(set vim.opt.titlestring "%{expand(\"%:p\")} [%{mode()}]")
|
|
|
|
|
|
(vim.api.nvim_create_autocmd "BufWritePost" {:pattern "*.hs" :callback #(set vim.opt.shiftwidth 2)})
|
|
(vim.api.nvim_create_autocmd "FileType" {:pattern "vim" :callback #(set vim.opt_local.foldmethod "marker")})
|
|
|
|
;Disables automatic commenting on newline)
|
|
(vim.api.nvim_create_autocmd "FileType"
|
|
{:pattern "*"
|
|
:callback #(set vim.opt_local.formatoptions (vim.o.formatoptions:gsub "[cor]" ""))})
|
|
|
|
; Auto-close quickfix list when element is selected)
|
|
(vim.api.nvim_create_autocmd "FileType"
|
|
{:pattern "qf"
|
|
:callback #(vim.cmd "nnoremap <buffer> <CR> <CR>:cclose<CR>")})
|
|
(vim.api.nvim_create_autocmd "TextYankPost"
|
|
{:pattern "*"
|
|
:callback #(vim.highlight.on_yank {:higroup "IncSearch" :timeout 300})})
|
|
|
|
|
|
(set vim.g.copilot_filetypes {:TelescopePrompt false})
|
|
|
|
|
|
; foldend
|
|
|
|
; Colors ------------------------------------------------------- foldstart
|
|
|
|
|
|
|
|
|
|
; foldend
|
|
|
|
(vim.diagnostic.config
|
|
{:float {:border "single"
|
|
:style "minimal"}})
|
|
|
|
; Plugin config ----------------------- foldstart
|
|
|
|
|
|
(set vim.g.VM_leader "m") ; visual-multi leader
|
|
|
|
; rust.vim
|
|
(set vim.g.rust_clip_command "xclip -selection clipboard")
|
|
;(set vim.g.rustfmt_autosave 1)
|
|
|
|
(set vim.g.conjure#client#fennel#aniseed#aniseed_module_prefix "aniseed.")
|
|
(set vim.g.vim_parinfer_filetypes ["carp" "fennel" "clojure"])
|
|
(set vim.g.parinfer_additional_filetypes ["yuck"])
|
|
|
|
; foldend
|
|
|
|
|
|
; :: autoclose empty unnamed buffers ----------------------------------------------- foldstart
|
|
|
|
|
|
(fn _G.clean_no_name_empty_buffers []
|
|
(let [bufs (a.filter #(and (a.empty? (vim.fn.bufname $1))
|
|
(< (vim.fn.bufwinnr $1) 0)
|
|
(vim.api.nvim_buf_is_loaded $1)
|
|
(= "" (str.join (utils.buffer-content $1)))
|
|
(vim.api.nvim_buf_get_option $1 "buflisted"))
|
|
(vim.fn.range 1 (vim.fn.bufnr "$")))]
|
|
(when (not (a.empty? bufs))
|
|
(vim.cmd (.. "bdelete " (str.join " " bufs))))))
|
|
|
|
(vim.cmd "autocmd! BufCreate * :call v:lua.clean_no_name_empty_buffers()")
|
|
|
|
; foldend
|
|
|
|
(vim.cmd
|
|
"command! -nargs=1 L :lua print(vim.inspect(<args>))")
|
|
|
|
|
|
; vim:foldmarker=foldstart,foldend
|