mirror of
https://github.com/elkowar/dots-of-war.git
synced 2024-11-06 03:12:24 +00:00
() for days!
This commit is contained in:
parent
7256f19a47
commit
32cee319fb
12 changed files with 169 additions and 273 deletions
|
@ -2,6 +2,7 @@
|
|||
{autoload {utils utils
|
||||
nvim aniseed.nvim
|
||||
a aniseed.core
|
||||
str aniseed.string
|
||||
fennel aniseed.fennel
|
||||
colors colors}
|
||||
require-macros [macros]})
|
||||
|
@ -14,8 +15,63 @@
|
|||
(make-errors-epic (require "plugins.lsp"))
|
||||
(make-errors-epic (require "keybinds"))
|
||||
|
||||
; Basic setup --------------------------------------- foldstart
|
||||
|
||||
(set vim.g.conjure#client#fennel#aniseed#aniseed_module_prefix "aniseed.")
|
||||
(vim-let mapleader "\\<Space>")
|
||||
(vim-let maplocalleader ",")
|
||||
|
||||
(vim.cmd "filetype plugin indent on")
|
||||
(vim.cmd "syntax on")
|
||||
|
||||
(set vim.o.showmode false)
|
||||
(set vim.o.foldmethod "marker")
|
||||
(set vim.o.undodir "~/.vim/undo-dir")
|
||||
(set vim.o.undofile true)
|
||||
(set vim.o.shortmess (.. vim.o.shortmess "c")) ; Don't give completion messages like 'match 1 of 2' or 'The only match'
|
||||
(set vim.o.hidden true)
|
||||
(set vim.o.encoding "utf-8")
|
||||
(set vim.o.number false)
|
||||
(set vim.o.relativenumber false)
|
||||
(set vim.o.compatible false)
|
||||
(set vim.o.cursorline true)
|
||||
(set vim.o.incsearch true)
|
||||
(set vim.o.hlsearch true)
|
||||
(set vim.o.inccommand "nosplit")
|
||||
(set vim.o.signcolumn "yes")
|
||||
(set vim.o.shiftwidth 2)
|
||||
(set vim.o.tabstop 2)
|
||||
(set vim.o.backspace "indent,eol,start")
|
||||
(set vim.o.autoindent true)
|
||||
(set vim.o.smartindent true)
|
||||
(set vim.o.expandtab true)
|
||||
(set vim.o.wrap false)
|
||||
(set vim.o.completeopt "longest,menuone,noselect")
|
||||
(set vim.o.laststatus 2)
|
||||
(set vim.o.showmode true)
|
||||
(set vim.o.splitbelow true)
|
||||
(set vim.o.splitright true)
|
||||
(set vim.o.mouse "a")
|
||||
(set vim.o.shell "bash")
|
||||
(set vim.o.background "dark")
|
||||
|
||||
(when (vim.fn.has "termguicolors")
|
||||
(set vim.o.termguicolors true))
|
||||
|
||||
(when (not (vim.fn.has "gui_running"))
|
||||
(set vim.o.t_Co 256))
|
||||
|
||||
(vim.cmd "colorscheme gruvbox")
|
||||
(vim-let &t_ut "")
|
||||
|
||||
(vim.cmd "autocmd! BufReadPost *.hs :set shiftwidth=2)")
|
||||
(vim.cmd "autocmd! FileType vim setlocal foldmethod=marker")
|
||||
|
||||
;Disables automatic commenting on newline)
|
||||
(vim.cmd "autocmd! FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o")
|
||||
; Auto-close quickfix list when element is selected)
|
||||
(vim.cmd "autocmd! FileType qf nnoremap <buffer> <CR> <CR>:cclose<CR>")
|
||||
|
||||
; foldend
|
||||
|
||||
; Colors ------------------------------------------------------- foldstart
|
||||
|
||||
|
@ -23,13 +79,35 @@
|
|||
["GruvboxBlueSign" "GruvboxAquaSign" "GruvboxRedSign" "GruvboxYellowSign" "GruvboxGreenSign" "GruvboxOrangeSign" "GruvboxPurpleSign"]
|
||||
{:bg "NONE"})
|
||||
|
||||
; hide empty line ~'s
|
||||
(utils.highlight :EndOfBuffer {:bg "NONE" :fg colors.dark0})
|
||||
|
||||
(utils.highlight :LineNr {:bg "NONE"})
|
||||
(utils.highlight-add :Pmenu {:bg colors.dark0_hard})
|
||||
(utils.highlight-add :PmenuSel {:bg colors.bright_aqua})
|
||||
(utils.highlight-add :PmenuSbar {:bg colors.dark0_hard})
|
||||
(utils.highlight-add :PmenuThumb {:bg colors.dark1})
|
||||
(utils.highlight-add :NormalFloat {:bg colors.dark0_hard})
|
||||
(utils.highlight-add :SignColumn {:bg colors.dark0})
|
||||
|
||||
(vim.cmd "highlight link Function GruvboxGreen")
|
||||
|
||||
|
||||
; foldend
|
||||
|
||||
; Plugin config ----------------------- foldstart
|
||||
|
||||
;(nvim-biscuits.setup {}
|
||||
;{ :on_events ["InsertLeave" "CursorHoldI"]})
|
||||
(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"])
|
||||
|
||||
; foldend
|
||||
|
||||
; :: and _ as space ------------------------------------------------------------------- foldstart
|
||||
(var remapped-space nil)
|
||||
|
@ -40,10 +118,10 @@
|
|||
|
||||
(fn _G.UnbindSpaceStuff []
|
||||
(when (and remapped-space (~= remapped-space {}))
|
||||
(utils.del-keymap :i :<Space> true)
|
||||
(when (~= remapped-space.old "")
|
||||
(utils.keymap :i :<Space> remapped-space.old {:buffer true}))
|
||||
(set remapped-space nil)))
|
||||
(utils.del-keymap :i :<Space> true)
|
||||
(when (~= remapped-space.old "")
|
||||
(utils.keymap :i :<Space> remapped-space.old {:buffer true}))
|
||||
(set remapped-space nil)))
|
||||
|
||||
|
||||
|
||||
|
@ -56,5 +134,21 @@
|
|||
|
||||
; foldend
|
||||
|
||||
; :: autoclose empty unnamed buffers ----------------------------------------------- foldstart
|
||||
|
||||
; vim:foldmarker=foldstart,foldend
|
||||
(fn _G.clean_no_name_empty_buffers []
|
||||
(let [bufs (a.filter #(and (vim.api.nvim_buf_get_option $1 "buflisted")
|
||||
(a.empty? (vim.fn.bufname $1))
|
||||
(< (vim.fn.bufwinnr $1) 0)
|
||||
(if (vim.api.nvim_buf_is_loaded $1)
|
||||
(a.empty? (vim.api.nvim_buf_get_lines $1 0 -1 false))
|
||||
false))
|
||||
(vim.fn.range 1 (vim.api.nvim_buf_get_number "$")))]
|
||||
(when (not (a.empty? bufs))
|
||||
(nvim.command (.. "bd " (str.join " " bufs))))))
|
||||
|
||||
(nvim.command "autocmd! BufCreate * :call v:lua.clean_no_name_empty_buffers()")
|
||||
|
||||
; foldend
|
||||
|
||||
; vim:foldmarker=foldstart,foldend
|
||||
|
|
|
@ -13,10 +13,19 @@
|
|||
(utils.keymap :i :<esc> "compe#close('<esc>')" {:expr true})
|
||||
|
||||
|
||||
(utils.keymap :n :<C-p> "<cmd>Telescope find_files<cr>")
|
||||
(utils.keymap [:n] :<C-p> "<cmd>Telescope find_files<cr>")
|
||||
(utils.keymap :n :K "<Nop>")
|
||||
(utils.keymap :v :K "<Nop>")
|
||||
|
||||
|
||||
|
||||
; TODO let's see if i want these
|
||||
; (utils.keymap :n :<C-h> "<C-w><C-h>")
|
||||
; (utils.keymap :n :<C-j> "<C-w><C-j>")
|
||||
; (utils.keymap :n :<C-k> "<C-w><C-k>")
|
||||
; (utils.keymap :n :<C-l> "<C-w><C-l>")
|
||||
|
||||
|
||||
(fn cmd [s desc] [(.. "<cmd>" s "<cr>") desc])
|
||||
(fn rebind [s desc] [s desc])
|
||||
|
||||
|
|
|
@ -30,6 +30,11 @@
|
|||
(let ,mappings ,...)
|
||||
(print (.. "plugin disabled " `,(tostring name)))))
|
||||
|
||||
:vim-let
|
||||
(fn [field value]
|
||||
(let [text (.. "let " `,(tostring field) "=\"" value "\"")]
|
||||
`(vim.cmd ,text)))
|
||||
|
||||
:each-pair
|
||||
(fn [args ...]
|
||||
(let [[l# r# d#] args]
|
||||
|
|
|
@ -5,10 +5,11 @@
|
|||
:nvim-telescope/telescope.nvim {:mod "plugins.telescope"
|
||||
:requires [:nvim-lua/popup.nvim :nvim-lua/plenary.nvim]}
|
||||
|
||||
:p00f/nvim-ts-rainbow {:mod "plugins.treesitter"}
|
||||
:p00f/nvim-ts-rainbow {}
|
||||
:romgrk/nvim-treesitter-context {}
|
||||
:JoosepAlviste/nvim-ts-context-commentstring {}
|
||||
:nvim-treesitter/nvim-treesitter {:run ":TSUpdate"}
|
||||
:nvim-treesitter/nvim-treesitter {:mod "plugins.treesitter"
|
||||
:run ":TSUpdate"}
|
||||
|
||||
; :code-biscuits/nvim-biscuits {} ; show opening line after closing curly
|
||||
|
||||
|
@ -50,7 +51,6 @@
|
|||
:mg979/vim-visual-multi {}
|
||||
:hauleth/sad.vim {} ; Use siw instead of ciw. when using . afterwards, will find the next occurrence of the changed word and change it too
|
||||
:wellle/targets.vim {} ; more text objects. IE: cin (change in next parens). generally better handling of surrounding objects.
|
||||
:unblevable/quick-scope {} ; highlight targets when pressing f<character>
|
||||
|
||||
:iamcco/markdown-preview.nvim {:run vim.fn.mkdp#util#install}
|
||||
|
||||
|
@ -67,9 +67,9 @@
|
|||
:tami5/compe-conjure {}
|
||||
|
||||
:machakann/vim-highlightedyank {}
|
||||
:ciaranm/detectindent {}
|
||||
:ciaranm/detectindent {:mod "plugins.detect-indent"}
|
||||
:pechorin/any-jump.vim {}
|
||||
:justinmk/vim-sneak {}
|
||||
:justinmk/vim-sneak {:mod "plugins.sneak"}
|
||||
:psliwka/vim-smoothie {}
|
||||
:editorconfig/editorconfig-vim {}
|
||||
:honza/vim-snippets {}
|
||||
|
@ -90,7 +90,7 @@
|
|||
:sheerun/vim-polyglot {} ; Syntax highlighting for most languages
|
||||
:HerringtonDarkholme/yats.vim {} ; typescript syntax highlighting
|
||||
:mxw/vim-jsx {}
|
||||
;:mattn/emmet-vim {}
|
||||
:mattn/emmet-vim {:mod "plugins.emmet"}
|
||||
|
||||
:purescript-contrib/purescript-vim {}
|
||||
|
||||
|
|
6
files/.config/nvim/fnl/plugins/detect-indent.fnl
Normal file
6
files/.config/nvim/fnl/plugins/detect-indent.fnl
Normal file
|
@ -0,0 +1,6 @@
|
|||
(module plugins.detect-indent)
|
||||
|
||||
(vim.cmd "autocmd! BufReadPost * :DetectIndent")
|
||||
(set vim.g.detectindent_preferred_expandtab 1)
|
||||
(set vim.g.detectindent_preferred_indent 2)
|
||||
|
7
files/.config/nvim/fnl/plugins/emmet.fnl
Normal file
7
files/.config/nvim/fnl/plugins/emmet.fnl
Normal file
|
@ -0,0 +1,7 @@
|
|||
(module plugins.emmet)
|
||||
|
||||
(set vim.g.user_emmet_mode "n")
|
||||
(set vim.g.user_emmet_leader_key "<leader>e")
|
||||
(set vim.g.user_emmet_settings {:javascript.jsx {:extends "jsx"}
|
||||
:typescript.jsx {:extends "jsx"}})
|
||||
|
|
@ -12,9 +12,13 @@
|
|||
:changedelete {:text "▍"}}
|
||||
:keymaps {:noremap true
|
||||
:buffer true}
|
||||
:current_line_blame true
|
||||
:current_line_blame false
|
||||
:update_debounce 100})
|
||||
|
||||
(utils.highlight "GitSignsAdd" {:bg "NONE" :fg colors.bright_aqua})
|
||||
(utils.highlight "GitSignsDelete" {:bg "NONE" :fg colors.neutral_red})
|
||||
(utils.highlight "GitSignsChange" {:bg "NONE" :fg colors.bright_blue})
|
||||
|
||||
; this no work, but https://github.com/lewis6991/gitsigns.nvim/blob/d89f88384567afc7a72b597e130008126fdb97f7/teal/gitsigns/highlight.tl#L19
|
||||
; REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
|
||||
; (utils.highlight "GitSignsCurrentLineBlame" {:bg "NONE" :fg colors.dark0_soft})
|
||||
|
|
|
@ -6,9 +6,8 @@
|
|||
|
||||
require-macros [macros]})
|
||||
|
||||
|
||||
(fn on_attach [client bufnr]
|
||||
(pkg lsp-signature.nvim [lsp_signature (require "lsp_signature")]
|
||||
(pkg lsp_signature.nvim [lsp_signature (require "lsp_signature")]
|
||||
(lsp_signature.on_attach))
|
||||
|
||||
(if client.resolved_capabilities.document_highlight
|
||||
|
|
7
files/.config/nvim/fnl/plugins/sneak.fnl
Normal file
7
files/.config/nvim/fnl/plugins/sneak.fnl
Normal file
|
@ -0,0 +1,7 @@
|
|||
(module plugins.sneak
|
||||
{autoload {utils utils}})
|
||||
|
||||
|
||||
(set vim.g.sneak#label 1)
|
||||
(utils.keymap [:n :o] :<DEL> "<Plug>Sneak_s" {:noremap false})
|
||||
(utils.keymap [:n :o] :<S-DEL> "<Plug>Sneak_s" {:noremap false})
|
|
@ -3,8 +3,6 @@
|
|||
telescope telescope
|
||||
actions telescope.actions}})
|
||||
|
||||
(telescope.setup
|
||||
{:defaults
|
||||
{:i { "<esc>" actions.close}}})
|
||||
(telescope.setup {})
|
||||
|
||||
(utils.keymap :n :<C-p> ":Telescope find_files<CR>")
|
||||
|
|
|
@ -14,6 +14,9 @@
|
|||
(a.println (fennel.view x))
|
||||
x)
|
||||
|
||||
(defn single-to-list [x]
|
||||
"Returns the list given to it. If given a single value, wraps it in a list"
|
||||
(if (a.table? x) x [x]))
|
||||
|
||||
(defn contains? [list elem]
|
||||
(or (a.some #(= elem $1) list)) false)
|
||||
|
@ -26,16 +29,19 @@
|
|||
(defn without-keys [keys t]
|
||||
(filter-table #(not (contains? keys $1)) t))
|
||||
|
||||
(defn keymap [mode from to ?opts]
|
||||
"Set a mapping in the given mode, and some optional parameters, defaulting to {:noremap true :silent true}.
|
||||
|
||||
(defn keymap [modes from to ?opts]
|
||||
"Set a mapping in the given modes, and some optional parameters, defaulting to {:noremap true :silent true}.
|
||||
If :buffer is set, uses buf_set_keymap rather than set_keymap"
|
||||
(local full-opts
|
||||
(->> (or ?opts {})
|
||||
(a.merge {:noremap true :silent true})
|
||||
(without-keys [:buffer])))
|
||||
(if (and ?opts (?. ?opts :buffer))
|
||||
(nvim.buf_set_keymap 0 mode from to full-opts)
|
||||
(nvim.set_keymap mode from to full-opts)))
|
||||
(a.println (fennel.view modes))
|
||||
(each [_ mode (ipairs (single-to-list modes))]
|
||||
(nvim.buf_set_keymap 0 mode from to full-opts)
|
||||
(nvim.set_keymap mode from to full-opts))))
|
||||
|
||||
(defn del-keymap [mode from ?buf-local]
|
||||
"Remove a keymap. Arguments: mode, mapping, bool if mapping should be buffer-local."
|
||||
|
@ -43,7 +49,6 @@
|
|||
(nvim.buf_del_keymap 0 mode from)
|
||||
(nvim.del_keymap mode from)))
|
||||
|
||||
|
||||
(defn- safe-require-plugin-config [name]
|
||||
(xpcall
|
||||
#(require name)
|
||||
|
@ -70,20 +75,18 @@
|
|||
|
||||
(defn highlight [group-arg colset]
|
||||
(let [default { :fg "NONE" :bg "NONE" :gui "NONE"}
|
||||
opts (a.merge default colset)
|
||||
hl-groups (if (a.string? group-arg) [group-arg] group-arg)]
|
||||
(each [_ group (ipairs hl-groups)]
|
||||
opts (a.merge default colset)]
|
||||
(each [_ group (ipairs (single-to-list group-arg))]
|
||||
(nvim.command (.. "hi! "group" guifg='"opts.fg"' guibg='"opts.bg"' gui='"opts.gui"'")))))
|
||||
|
||||
(defn highlight-add [group-arg colset]
|
||||
(let [hl-groups (if (a.string? group-arg) [group-arg] group-arg)]
|
||||
(each [_ group (ipairs hl-groups)]
|
||||
(nvim.command
|
||||
(.. "hi! "
|
||||
group
|
||||
(surround-if-present " guibg='"colset.bg"'")
|
||||
(surround-if-present " guifg='"colset.fg"'")
|
||||
(surround-if-present " gui='"colset.gui"'"))))))
|
||||
(each [_ group (ipairs (single-to-list group-arg))]
|
||||
(nvim.command
|
||||
(.. "hi! "
|
||||
group
|
||||
(surround-if-present " guibg='"colset.bg"'")
|
||||
(surround-if-present " guifg='"colset.fg"'")
|
||||
(surround-if-present " gui='"colset.gui"'")))))
|
||||
|
||||
|
||||
(defn comp [f g]
|
||||
|
|
|
@ -1,11 +1,3 @@
|
|||
" __ _(_)_ __ ___ _ __ ___
|
||||
" \ \ / / | '_ ` _ \| '__/ __|
|
||||
" \ V /| | | | | | | | | (__
|
||||
" \_/ |_|_| |_| |_|_| \___|
|
||||
|
||||
|
||||
"set runtimepath^=~/coding/tmp/coc.nvim/
|
||||
|
||||
let g:vim_config_root = expand('<sfile>:p:h')
|
||||
let $VIM_ROOT = g:vim_config_root
|
||||
|
||||
|
@ -28,231 +20,3 @@ ensure("Olical", "aniseed")
|
|||
vim.g["aniseed#env"] = { compile = true }
|
||||
EOF
|
||||
|
||||
"luafile $VIM_ROOT/plugins.lua
|
||||
|
||||
if &shell =~# 'fish$'
|
||||
set shell=bash
|
||||
endif
|
||||
|
||||
let mapleader ="\<Space>"
|
||||
|
||||
" ewwwwwwwwwwwwwwwwwwwww
|
||||
let maplocalleader = ','
|
||||
|
||||
"let maplocalleader = 'm'
|
||||
|
||||
|
||||
|
||||
" Vanilla VIM configuration ------------------------------------ {{{
|
||||
|
||||
filetype plugin indent on
|
||||
syntax on
|
||||
|
||||
set noshowmode " mode is already shown in airline
|
||||
set foldmethod=marker
|
||||
set undodir=~/.vim/undo-dir
|
||||
set undofile
|
||||
set shortmess+=c " Don't give completion messages like 'match 1 of 2' or 'The only match'
|
||||
set hidden
|
||||
set encoding=utf-8
|
||||
set nonumber norelativenumber
|
||||
set nocompatible
|
||||
set cursorline
|
||||
set incsearch
|
||||
set hlsearch
|
||||
set inccommand=nosplit
|
||||
set signcolumn=yes
|
||||
|
||||
if (has("termguicolors"))
|
||||
set termguicolors
|
||||
endif
|
||||
|
||||
" Indentation
|
||||
set shiftwidth=2
|
||||
set tabstop=2
|
||||
set backspace=indent,eol,start
|
||||
set autoindent smartindent noet expandtab
|
||||
set nowrap
|
||||
set noshowmode " hide the mode as shown by vim, because the status line does it better!
|
||||
|
||||
set completeopt=longest,menuone,noselect " Enable autocompletion
|
||||
set laststatus=2
|
||||
set noshowmode
|
||||
|
||||
|
||||
|
||||
set background=dark
|
||||
colorscheme gruvbox
|
||||
let g:onedark_terminal_italics=1
|
||||
hi LineNr ctermbg=NONE guibg=NONE
|
||||
hi Comment cterm=italic
|
||||
let &t_ut=''
|
||||
|
||||
|
||||
|
||||
" hide empty line ~'s
|
||||
highlight EndOfBuffer ctermfg=black ctermbg=black guibg=NONE guifg='#282828'
|
||||
|
||||
|
||||
hi Pmenu ctermbg=black guibg='#1d2021'
|
||||
hi PmenuSel guibg='#8ec07c'
|
||||
hi PmenuSbar guibg='#1d2021'
|
||||
hi PmenuThumb guibg='#3c3836'
|
||||
|
||||
hi WhichKeyFloating ctermbg=black guibg='#282828'
|
||||
|
||||
hi NormalFloat ctermbg=black guibg='#1d2021'
|
||||
hi SignColumn ctermbg=NONE guibg='#282828'
|
||||
hi link Function GruvboxGreen
|
||||
|
||||
|
||||
if !has("nvim")
|
||||
set term=xterm-256color
|
||||
endif
|
||||
|
||||
" Clipboard support in WSL
|
||||
func! GetSelectedText()
|
||||
normal gv"xy
|
||||
let result = getreg("x")
|
||||
return result
|
||||
endfunc
|
||||
|
||||
if !has("clipboard") && executable("clip.exe")
|
||||
vnoremap <C-C> :call system('clip.exe', GetSelectedText())<CR>
|
||||
vnoremap <C-X> :call system('clip.exe', GetSelectedText())<CR>gvx
|
||||
endif
|
||||
|
||||
|
||||
" Mouse config
|
||||
set mouse=a
|
||||
if !has("nvim")
|
||||
if has("mouse_sgr")
|
||||
set ttymouse=sgr
|
||||
else
|
||||
set ttymouse=xterm2
|
||||
end
|
||||
end
|
||||
|
||||
if !has('gui_running')
|
||||
set t_Co=256
|
||||
endif
|
||||
|
||||
augroup basics
|
||||
autocmd!
|
||||
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o "Disables automatic commenting on newline:
|
||||
autocmd FileType vim setlocal foldmethod=marker
|
||||
|
||||
" file type assignments
|
||||
autocmd BufRead,BufNewFile *.ddl setlocal filetype=sql
|
||||
|
||||
|
||||
" Auto-close quickfix list when element
|
||||
autocmd FileType qf nnoremap <buffer> <CR> <CR>:cclose<CR>
|
||||
|
||||
augroup END
|
||||
|
||||
|
||||
|
||||
" autoclose empty unedited buffers
|
||||
function! CleanNoNameEmptyBuffers()
|
||||
let buffers = filter(range(1, bufnr('$')), 'buflisted(v:val) && empty(bufname(v:val)) && bufwinnr(v:val) < 0 && (getbufline(v:val, 1, "$") == [""])')
|
||||
if !empty(buffers)
|
||||
exe 'bd '.join(buffers, ' ')
|
||||
else
|
||||
echo 'No buffer deleted'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
autocmd BufCreate * execute 'call CleanNoNameEmptyBuffers()'
|
||||
|
||||
" this nearly works, and does the same
|
||||
|
||||
" ; autoclose empty unedited buffers
|
||||
" (fn _G.clean_no_name_empty_buffers []
|
||||
" (local bufs
|
||||
" (a.filter
|
||||
" #(and
|
||||
" (vim.api.nvim_buf_get_option $1 "buflisted")
|
||||
" (a.empty? (vim.fn.bufname $1))
|
||||
" (< (vim.fn.bufwinnr $1) 0)
|
||||
" (vim.api.nvim_buf_is_loaded $1))
|
||||
" ;(do (utils.dbg (.. (fennel.view $1) " -> " (fennel.view (vim.api.nvim_buf_is_loaded $1))) true)))
|
||||
" ;(a.empty? (vim.api.nvim_buf_get_lines $1 1 (vim.api.nvim_buf_line_count $1) false)))
|
||||
" (vim.fn.range 1 (vim.fn.bufnr "$"))))
|
||||
" (when (not (a.empty? bufs))
|
||||
" (nvim.command (.. "bd " (str.join " " bufs)))))
|
||||
"
|
||||
" (nvim.command "autocmd! BufCreate * :call v:lua.clean_no_name_empty_buffers()")
|
||||
"
|
||||
" ; autocmd BufCreate * execute 'call CleanNoNameEmptyBuffers()'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
" ===============
|
||||
" Basic remapping
|
||||
" ===============
|
||||
|
||||
" Split configs
|
||||
nnoremap <C-J> <C-W><C-J>
|
||||
nnoremap <C-K> <C-W><C-K>
|
||||
nnoremap <C-L> <C-W><C-L>
|
||||
nnoremap <C-H> <C-W><C-H>
|
||||
set splitbelow splitright
|
||||
|
||||
" Buffer switching
|
||||
"noremap <silent> <leader>l :bnext<CR>
|
||||
"noremap <silent> <leader>h :bprevious<CR>
|
||||
|
||||
" Disable default K mapping (would open man page of hovered word)
|
||||
nnoremap K <Nop>
|
||||
vnoremap K <Nop>
|
||||
|
||||
|
||||
" }}}
|
||||
|
||||
" Plugin configuration --------------------------------------------------- {{{
|
||||
|
||||
let g:VM_leader = 'm'
|
||||
|
||||
autocmd BufReadPost * :DetectIndent
|
||||
let g:detectindent_preferred_expandtab = 1
|
||||
let g:detectindent_preferred_indent = 2
|
||||
|
||||
autocmd BufReadPost *.hs :set shiftwidth=2
|
||||
|
||||
let g:vim_parinfer_filetypes = ['carp', 'fennel']
|
||||
|
||||
|
||||
let g:sneak#label = 1
|
||||
nmap <DEL> <Plug>Sneak_s
|
||||
nmap <S-DEL> <Plug>Sneak_S
|
||||
omap <DEL> <Plug>Sneak_s
|
||||
omap <S-DEL> <Plug>Sneak_S
|
||||
|
||||
|
||||
let g:rust_clip_command = 'xclip -selection clipboard'
|
||||
let g:rustfmt_autosave = 1
|
||||
|
||||
let g:user_emmet_leader_key='<leader>e'
|
||||
let g:user_emmet_settings = { 'javascript.jsx' : { 'extends' : 'jsx' }, 'typescript.jsx' : { 'extends' : 'jsx' } }
|
||||
|
||||
let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']
|
||||
let g:qs_lazy_highlight = 1
|
||||
|
||||
" }}}
|
||||
|
||||
" }}}
|
||||
|
||||
|
||||
" how 2 highlight group at cursor
|
||||
":exe 'hi '.synIDattr(synID(line("."), col("."), 0),"name")
|
||||
|
||||
"source $VIM_ROOT/whichkeyConfig.vim
|
||||
|
||||
let g:aniseed#env = v:true
|
||||
"let g:aniseed#env = { "compile": v:false }
|
||||
|
||||
"let g:lexima_no_default_rules = v:true
|
||||
"call lexima#set_default_rules()
|
||||
|
|
Loading…
Reference in a new issue