more updates to neovim configuration

pull/2/head
Alpha Chen 3 years ago
parent 5a666f9ed8
commit 31dfdece92

@ -1,36 +1,71 @@
(vim.cmd "colorscheme paramount")
;; clear background
(let [l [:Normal :htmlH1 :htmlH2 :htmlH3 :htmlH4 :htmlH5 :htmlH6]]
(each [_ v (ipairs l)]
(vim.cmd (.. "highlight " v " ctermbg=None"))))
(set vim.opt.list true)
(set vim.opt.listchars "tab:\\u21e5 ,trail:\\u2423,extends:\\u21c9,precedes:\\u21c7,nbsp:\\u00b7")
(set vim.opt.number true)
(set vim.g.mapleader " ")
(vim.keymap.set :n "\\\\" ":write<cr>" {:noremap true})
(vim.keymap.set :i "\\\\" "<esc>:write<cr>" {:noremap true})
(vim.keymap.set :n "<leader>/" ":nohlsearch<cr>" opts)
(let [opts {:noremap true :silent true}]
(vim.keymap.set :n "<leader>e" vim.diagnostic.open_float opts)
(vim.keymap.set :n "[d" vim.diagnostic.goto_prev opts)
(vim.keymap.set :n "]d" vim.diagnostic.goto_next opts)
(vim.keymap.set :n "<leader>q" vim.diagnostic.setloclist opts))
(fn on_attach [client bufnr]
(vim.api.nvim_buf_set_option bufnr :omnifunc "v:lua.vim.lsp.omnifunc")
(let [bufopts {:noremap true :silent true :buffer bufnr}]
(vim.keymap.set :n "gD" vim.lsp.buf.declaration bufopts)
(vim.keymap.set :n "gd" vim.lsp.buf.definition bufopts)
(vim.keymap.set :n "K" vim.lsp.buf.hover bufopts)
(vim.keymap.set :n "gi" vim.lsp.buf.implementation bufopts)
(vim.keymap.set :n "<C-k>" vim.lsp.buf.signature_help bufopts)
(vim.keymap.set :n "<leader>wa" vim.lsp.buf.add_workspace_folder bufopts)
(vim.keymap.set :n "<leader>wr" vim.lsp.buf.remove_workspace_folder bufopts)
(vim.keymap.set :n "<leader>wl" (fn [] (print (vim.inspect (vim.lsp.buf.list_workspace_folders)))) bufopts)
(vim.keymap.set :n "<leader>D" vim.lsp.buf.type_definition bufopts)
(vim.keymap.set :n "<leader>rn" vim.lsp.buf.rename bufopts)
(vim.keymap.set :n "<leader>ca" vim.lsp.buf.code_action bufopts)
(vim.keymap.set :n "gr" vim.lsp.buf.references bufopts)
(vim.keymap.set :n "<leader>f" vim.lsp.buf.formatting bufopts)))
(vim.keymap.set :n :<leader>/ ":nohlsearch<cr>" opts)
;; restore cursor location
;;
;; https://github.com/vim/vim/blob/master/runtime/defaults.vim#L108
(let [{: nvim_command : nvim_create_autocmd : nvim_create_augroup} vim.api
au-group (nvim_create_augroup :nvim-startup {})
cb (fn []
(when (and
(>= (vim.fn.line "'\"") 1)
(<= (vim.fn.line "'\"") (vim.fn.line "$"))
(not (string.find vim.bo.filetype "commit")))
(nvim_command "normal! g`\"")))]
;; when restoring the cursor, we want to ignore commit filetypes, so
;; we need to manually enable filetype detection to set up those
;; autocommands before creating the autocommand to restore the cursor
;;
;; https://github.com/neovim/neovim/issues/15536#issuecomment-909331778
(nvim_command "filetype plugin indent on")
(nvim_create_autocmd :BufReadPost {:callback cb :group au-group}))
;; ftplugins in fennel
;;
;; https://github.com/rktjmp/hotpot.nvim/discussions/41#discussioncomment-3050564
(let [{: nvim_create_autocmd : nvim_create_augroup} vim.api
au-group (nvim_create_augroup :hotpot-ft {})
cb #(pcall require (.. :ftplugin. (vim.fn.expand :<amatch>)))]
(nvim_create_autocmd :FileType {:callback cb :group au-group}))
;; ale
(set vim.g.ale_fix_on_save 1)
(set vim.g.ale_floating_preview 1)
;; lspconfig
; (let [opts {:noremap true :silent true}]
; (vim.keymap.set :n :<leader>e vim.diagnostic.open_float opts)
; (vim.keymap.set :n "[d" vim.diagnostic.goto_prev opts)
; (vim.keymap.set :n "]d" vim.diagnostic.goto_next opts)
; (vim.keymap.set :n :<leader>q vim.diagnostic.setloclist opts))
; (fn on_attach [client bufnr]
; (vim.api.nvim_buf_set_option bufnr :omnifunc "v:lua.vim.lsp.omnifunc")
; (let [bufopts {:noremap true :silent true :buffer bufnr}]
; (vim.keymap.set :n :gD vim.lsp.buf.declaration bufopts)
; (vim.keymap.set :n :gd vim.lsp.buf.definition bufopts)
; (vim.keymap.set :n :K vim.lsp.buf.hover bufopts)
; (vim.keymap.set :n :gi vim.lsp.buf.implementation bufopts)
; (vim.keymap.set :n :<C-k> vim.lsp.buf.signature_help bufopts)
; (vim.keymap.set :n :<leader>wa vim.lsp.buf.add_workspace_folder bufopts)
; (vim.keymap.set :n :<leader>wr vim.lsp.buf.remove_workspace_folder bufopts)
; (vim.keymap.set :n :<leader>wl
; (fn []
; (print (vim.inspect (vim.lsp.buf.list_workspace_folders))))
; bufopts)
; (vim.keymap.set :n :<leader>D vim.lsp.buf.type_definition bufopts)
; (vim.keymap.set :n :<leader>rn vim.lsp.buf.rename bufopts)
; (vim.keymap.set :n :<leader>ca vim.lsp.buf.code_action bufopts)
; (vim.keymap.set :n :gr vim.lsp.buf.references bufopts)
; (vim.keymap.set :n :<leader>f vim.lsp.buf.formatting bufopts)))

7
.gitmodules vendored

@ -133,8 +133,8 @@
path = .local/share/nvim/site/pack/kejadlen/start/hotpot
url = https://github.com/rktjmp/hotpot.nvim
[submodule ".local/share/nvim/site/pack/kejadlen/start/colorscheme-paramount"]
path = .local/share/nvim/site/pack/kejadlen/start/colorscheme-paramount
url = https://github.com/owickstrom/vim-colors-paramount.git
path = .local/share/nvim/site/pack/kejadlen/start/paramount
url = https://github.com/kejadlen/vim-colors-paramount.git
[submodule ".local/share/nvim/site/pack/kejadlen/start/vim-tmux-navigator"]
path = .local/share/nvim/site/pack/kejadlen/start/tmux-navigator
url = https://github.com/christoomey/vim-tmux-navigator.git
@ -165,3 +165,6 @@
[submodule ".local/share/nvim/site/pack/kejadlen/start/surround"]
path = .local/share/nvim/site/pack/kejadlen/start/surround
url = https://github.com/tpope/vim-surround.git
[submodule ".local/share/nvim/site/pack/kejadlen/start/ale"]
path = .local/share/nvim/site/pack/kejadlen/start/ale
url = https://github.com/dense-analysis/ale.git

@ -1 +0,0 @@
Subproject commit a5601d36fb6932e8d1a6f8b37b179a99b1456798

@ -0,0 +1 @@
Subproject commit b004f06bc49ff3fded75e0d374bc592d6902cf6b
Loading…
Cancel
Save