diff options
| author | srdusr <trevorgray@srdusr.com> | 2023-02-14 23:34:30 +0200 |
|---|---|---|
| committer | srdusr <trevorgray@srdusr.com> | 2023-02-14 23:34:30 +0200 |
| commit | 71f9f188bc6204526e9a9841715a96f480570238 (patch) | |
| tree | 007a8489f7c0c3d5e20503d5e3b8874ddcec6ec7 | |
| parent | 663808c9c384429eb71b3cfb0e28a62f690b03a8 (diff) | |
| parent | 9e8183c3566221476d96033c6ad2a997a7fa96a5 (diff) | |
| download | dotfiles-71f9f188bc6204526e9a9841715a96f480570238.tar.gz dotfiles-71f9f188bc6204526e9a9841715a96f480570238.zip | |
Merge commit '17547a6d143220d61062c62990584eeb22165493'
| -rw-r--r-- | .config/nvim/autoload/utils.vim | 8 | ||||
| -rw-r--r-- | .config/nvim/init.lua | 10 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/cmp.lua | 6 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/lsp.lua | 35 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/telescope.lua | 2 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/toggleterm.lua | 4 | ||||
| -rw-r--r-- | .config/nvim/lua/user/func.lua | 138 | ||||
| -rw-r--r-- | .config/nvim/lua/user/keys.lua | 26 | ||||
| -rw-r--r-- | .config/nvim/lua/user/mods.lua | 265 | ||||
| -rw-r--r-- | .config/nvim/lua/user/opts.lua | 1 | ||||
| -rw-r--r-- | .config/nvim/lua/user/pack.lua | 25 | ||||
| -rw-r--r-- | .config/nvim/lua/user/utils.lua | 125 |
12 files changed, 347 insertions, 298 deletions
diff --git a/.config/nvim/autoload/utils.vim b/.config/nvim/autoload/utils.vim index d4a1298..1f10423 100644 --- a/.config/nvim/autoload/utils.vim +++ b/.config/nvim/autoload/utils.vim @@ -16,11 +16,6 @@ endfunction "------------------------------------------------- " Toggle DiagnosticsOpenFloat -augroup OpenFloat - autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) - -augroup END - function! utils#ToggleDiagnosticsOpenFloat() " Switch the toggle variable let g:DiagnosticsOpenFloat = !get(g:, 'DiagnosticsOpenFloat', 1) @@ -33,7 +28,8 @@ function! utils#ToggleDiagnosticsOpenFloat() " Enable if toggled on if g:DiagnosticsOpenFloat augroup OpenFloat - autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) + autocmd! CursorHold * lua vim.diagnostic.open_float(nil, {focusable = false,}) + "autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) "autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) print ("vim.diagnostic.open_float enabled...") augroup END endif diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 622e5e9..f6b6ed5 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -52,8 +52,7 @@ local modules = { "user.pack", -- Packer plugin manager "user.opts", -- Options "user.keys", -- Keymaps - "user.utils", -- Utilities - --"user.mods", -- Modules/functions + "user.mods", -- Modules/functions --"user.deps", -- Plugins --"user.scripts", "plugins.treesitter", @@ -89,9 +88,9 @@ end -- Check if we have the latest stable version of nvim -local utils = require("user.utils") +local mods = require("user.mods") local expected_ver = "0.9.0" -local nvim_ver = utils.get_nvim_version() +local nvim_ver = mods.get_nvim_version() if nvim_ver ~= expected_ver then local msg = string.format("Unsupported nvim version: expect %s, but got %s instead!", expected_ver, nvim_ver) @@ -103,6 +102,9 @@ end -- Snippets vim.g.snippets = "luasnip" +-- Notifications +vim.notify = require("notify") -- Requires plugin "rcarriga/nvim-notify" + -- Improve speed by disabling some default plugins/modules local builtins = { "gzip", diff --git a/.config/nvim/lua/plugins/cmp.lua b/.config/nvim/lua/plugins/cmp.lua index 829a448..edf57de 100644 --- a/.config/nvim/lua/plugins/cmp.lua +++ b/.config/nvim/lua/plugins/cmp.lua @@ -98,11 +98,11 @@ cmp.setup({ i = function() if cmp.visible() then cmp.abort() - require("user.utils").toggle_completion() + require("user.mods").toggle_completion() require("notify")("completion off") else cmp.complete() - require("user.utils").toggle_completion() + require("user.mods").toggle_completion() require("notify")("completion on") end end, @@ -111,7 +111,7 @@ cmp.setup({ -- i = function(fallback) -- if cmp.visible() then -- cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }) - -- require("user.utils").toggle_completion() + -- require("user.mods").toggle_completion() -- else -- fallback() -- end diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index 548df74..07c5c83 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -1,7 +1,7 @@ -- Shorten Function Names local fn = vim.fn local keymap = vim.keymap -local utils = require("user.utils") +local mods = require("user.mods") -- Setup mason so it can manage external tooling @@ -62,7 +62,7 @@ local on_attach = function(client, bufnr) map("n", "ga", "<Cmd>lua vim.lsp.buf.code_action()<CR>") map("n", "gf", "<Cmd>lua vim.lsp.buf.formatting()<CR>") --map("n", "go", "<Cmd>lua vim.diagnostic.open_float()<CR>") - map("n", "go", ":call utils#ToggleDiagnosticsOpenFloat()<CR> | :echom ('Toggle Diagnostics Float open/close...') | :sl! | echo ('')<CR>") + map("n", "go", ":call utils#ToggleDiagnosticsOpenFloat()<CR> | :echom ('Toggle Diagnostics Float open/close...')<CR> | :sl! | echo ('')<CR>") map("n", "[d", "<Cmd>lua vim.diagnostic.goto_prev()<CR>") map("n", "]d", "<Cmd>lua vim.diagnostic.goto_next()<CR>") map("n", "gs", "<Cmd>lua vim.lsp.buf.document_symbol()<CR>") @@ -72,10 +72,10 @@ local on_attach = function(client, bufnr) map("n", "<leader>wl", function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end) - --map("n", "<leader>q", function() - -- vim.diagnostic.setqflist({ open = true }) - --end) - --map.('n', '<space>q', vim.diagnostic.setloclist) + map("n", "<leader>q", function() + vim.diagnostic.setqflist({ open = true }) + end) + map("n", "<space>q", "<Cmd>lua vim.diagnostic.setloclist()<CR>") --map("n", "gk", "<Cmd>Lspsaga diagnostic_jump_prev<CR>") --map("n", "gj", "<Cmd>Lspsaga diagnostic_jump_next<CR>") @@ -147,6 +147,15 @@ function _G.toggle_diagnostics() end end +-- Open float for diagnostics automatically +vim.cmd([[ +augroup OpenFloat + " autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) + autocmd CursorHold * lua vim.diagnostic.open_float(nil, {focusable = false,}) + +augroup END +]]) + -- Suppress error messages from lang servers vim.lsp.set_log_level("debug") local capabilities = vim.lsp.protocol.make_client_capabilities() @@ -156,7 +165,7 @@ capabilities.offsetEncoding = { "utf-16" } local lspconfig = require("lspconfig") -if utils.executable("pylsp") then +if mods.executable("pylsp") then lspconfig.pylsp.setup({ settings = { pylsp = { @@ -179,7 +188,7 @@ else vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) end -if utils.executable('pyright') then +if mods.executable('pyright') then lspconfig.pyright.setup{ on_attach = on_attach, capabilities = capabilities @@ -188,7 +197,7 @@ else vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) end -if utils.executable("clangd") then +if mods.executable("clangd") then lspconfig.clangd.setup({ on_attach = on_attach, capabilities = capabilities, @@ -202,7 +211,7 @@ else end -- Set up vim-language-server -if utils.executable("vim-language-server") then +if mods.executable("vim-language-server") then lspconfig.vimls.setup({ on_attach = on_attach, flags = { @@ -215,14 +224,14 @@ else end -- Set up bash-language-server -if utils.executable("bash-language-server") then +if mods.executable("bash-language-server") then lspconfig.bashls.setup({ on_attach = on_attach, capabilities = capabilities, }) end -if utils.executable("lua-language-server") then +if mods.executable("lua-language-server") then lspconfig.lua_ls.setup({ on_attach = on_attach, settings = { @@ -251,7 +260,7 @@ if utils.executable("lua-language-server") then end -if utils.executable("rust-language-server") then +if mods.executable("rust-language-server") then require("lspconfig").rust_analyzer.setup{ cmd = { "rustup", "run", "nightly", "rust-analyzer" }, on_attach = on_attach, diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua index 9459a3e..70eae7a 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/.config/nvim/lua/plugins/telescope.lua @@ -260,6 +260,8 @@ require('telescope').load_extension('ui-select') require("telescope").load_extension("file_browser") require('telescope').load_extension('changed_files') require('telescope').load_extension('media_files') +--require('telescope').extensions.notify.notify() +require('telescope').load_extension('notify') function M.find_configs() require("telescope.builtin").find_files { diff --git a/.config/nvim/lua/plugins/toggleterm.lua b/.config/nvim/lua/plugins/toggleterm.lua index 024c2f6..5875fc6 100644 --- a/.config/nvim/lua/plugins/toggleterm.lua +++ b/.config/nvim/lua/plugins/toggleterm.lua @@ -55,10 +55,10 @@ toggleterm.setup({ }, }, }) -local utils = require("user.utils") +local mods = require("user.mods") local float_handler = function(term) - if not utils.empty(vim.fn.mapcheck('jj', 't')) then + if not mods.empty(vim.fn.mapcheck('jj', 't')) then vim.keymap.del('t', 'jj', { buffer = term.bufnr }) vim.keymap.del('t', '<esc>', { buffer = term.bufnr }) end diff --git a/.config/nvim/lua/user/func.lua b/.config/nvim/lua/user/func.lua new file mode 100644 index 0000000..c36d9e2 --- /dev/null +++ b/.config/nvim/lua/user/func.lua @@ -0,0 +1,138 @@ +--vim.cmd([[ +-- function RandomColorScheme() +-- let mycolors = split(globpath(&rtp,"**/colors/*.vim"),"\n") +-- exe 'so ' . mycolors[localtime() % len(mycolors)] +-- unlet mycolors +-- endfunction +-- +-- call RandomColorScheme() +-- +-- :command NewColor call RandomColorScheme() +--]]) + +--vim.cmd([[ +-- function RandomColorSchemeMyPicks() +-- let mypicks = ["pyte", "fokus", "github", "peachpuff", "morning", "simple256", "xcode", "gruvbox"] +-- let mypick = mypicks[localtime() % len(mypicks)] +-- echom mypick +-- execute 'colo' mypick +-- endfunction +-- +-- command NewColor call RandomColorSchemeMyPicks() +-- +-- let s:use_gui = exists('g:neovide') || has('gui_running') || (has('termguicolors') && &termguicolors) +-- if (s:use_gui) +-- call RandomColorSchemeMyPicks() +-- endif +--]]) + +--vim.cmd([[ +-- let g:fzf_history_dir = '~/.local/share/fzf-history' +-- map <leader>z :FZF<CR> +-- map <leader>a :Files<CR> +-- map <leader>l :Lines<CR> +-- map <leader>L :BLines<CR> +-- map <leader>B :Buffers<CR> +-- map <leader>h :History:<CR> +-- nnoremap <leader>g :Rg<CR> +-- "nnoremap <leader>t :Tags<CR> +-- nnoremap <leader>m :Marks<CR> +-- " This is the default extra key bindings +-- let g:fzf_action = { +-- \ 'ctrl-t': 'tab split', +-- \ 'ctrl-x': 'split', +-- \ 'ctrl-y': 'vsplit' } +-- let g:fzf_tags_command = 'ctags -R' +-- " Border color +-- let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } +-- let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' +-- let $FZF_DEFAULT_COMMAND="rg --files --hidden" +-- " Customize fzf colors to match your color scheme +-- let g:fzf_colors = +-- \ { 'fg': ['fg', 'Normal'], +-- \ 'bg': ['bg', 'Normal'], +-- \ 'hl': ['fg', 'Comment'], +-- \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], +-- \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], +-- \ 'hl+': ['fg', 'Statement'], +-- \ 'info': ['fg', 'PreProc'], +-- \ 'border': ['fg', 'Ignore'], +-- \ 'prompt': ['fg', 'Conditional'], +-- \ 'pointer': ['fg', 'Exception'], +-- \ 'marker': ['fg', 'Keyword'], +-- \ 'spinner': ['fg', 'Label'], +-- \ 'header': ['fg', 'Comment'] } +-- " Get Files +-- command! -bang -nargs=? -complete=dir Files +-- \ call fzf#vim#files(<q-args>, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), <bang>0) +-- " Get text in files with Rg +-- command! -bang -nargs=* Rg +-- \ call fzf#vim#grep( +-- \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(<q-args>), 1, +-- \ fzf#vim#with_preview(), <bang>0) +-- " Ripgrep advanced +-- function! RipgrepFzf(query, fullscreen) +-- let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' +-- let initial_command = printf(command_fmt, shellescape(a:query)) +-- let reload_command = printf(command_fmt, '{q}') +-- let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} +-- call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) +-- endfunction +-- command! -nargs=* -bang RG call RipgrepFzf(<q-args>, <bang>0) +-- " Git grep +-- command! -bang -nargs=* GGrep +-- \ call fzf#vim#grep( +-- \ 'git grep --line-number '.shellescape(<q-args>), 0, +-- \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), <bang>0) +-- command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, <bang>0)) +--]]) +-- +--vim.cmd([[ +-- " Enable mouse scrollback +-- set mouse=a +-- tnoremap <Esc> <C-\><C-n> +-- tnoremap <c-b> <c-\><c-n> +-- function! ClearTerminal() +-- set scrollback=1 +-- let &g:scrollback=1 +-- echo &scrollback +-- call feedkeys("\i") +-- call feedkeys("clear\<CR>") +-- call feedkeys("\<C-\>\<C-n>") +-- call feedkeys("\i") +-- sleep 100m +-- let &scrollback=s:scroll_value +-- endfunction +--]]) +-- +--vim.cmd([[ +-- " :Rename {newname} +-- function! RenameFile() +-- let old_name = expand('%') +-- let new_name = input('New file name: ', expand('%'), 'file') +-- if new_name != '' && new_name != old_name +-- exec ':saveas ' . new_name +-- exec ':silent !rm ' . old_name +-- redraw! +-- endif +-- endfunction +-- map <leader>re :call RenameFile()<cr> +--]]) + +--vim.cmd([[ +-- " Markdown Settings +-- autocmd BufNewFile,BufReadPost *.md set filetype=markdown +-- let g:markdown_fenced_languages = ['html', 'python', 'bash=sh', 'sql', 'pug'] +-- let g:markdown_minlines = 100 +-- let g:instant_markdown_autostart = 0 +--]]) +-- +--vim.cmd([[ +-- " On The Fly Table mode +-- function! s:isAtStartOfLine(mapping) +-- let text_before_cursor = getline('.')[0 : col('.')-1] +-- let mapping_pattern = '\V' . escape(a:mapping, '\') +-- let comment_pattern = '\V' . escape(substitute(&l:commentstring, '%s.*$', '', ''), '\') +-- return (text_before_cursor =~? '^' . ('\v(' . comment_pattern . '\v)?') . '\s*\v' . mapping_pattern . '\v$') +-- endfunction +--]]) diff --git a/.config/nvim/lua/user/keys.lua b/.config/nvim/lua/user/keys.lua index 4556510..429604a 100644 --- a/.config/nvim/lua/user/keys.lua +++ b/.config/nvim/lua/user/keys.lua @@ -1,6 +1,5 @@ --[[ key.lua ]] -local utils = require("user.utils") ------------- Shorten Function Names -------------- local keymap = vim.keymap local map = function(mode, l, r, opts) @@ -155,7 +154,7 @@ map('n', '<leader>o', ':!xdg-open %<cr><cr>') --map("n", "<CR>", "!silent :noh<CR><CR>") -- Toggle completion -map("n", "<Leader>tc", ":lua require('user.utils').toggle_completion()<CR>") +map("n", "<Leader>tc", ":lua require('user.mods').toggle_completion()<CR>") -- Disable default completion. map('i', '<C-n>', '<Nop>') @@ -190,6 +189,7 @@ map('n', '<leader>tb', ':call utils#Toggle_transparent_background()<CR>') -- Toggle zoom map("n", "<leader>z", ":call utils#ZoomToggle()<CR>") +map("n", "<C-w>z", "<C-w>|<C-w>_") -- Toggle statusline map('n', '<S-h>', ':call ToggleHiddenAll()<CR>') @@ -250,19 +250,21 @@ map("n", "<leader>gm", ":Gmove<Space>") -- Telescope map("n", "<leader>ff", function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end) -- find all files map("n", "<leader>fF", "<cmd>lua require('telescope.builtin').find_files()<cr>") -- find files with hidden option -map("n", "<leader>fb", "<cmd>lua require('telescope.builtin').current_buffer_fuzzy_find()<cr>") -map("n", "<leader>fc", "<cmd>lua require('telescope.builtin').commands()<cr>") map("n", "<leader>fg", "<cmd>lua require('telescope.builtin').live_grep()<cr>") +map("n", "<leader>fb", "<cmd>lua require('telescope.builtin').buffers()<cr>") +map("n", "<leader>fh", "<cmd>lua require('telescope.builtin').help_tags()<cr>") +map("n", "<leader>fc", "<cmd>lua require('telescope.builtin').commands()<cr>") +map("n", "<leader>ffc", "<cmd>lua require('telescope.builtin').current_buffer_fuzzy_find()<cr>") +map("n", "<leader>cf", "<cmd>Telescope changed_files<cr>") map("n", "<leader>fp", "<cmd>Telescope pickers<cr>") map("n", "<leader>fr", "<cmd>lua require('telescope.builtin').registers({})<CR>") -- registers picker -map("n", "<leader>cf", "<cmd>Telescope changed_files<cr>") map("n", "<leader>fd", "<cmd>lua require('telescope.builtin').diagnostics()<cr>") -map("n", "<leader>fh", "<cmd>lua require('telescope.builtin').help_tags()<cr>") map("n", "<leader>fk", "<cmd>lua require('telescope.builtin').keymaps()<cr>") map("n", "<leader>fn", [[<Cmd>lua require'plugins.telescope'.find_notes()<CR>]]) -- find notes map("n", "<leader>fgn", [[<Cmd>lua require'plugins.telescope'.grep_notes()<CR>]]) -- search notes map("n", "<leader>f.", [[<Cmd>lua require'plugins.telescope'.find_configs()<CR>]]) -- find configs map("n", "<leader>fm", "<cmd>lua require('telescope').extensions.media_files.media_files({})<cr>") -- find media files +map("n", "<leader>fi", "<cmd>lua require('telescope').extensions.notify.notify({})<cr>") -- find media files -- FZF map("n", "<leader>fz", "<cmd>lua require('fzf-lua').files()<CR>") @@ -271,8 +273,14 @@ map("n", "<leader>fz", "<cmd>lua require('fzf-lua').files()<CR>") map("n", "<leader>f", ":NvimTreeToggle<CR>", {}) -- Markdown-preview -map("n", "<leader>md", "<Plug>:Glow") ---map("n", "<leader>md", "<Plug>MarkdownPreviewToggle") +map("n", "<leader>md", "<Plug>MarkdownPreviewToggle") +map("n", "<leader>mg", "<CMD>Glow<CR>") -- Autopairs -map("n", "<leader>ww", "<cmd>lua require('user.utils').Toggle_autopairs()<CR>") +map("n", "<leader>ww", "<cmd>lua require('user.mods').Toggle_autopairs()<CR>") + +-- Zen-mode toggle +map("n", "<leader>zm", "<CMD>ZenMode<CR> | :echom ('Zen Mode')<CR> | :sl! | echo ('')<CR>") + +-- Vim-rooter +map("n", "<leader>ro", "<CMD>Rooter<CR> | :sl! | echo ('')<CR>", term_opts) diff --git a/.config/nvim/lua/user/mods.lua b/.config/nvim/lua/user/mods.lua index c36d9e2..0be0783 100644 --- a/.config/nvim/lua/user/mods.lua +++ b/.config/nvim/lua/user/mods.lua @@ -1,138 +1,143 @@ ---vim.cmd([[ --- function RandomColorScheme() --- let mycolors = split(globpath(&rtp,"**/colors/*.vim"),"\n") --- exe 'so ' . mycolors[localtime() % len(mycolors)] --- unlet mycolors --- endfunction --- --- call RandomColorScheme() --- --- :command NewColor call RandomColorScheme() ---]]) +local M = {} ---vim.cmd([[ --- function RandomColorSchemeMyPicks() --- let mypicks = ["pyte", "fokus", "github", "peachpuff", "morning", "simple256", "xcode", "gruvbox"] --- let mypick = mypicks[localtime() % len(mypicks)] --- echom mypick --- execute 'colo' mypick --- endfunction --- --- command NewColor call RandomColorSchemeMyPicks() --- --- let s:use_gui = exists('g:neovide') || has('gui_running') || (has('termguicolors') && &termguicolors) --- if (s:use_gui) --- call RandomColorSchemeMyPicks() --- endif ---]]) +--- Shorten Function Names +local fn = vim.fn +function M.executable(name) + if fn.executable(name) > 0 then + return true + end ---vim.cmd([[ --- let g:fzf_history_dir = '~/.local/share/fzf-history' --- map <leader>z :FZF<CR> --- map <leader>a :Files<CR> --- map <leader>l :Lines<CR> --- map <leader>L :BLines<CR> --- map <leader>B :Buffers<CR> --- map <leader>h :History:<CR> --- nnoremap <leader>g :Rg<CR> --- "nnoremap <leader>t :Tags<CR> --- nnoremap <leader>m :Marks<CR> --- " This is the default extra key bindings --- let g:fzf_action = { --- \ 'ctrl-t': 'tab split', --- \ 'ctrl-x': 'split', --- \ 'ctrl-y': 'vsplit' } --- let g:fzf_tags_command = 'ctags -R' --- " Border color --- let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } --- let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' --- let $FZF_DEFAULT_COMMAND="rg --files --hidden" --- " Customize fzf colors to match your color scheme --- let g:fzf_colors = --- \ { 'fg': ['fg', 'Normal'], --- \ 'bg': ['bg', 'Normal'], --- \ 'hl': ['fg', 'Comment'], --- \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], --- \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], --- \ 'hl+': ['fg', 'Statement'], --- \ 'info': ['fg', 'PreProc'], --- \ 'border': ['fg', 'Ignore'], --- \ 'prompt': ['fg', 'Conditional'], --- \ 'pointer': ['fg', 'Exception'], --- \ 'marker': ['fg', 'Keyword'], --- \ 'spinner': ['fg', 'Label'], --- \ 'header': ['fg', 'Comment'] } --- " Get Files --- command! -bang -nargs=? -complete=dir Files --- \ call fzf#vim#files(<q-args>, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), <bang>0) --- " Get text in files with Rg --- command! -bang -nargs=* Rg --- \ call fzf#vim#grep( --- \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(<q-args>), 1, --- \ fzf#vim#with_preview(), <bang>0) --- " Ripgrep advanced --- function! RipgrepFzf(query, fullscreen) --- let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' --- let initial_command = printf(command_fmt, shellescape(a:query)) --- let reload_command = printf(command_fmt, '{q}') --- let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} --- call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) --- endfunction --- command! -nargs=* -bang RG call RipgrepFzf(<q-args>, <bang>0) --- " Git grep --- command! -bang -nargs=* GGrep --- \ call fzf#vim#grep( --- \ 'git grep --line-number '.shellescape(<q-args>), 0, --- \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), <bang>0) --- command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, <bang>0)) ---]]) --- ---vim.cmd([[ --- " Enable mouse scrollback --- set mouse=a --- tnoremap <Esc> <C-\><C-n> --- tnoremap <c-b> <c-\><c-n> --- function! ClearTerminal() --- set scrollback=1 --- let &g:scrollback=1 --- echo &scrollback --- call feedkeys("\i") --- call feedkeys("clear\<CR>") --- call feedkeys("\<C-\>\<C-n>") --- call feedkeys("\i") --- sleep 100m --- let &scrollback=s:scroll_value --- endfunction ---]]) --- ---vim.cmd([[ --- " :Rename {newname} --- function! RenameFile() --- let old_name = expand('%') --- let new_name = input('New file name: ', expand('%'), 'file') --- if new_name != '' && new_name != old_name --- exec ':saveas ' . new_name --- exec ':silent !rm ' . old_name --- redraw! --- endif --- endfunction --- map <leader>re :call RenameFile()<cr> ---]]) + return false +end + +-------------------------------------------------- + +--- Check whether a feature exists in Nvim +--- @feat: string +--- the feature name, like `nvim-0.7` or `unix`. +--- return: bool +M.has = function(feat) + if fn.has(feat) == 1 then + return true + end + + return false +end + + +-------------------------------------------------- + +---Determine if a value of any type is empty +---@param item any +---@return boolean? +function M.empty(item) + if not item then return true end + local item_type = type(item) + if item_type == 'string' then return item == '' end + if item_type == 'number' then return item <= 0 end + if item_type == 'table' then return vim.tbl_isempty(item) end + return item ~= nil +end +-------------------------------------------------- + +--- Create a dir if it does not exist +function M.may_create_dir(dir) + local res = fn.isdirectory(dir) + + if res == 0 then + fn.mkdir(dir, "p") + end +end + + +-------------------------------------------------- + +--- Toggle cmp completion +vim.g.cmp_toggle_flag = false -- initialize +local normal_buftype = function() + return vim.api.nvim_buf_get_option(0, "buftype") ~= "prompt" +end +M.toggle_completion = function() + local ok, cmp = pcall(require, "cmp") + if ok then + local next_cmp_toggle_flag = not vim.g.cmp_toggle_flag + if next_cmp_toggle_flag then + print("completion on") + else + print("completion off") + end + cmp.setup({ + enabled = function() + vim.g.cmp_toggle_flag = next_cmp_toggle_flag + if next_cmp_toggle_flag then + return normal_buftype + else + return next_cmp_toggle_flag + end + end, + }) + else + print("completion not available") + end +end + + +-------------------------------------------------- + +--- Make sure using latest neovim version +function M.get_nvim_version() + local actual_ver = vim.version() + + local nvim_ver_str = string.format("%d.%d.%d", actual_ver.major, actual_ver.minor, actual_ver.patch) + return nvim_ver_str +end + +function M.add_pack(name) + local status, error = pcall(vim.cmd, "packadd " .. name) + + return status +end + + +-------------------------------------------------- + +--- Toggle autopairs on/off (requires "windwp/nvim-autopairs") +function M.Toggle_autopairs() + local ok, autopairs = pcall(require, "nvim-autopairs") + if ok then + if autopairs.state.disabled then + autopairs.enable() + print("autopairs on") + else + autopairs.disable() + print("autopairs off") + end + else + print("autopairs not available") + end +end + + +-------------------------------------------------- + +--- Make vim-rooter message disappear after making it's changes --vim.cmd([[ --- " Markdown Settings --- autocmd BufNewFile,BufReadPost *.md set filetype=markdown --- let g:markdown_fenced_languages = ['html', 'python', 'bash=sh', 'sql', 'pug'] --- let g:markdown_minlines = 100 --- let g:instant_markdown_autostart = 0 +--let timer = timer_start(1000, 'LogTrigger', {}) +--func! LogTrigger(timer) +-- silent! +--endfunc --]]) -- --vim.cmd([[ --- " On The Fly Table mode --- function! s:isAtStartOfLine(mapping) --- let text_before_cursor = getline('.')[0 : col('.')-1] --- let mapping_pattern = '\V' . escape(a:mapping, '\') --- let comment_pattern = '\V' . escape(substitute(&l:commentstring, '%s.*$', '', ''), '\') --- return (text_before_cursor =~? '^' . ('\v(' . comment_pattern . '\v)?') . '\s*\v' . mapping_pattern . '\v$') --- endfunction +--function! ConfigureChDir() +-- echo ('') +--endfunction +--" Call after vim-rooter changes the root dir +--autocmd User RooterChDir :sleep! | call LogTrigger(timer) | call ConfigureChDir() --]]) + + +-------------------------------------------------- + +return M diff --git a/.config/nvim/lua/user/opts.lua b/.config/nvim/lua/user/opts.lua index 468b7af..c1b5027 100644 --- a/.config/nvim/lua/user/opts.lua +++ b/.config/nvim/lua/user/opts.lua @@ -1,4 +1,5 @@ --[[ opts.lua ]] + -- " Load indent files, to automatically do language-dependent indenting. --vim.cmd([[ -- "filetype plugin indent on diff --git a/.config/nvim/lua/user/pack.lua b/.config/nvim/lua/user/pack.lua index 918ab41..92366dd 100644 --- a/.config/nvim/lua/user/pack.lua +++ b/.config/nvim/lua/user/pack.lua @@ -148,7 +148,18 @@ return packer.startup(function(use) use("folke/which-key.nvim") -- use("folke/zen-mode.nvim") -- use("romainl/vim-cool") -- - use "antoinemadec/FixCursorHold.nvim" -- + use("antoinemadec/FixCursorHold.nvim") -- + use({ + "folke/trouble.nvim", + requires = "nvim-tree/nvim-web-devicons", + config = function() + require("trouble").setup { + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + } + end + }) use("airblade/vim-rooter") -- --use("vim-test/vim-test") -- --use({ @@ -207,14 +218,16 @@ return packer.startup(function(use) require("crates").setup() end, }) - --use({ - -- "iamcco/markdown-preview.nvim", -- Markdown Preview - -- run = function() vim.fn["mkdp#util#install"]() end, - --}) + use({ + "iamcco/markdown-preview.nvim", -- Markdown Preview + run = function() vim.fn["mkdp#util#install"]() end, + }) use({ "ellisonleao/glow.nvim", -- Markdown Preview config = function() - require("glow").setup() + require("glow").setup({ + style = "dark", + }) end }) diff --git a/.config/nvim/lua/user/utils.lua b/.config/nvim/lua/user/utils.lua deleted file mode 100644 index f70fac5..0000000 --- a/.config/nvim/lua/user/utils.lua +++ /dev/null @@ -1,125 +0,0 @@ -local M = {} - ---- Shorten Function Names -local fn = vim.fn -function M.executable(name) - if fn.executable(name) > 0 then - return true - end - - return false -end - - --------------------------------------------------- - ---- Check whether a feature exists in Nvim ---- @feat: string ---- the feature name, like `nvim-0.7` or `unix`. ---- return: bool -M.has = function(feat) - if fn.has(feat) == 1 then - return true - end - - return false -end - - --------------------------------------------------- - ----Determine if a value of any type is empty ----@param item any ----@return boolean? -function M.empty(item) - if not item then return true end - local item_type = type(item) - if item_type == 'string' then return item == '' end - if item_type == 'number' then return item <= 0 end - if item_type == 'table' then return vim.tbl_isempty(item) end - return item ~= nil -end - --------------------------------------------------- - ---- Create a dir if it does not exist -function M.may_create_dir(dir) - local res = fn.isdirectory(dir) - - if res == 0 then - fn.mkdir(dir, "p") - end -end - - --------------------------------------------------- - ---- Toggle cmp completion -vim.g.cmp_toggle_flag = false -- initialize -local normal_buftype = function() - return vim.api.nvim_buf_get_option(0, "buftype") ~= "prompt" -end -M.toggle_completion = function() - local ok, cmp = pcall(require, "cmp") - if ok then - local next_cmp_toggle_flag = not vim.g.cmp_toggle_flag - if next_cmp_toggle_flag then - print("completion on") - else - print("completion off") - end - cmp.setup({ - enabled = function() - vim.g.cmp_toggle_flag = next_cmp_toggle_flag - if next_cmp_toggle_flag then - return normal_buftype - else - return next_cmp_toggle_flag - end - end, - }) - else - print("completion not available") - end -end - - --------------------------------------------------- - ---- Make sure using latest neovim version -function M.get_nvim_version() - local actual_ver = vim.version() - - local nvim_ver_str = string.format("%d.%d.%d", actual_ver.major, actual_ver.minor, actual_ver.patch) - return nvim_ver_str -end - -function M.add_pack(name) - local status, error = pcall(vim.cmd, "packadd " .. name) - - return status -end - - --------------------------------------------------- - ---- Toggle autopairs on/off (requires "windwp/nvim-autopairs") -function M.Toggle_autopairs() - local ok, autopairs = pcall(require, "nvim-autopairs") - if ok then - if autopairs.state.disabled then - autopairs.enable() - print("autopairs on") - else - autopairs.disable() - print("autopairs off") - end - else - print("autopairs not available") - end -end - -return M - - --------------------------------------------------- |
