commit a72ac5c05f4692dff5f37f43d2a7414cb8f0eab6
parent 411dc10d1ab952ea740f09fe67c98ad3cecb3c3c
Author: Tomas Nemec <nemi@skaut.cz>
Date: Fri, 26 Nov 2021 10:21:07 +0100
update
Diffstat:
6 files changed, 57 insertions(+), 11 deletions(-)
diff --git a/init.lua b/init.lua
@@ -128,6 +128,11 @@ inoremap {'<c-j>', '<esc>:m .+1<cr>=='}
inoremap {'<c-k>', '<esc>:m .-2<cr>=='}
vnoremap {'<c-j>', ':m \'>+1<cr>gv=gv'}
vnoremap {'<c-k>', ':m \'<-2<cr>gv=gv'}
+-- quickfix/loclist
+nnoremap {'<leader>c', '<cmd>call ToggleList("Quickfix List", "c")<cr>'}
+nnoremap {'<leader>C', '<cmd>cexpr []|cclose<cr>'}
+nnoremap {'<leader>l', '<cmd>call ToggleList("Location List", "l")<cr>'}
+nnoremap {'<leader>L', '<cmd>lexpr []|lclose<cr>'}
-- fold
nnoremap {'zH', 'zM'}
nnoremap {'zh', 'zm'}
diff --git a/lua/tms/p/cmp/init.lua b/lua/tms/p/cmp/init.lua
@@ -12,8 +12,8 @@ M.setup = function()
snippet = {expand = function(args) require('luasnip').lsp_expand(args.body) end},
mapping = {
['<C-Space>'] = cmp.mapping.complete({reason = cmp.ContextReason.Auto}),
- ['<C-d>'] = cmp.mapping.scroll_docs(-4),
- ['<C-f>'] = cmp.mapping.scroll_docs(4),
+ ['<C-u>'] = cmp.mapping.scroll_docs(-4),
+ ['<C-d>'] = cmp.mapping.scroll_docs(4),
['<C-e>'] = cmp.mapping.close(),
['<C-y>'] = cmp.mapping.confirm({behavior = cmp.ConfirmBehavior.Replace, select = true}),
['<C-o>'] = cmp.mapping.confirm({behavior = cmp.ConfirmBehavior.Replace, select = true}),
diff --git a/lua/tms/p/luasnip.lua b/lua/tms/p/luasnip.lua
@@ -63,6 +63,23 @@ local snippets = function(luasnip)
s('r', fmt('require(\'{1}\')', {i(1)})),
s('l', fmt('local {1} = {2}', {i(1), i(2)})),
},
+ dart = {
+ s('s', fmt('String {1}{2}', {i(1), i(2, ';')})),
+ s('S', fmt('String? {1}{2}', {i(1), i(2, ';')})),
+ s('i', fmt('int {1}{2}', {i(1), i(2, ';')})),
+ s('I', fmt('int? {1}{2}', {i(1), i(2, ';')})),
+ s('n', fmt('num {1}{2}', {i(1), i(2, ';')})),
+ s('N', fmt('num? {1}{2}', {i(1), i(2, ';')})),
+ s('d', fmt('double {1}{2}', {i(1), i(2, ';')})),
+ s('D', fmt('double? {1}{2}', {i(1), i(2, ';')})),
+ s('f', fmt('final {1}{2}', {i(1), i(2, ';')})),
+ s('v', fmt('var {1}{2}', {i(1), i(2, ';')})),
+ s('for', fmt([[
+ for (final {2} in {1}) {{
+ {3}
+ }}
+ ]], {i(1), i(2), i(3)})),
+ },
}
end
diff --git a/lua/tms/plugins.lua b/lua/tms/plugins.lua
@@ -21,12 +21,13 @@ return packer.startup({
use 'tpope/vim-repeat'
use 'tpope/vim-eunuch' -- usefull unix utililties cmds
use 'tpope/vim-surround'
- use { -- auto pairs
- 'cohama/lexima.vim',
+ use {
+ 'windwp/nvim-autopairs',
config = function()
- vim.g.lexima_map_escape = ''
- require('tms.c.autocmd').addListener('lexima_disabled', {'FileType TelescopePrompt'},
- function() vim.cmd [[let b:lexima_disabled = 1]] end)
+ require('nvim-autopairs').setup({disable_filetype = {'TelescopePrompt', 'vim'}})
+ -- local cmp_autopairs = require('nvim-autopairs.completion.cmp')
+ -- local cmp = require('cmp')
+ -- cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done({map_char = {tex = ''}}))
end,
}
use {'JoosepAlviste/nvim-ts-context-commentstring'}
@@ -34,6 +35,7 @@ return packer.startup({
'numToStr/Comment.nvim',
config = function()
require('Comment').setup({
+ ignore = '^$',
pre_hook = function(_) return require('ts_context_commentstring.internal').calculate_commentstring() end,
})
end,
diff --git a/plugin/quickfix.lua b/plugin/quickfix.lua
@@ -1,4 +0,0 @@
-vim.keymap.nnoremap {'<leader>c', '<cmd>copen<cr>'}
-vim.keymap.nnoremap {'<leader>C', '<cmd>cexpr []|cclose<cr>'}
-vim.keymap.nnoremap {'<leader>l', '<cmd>lopen<cr>'}
-vim.keymap.nnoremap {'<leader>L', '<cmd>lexpr []|lclose<cr>'}
diff --git a/plugin/quickfix.vim b/plugin/quickfix.vim
@@ -0,0 +1,26 @@
+function! GetBufferList()
+ redir =>buflist
+ silent! ls!
+ redir END
+ return buflist
+endfunction
+
+function! ToggleList(bufname, pfx)
+ let buflist = GetBufferList()
+ for bufnum in map(filter(split(buflist, '\n'), 'v:val =~ "'.a:bufname.'"'), 'str2nr(matchstr(v:val, "\\d\\+"))')
+ if bufwinnr(bufnum) != -1
+ exec(a:pfx.'close')
+ return
+ endif
+ endfor
+ if a:pfx == 'l' && len(getloclist(0)) == 0
+ echohl ErrorMsg
+ echo "Location List is Empty."
+ return
+ endif
+ let winnr = winnr()
+ exec(a:pfx.'open')
+ if winnr() != winnr
+ wincmd p
+ endif
+endfunction