Compare commits
3 Commits
eeb4e44367
...
c7d39fe79c
| Author | SHA1 | Date | |
|---|---|---|---|
| c7d39fe79c | |||
| bf83c416c5 | |||
| 0940219a08 |
201
init.lua
201
init.lua
@@ -12,205 +12,8 @@ require 'keymap'
|
||||
require 'autocmd'
|
||||
require 'lazy_init'
|
||||
|
||||
-- " Run the Code Lens action on the current line
|
||||
-- nmap <leader>cl <Plug>(coc-codelens-action)
|
||||
--
|
||||
-- " Map function and class text objects
|
||||
-- " NOTE: Requires 'textDocument.documentSymbol' support from the language server
|
||||
-- xmap if <Plug>(coc-funcobj-i)
|
||||
-- omap if <Plug>(coc-funcobj-i)
|
||||
-- xmap af <Plug>(coc-funcobj-a)
|
||||
-- omap af <Plug>(coc-funcobj-a)
|
||||
-- xmap ic <Plug>(coc-classobj-i)
|
||||
-- omap ic <Plug>(coc-classobj-i)
|
||||
-- xmap ac <Plug>(coc-classobj-a)
|
||||
-- omap ac <Plug>(coc-classobj-a)
|
||||
--
|
||||
-- " Remap <C-f> and <C-b> to scroll float windows/popups
|
||||
-- " if has('nvim-0.4.0') || has('patch-8.2.0750')
|
||||
-- " nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
|
||||
-- " nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
|
||||
-- " inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>"
|
||||
-- " inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>"
|
||||
-- " vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
|
||||
-- " vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
|
||||
-- " endif
|
||||
--
|
||||
-- " Use CTRL-S for selections ranges
|
||||
-- " Requires 'textDocument/selectionRange' support of language server
|
||||
-- nmap <silent> <C-s> <Plug>(coc-range-select)
|
||||
-- xmap <silent> <C-s> <Plug>(coc-range-select)
|
||||
--
|
||||
-- " Add `:Format` command to format current buffer
|
||||
-- command! -nargs=0 Format :call CocActionAsync('format')
|
||||
--
|
||||
-- " Add `:Fold` command to fold current buffer
|
||||
-- command! -nargs=? Fold :call CocAction('fold', <f-args>)
|
||||
--
|
||||
-- " Add `:OR` command for organize imports of the current buffer
|
||||
-- command! -nargs=0 OR :call CocActionAsync('runCommand', 'editor.action.organizeImport')
|
||||
--
|
||||
-- " Add (Neo)Vim's native statusline support
|
||||
-- " NOTE: Please see `:h coc-status` for integrations with external plugins that
|
||||
-- " provide custom statusline: lightline.vim, vim-airline
|
||||
-- set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
|
||||
--
|
||||
--
|
||||
-- " Mappings for CoCList
|
||||
-- " Show all diagnostics
|
||||
-- nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr>
|
||||
-- " Manage extensions
|
||||
-- nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr>
|
||||
-- " Show commands
|
||||
-- nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr>
|
||||
-- " Find symbol of current document
|
||||
-- nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr>
|
||||
-- " Search workspace symbols
|
||||
-- nnoremap <silent><nowait> <space>s :<C-u>CocList -I symbols<cr>
|
||||
-- " Do default action for next item
|
||||
-- nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR>
|
||||
-- " Do default action for previous item
|
||||
-- nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR>
|
||||
-- " Resume latest coc list
|
||||
-- nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR>
|
||||
--
|
||||
-- " }}}
|
||||
--
|
||||
-- " Emmet --- {{{
|
||||
-- " Toggle emmet completion using <Tab> with <Leader>em
|
||||
-- let g:emmet_completion = 0
|
||||
-- function ToggleEmmet()
|
||||
-- if g:emmet_completion
|
||||
-- echo "Emmet completion off!"
|
||||
-- let g:user_emmet_expandabbr_key=','
|
||||
-- iunmap <Tab>
|
||||
-- let g:emmet_completion = 0
|
||||
-- else
|
||||
-- echo "Emmet completion on!"
|
||||
-- let g:user_emmet_expandabbr_key='<Tab>'
|
||||
-- imap <Expr> <Tab> emmet#expandAbbrIntelligent("\<Tab>")
|
||||
-- let g:emmet_completion = 1
|
||||
-- endif
|
||||
-- endfunction
|
||||
-- nnoremap <Leader>em :call ToggleEmmet()<CR>
|
||||
-- " }}}
|
||||
--
|
||||
-- " Markdown --- {{{
|
||||
-- " Conceal markdown text
|
||||
-- set conceallevel=3
|
||||
-- " }}}
|
||||
--
|
||||
-- " AutoPairs --- {{{
|
||||
-- let g:AutoPairsFlyMode = 0
|
||||
-- let g:AutoPairsShortcutBackInsert = '<M-b>' " Use <M-B> to insert the closing parentheses if it jumped ahead by mistake
|
||||
-- " }}}
|
||||
--
|
||||
-- " CHADTree --- {{{
|
||||
-- let g:chadtree_settings = {
|
||||
-- \ 'theme': {
|
||||
-- \ 'icon_glyph_set': 'devicons',
|
||||
-- \ 'text_colour_set': 'env',
|
||||
-- \ 'icon_colour_set': 'github',
|
||||
-- \ "discrete_colour_map": {
|
||||
-- \ "black": "#21222c",
|
||||
-- \ "red": "#ff5555",
|
||||
-- \ "green": "#50fa7b",
|
||||
-- \ "yellow": "#f1fa8c",
|
||||
-- \ "blue": "#bd93f9",
|
||||
-- \ "magenta": "#ff79c6",
|
||||
-- \ "cyan": "#8be9fd",
|
||||
-- \ "white": "#f8f8f2",
|
||||
-- \ "bright_black": "#6272a4",
|
||||
-- \ "bright_red": "#ff6e6e",
|
||||
-- \ "bright_green": "#69ff94",
|
||||
-- \ "bright_yellow": "#ffffa5",
|
||||
-- \ "bright_blue": "#d6acff",
|
||||
-- \ "bright_magenta": "#ff92df",
|
||||
-- \ "bright_cyan": "#a4ffff",
|
||||
-- \ "bright_white": "#ffffff"
|
||||
-- \ }
|
||||
-- \ }
|
||||
-- \ }
|
||||
-- " }}}
|
||||
--
|
||||
-- " Commentary --- {{{
|
||||
-- " function s:set_commentary_format()
|
||||
-- " echo "running command"
|
||||
-- " if &filetype =~ 'vue\|html\|svelte'
|
||||
-- " if searchpair('<\(script\|style\)', '', '</\(script\|style\)>', 'Wn')
|
||||
-- " let b:commentary_format="// %s"
|
||||
-- " else
|
||||
-- " let b:commentary_format=&commentstring
|
||||
-- " endif
|
||||
-- " endif
|
||||
-- " endfunction
|
||||
--
|
||||
-- " xnoremap gc :call <SID>set_commentary_format()<CR><Plug>Commentary
|
||||
-- " nnoremap gc :call <SID>set_commentary_format()<CR><Plug>Commentary
|
||||
-- " onoremap gc :call <SID>set_commentary_format()<CR><Plug>Commentary
|
||||
-- " nnoremap gcc :call <SID>set_commentary_format()<CR><Plug>Commentary
|
||||
-- " nnoremap cgc :call <SID>set_commentary_format()<CR><Plug>Commentary
|
||||
-- " nnoremap cgu :call <SID>set_commentary_format()<CR><Plug>Commentary<Plug>Commentary
|
||||
-- " }}}
|
||||
--
|
||||
-- " Easymotion --- {{{
|
||||
-- let g:EasyMotion_do_mapping = 0 " Disable default mappings
|
||||
--
|
||||
-- map <Leader> <Plug>(easymotion-prefix)
|
||||
-- " Jump to anywhere you want with minimal keystrokes, with just one key binding.
|
||||
-- " `s{char}{label}
|
||||
-- nmap s <Plug>(easymotion-overwin-f)
|
||||
--
|
||||
-- " Turn on case-insensitive feature
|
||||
-- let g:EasyMotion_smartcase = 1
|
||||
--
|
||||
-- " JK motions: Line motions
|
||||
-- map <Leader>j <Plug>(easymotion-j)
|
||||
-- map <Leader>k <Plug>(easymotion-k)
|
||||
-- " }}}
|
||||
--
|
||||
-- " }}}
|
||||
--
|
||||
-- " PHP --- {{{
|
||||
-- " function! RunPHPUnitTest()
|
||||
-- " cd %:p:h
|
||||
-- " normal! T yw
|
||||
-- " let result = system("phpunit --filter " . @" . " " . bufname("%"))
|
||||
-- " split __PHPUnit_Result__
|
||||
-- " normal! ggdG
|
||||
-- " setlocal buftype=nofile
|
||||
-- " call append(0, split(result, '\v\n'))
|
||||
-- " cd -
|
||||
-- " endfunction
|
||||
--
|
||||
-- " nnoremap <F12> :call RunPHPUnitTest()<cr>
|
||||
-- " }}}
|
||||
--
|
||||
-- " Moving around --- {{{
|
||||
-- "Use capital H and L to move to the start and end of lines
|
||||
-- nnoremap H ^
|
||||
-- nnoremap L $
|
||||
--
|
||||
-- " }}}
|
||||
--
|
||||
-- " Operator mappings --- {{{
|
||||
-- onoremap in( :<C-U>normal! f(vi(<CR>
|
||||
-- onoremap il( :<C-U>normal! F)vi(<CR>
|
||||
-- onoremap an( :<C-U>normal! f(va(<CR>
|
||||
-- onoremap al( :<C-U>normal! F)va(<CR>
|
||||
-- onoremap an{ :<C-U>normal! f{vi{<CR>
|
||||
-- onoremap al{ :<C-U>normal! F}vi<CR>
|
||||
-- " }}}
|
||||
--
|
||||
-- " Abbreviations --- {{{
|
||||
-- iabbrev adn and
|
||||
-- iabbrev waht what
|
||||
-- iabbrev tehn then
|
||||
-- iabbrev tihs this
|
||||
-- iabbrev teh the
|
||||
-- iabbrev Teh The
|
||||
-- " }}}
|
||||
--
|
||||
require('helpers').edit_cf('v', '/init.lua')
|
||||
|
||||
-- " Auto-Commands --- {{{
|
||||
--
|
||||
-- augroup modes
|
||||
|
||||
@@ -32,37 +32,33 @@ vim.api.nvim_create_autocmd('FocusLost', {
|
||||
-- command = 'silent! wa', -- Save all files when text is changed
|
||||
-- })
|
||||
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "OilActionsPost",
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
pattern = 'OilActionsPost',
|
||||
callback = function(event)
|
||||
if event.data.actions.type == "move" then
|
||||
if event.data.actions.type == 'move' then
|
||||
Snacks.rename.on_rename_file(event.data.actions.src_url, event.data.actions.dest_url)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
local fidget_group = vim.api.nvim_create_augroup('CodeCompanionFidgetHooks', { clear = true })
|
||||
|
||||
|
||||
local fidget_group = vim.api.nvim_create_augroup("CodeCompanionFidgetHooks", { clear = true })
|
||||
|
||||
vim.api.nvim_create_autocmd({ "User" }, {
|
||||
pattern = "CodeCompanionRequestStarted",
|
||||
vim.api.nvim_create_autocmd({ 'User' }, {
|
||||
pattern = 'CodeCompanionRequestStarted',
|
||||
group = fidget_group,
|
||||
callback = function(event)
|
||||
local FidgetHelper = require('utils.fidget_helper')
|
||||
local FidgetHelper = require 'utils.fidget_helper'
|
||||
-- Pass event instead of request if the callback receives the full event object
|
||||
local handle = FidgetHelper:create_progress_handle(event)
|
||||
FidgetHelper:store_progress_handle(event.data.id, handle)
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "User" }, {
|
||||
pattern = "CodeCompanionRequestFinished",
|
||||
vim.api.nvim_create_autocmd({ 'User' }, {
|
||||
pattern = 'CodeCompanionRequestFinished',
|
||||
group = fidget_group,
|
||||
callback = function(event)
|
||||
local FidgetHelper = require('utils.fidget_helper')
|
||||
-- Pass event instead of request if the callback receives the full event object
|
||||
-- Pass event instead of request if the callback receives the full event object
|
||||
local FidgetHelper = require 'utils.fidget_helper'
|
||||
local handle = FidgetHelper:pop_progress_handle(event.data.id)
|
||||
if handle then
|
||||
FidgetHelper:report_exit_status(handle, event)
|
||||
@@ -71,4 +67,31 @@ vim.api.nvim_create_autocmd({ "User" }, {
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('BufEnter', {
|
||||
callback = function(event)
|
||||
local windows = vim.api.nvim_list_wins()
|
||||
|
||||
for _, window in ipairs(windows) do
|
||||
local bufnr = vim.api.nvim_win_get_buf(window)
|
||||
if vim.api.nvim_get_option_value('buflisted', { buf = bufnr }) then
|
||||
return
|
||||
end
|
||||
end
|
||||
vim.cmd 'qa'
|
||||
end,
|
||||
})
|
||||
|
||||
local modes_group = vim.api.nvim_create_augroup('modes', { clear = true })
|
||||
vim.api.nvim_create_autocmd('FocusLost', {
|
||||
group = modes_group,
|
||||
pattern = '*',
|
||||
command = 'call feedkeys("\\<Esc>")',
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('BufNewFile', {
|
||||
group = modes_group,
|
||||
pattern = '*',
|
||||
command = 'call feedkeys("i")',
|
||||
})
|
||||
|
||||
require('helpers').edit_cf('a', '/lua/autocmd.lua')
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
if vim.loop.os_uname().sysname == 'Darwin' then
|
||||
return {
|
||||
'wakatime/vim-wakatime',
|
||||
lazy = false
|
||||
lazy = false,
|
||||
}
|
||||
else
|
||||
return {}
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user