Explorar o código

add whichkey + add gitgutter config + add markdownpreview config + add snippets

Noah Vogt %!s(int64=3) %!d(string=hai) anos
pai
achega
dd4219b133

+ 2 - 1
dot-config/nvim/coc-settings.json

@@ -33,5 +33,6 @@
   },
   "codeLens.enable": true,
   "java.referencesCodeLens.enabled": true,
-  "java.jdt.ls.vmargs": "-javaagent:/usr/local/share/lombok/lombok.jar"
+  "java.jdt.ls.vmargs": "-javaagent:/usr/local/share/lombok/lombok.jar",
+  "snippets.userSnippetsDirectory": "~/.config/nvim/snips"
 }

+ 3 - 1
dot-config/nvim/init.vim

@@ -13,10 +13,12 @@ source $XDG_CONFIG_HOME/nvim/plug-conf/airline.vim
 source $XDG_CONFIG_HOME/nvim/plug-conf/startify.vim
 source $XDG_CONFIG_HOME/nvim/plug-conf/editorconfig.vim
 source $XDG_CONFIG_HOME/nvim/plug-conf/wilder.vim
+source $XDG_CONFIG_HOME/nvim/plug-conf/vcoolor.vim
+source $XDG_CONFIG_HOME/nvim/plug-conf/better-whitespace.vim
 lua require 'treesitter'
 lua require 'indent-blankline'
 lua require 'telescope'
-
+lua require 'whichkey'
 " get theme
 source $XDG_CONFIG_HOME/nvim/theme/theme.vim
 " get keybinds

+ 27 - 0
dot-config/nvim/keys/bindings.vim

@@ -180,3 +180,30 @@ nnoremap <Leader>sv :source $XDG_CONFIG_HOME/nvim/init.vim<CR>
 
 nnoremap <leader>l :Telescope live_grep<CR>
 nnoremap <leader>t :Telescope find_files<CR>
+
+" markdown preview mappings
+nmap <leader>mg <Plug>MarkdownPreview
+nmap <leader>ms <Plug>MarkdownPreviewStop
+nmap <leader>mt <Plug>MarkdownPreviewToggle
+
+" correct whitespace
+nnoremap <leader>cw :StripWhitespace<CR>
+
+" move to next / previous trailing whitespace
+nnoremap ]w :NextTrailingWhitespace<CR>
+nnoremap [w :PrevTrailingWhitespace<CR>
+
+" trigger snippet expand
+imap <C-l> <Plug>(coc-snippets-expand)
+
+" select text for visual placeholder of snippet
+vmap <C-j> <Plug>(coc-snippets-select)
+
+" jump to next placeholder
+let g:coc_snippet_next = '<c-n>'
+
+" jump to previous placeholder
+let g:coc_snippet_prev = '<c-b>'
+
+" for both expand and jump (make expand higher priority.)
+imap <C-j> <Plug>(coc-snippets-expand-jump)

+ 64 - 0
dot-config/nvim/lua/whichkey.lua

@@ -0,0 +1,64 @@
+require("which-key").setup {
+  plugins = {
+    marks = true, -- shows a list of your marks on ' and `
+    registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode
+    spelling = {
+      enabled = true, -- show WhichKey when pressing z=
+      suggestions = 50, -- amount of shown suggestions
+    },
+
+    -- the presets plugin, adds help for a bunch of default keybindings in Neovim
+    presets = {
+      operators = true, -- adds help for operators like d, y, ... and registers them for motion / text object completion
+      motions = true, -- adds help for motions
+      text_objects = true, -- help for text objects triggered after entering an operator
+      windows = true, -- default bindings on <c-w>
+      nav = true, -- misc bindings to work with windows
+      z = true, -- bindings for folds, spelling and others prefixed with z
+      g = true, -- bindings for prefixed with g
+    },
+  },
+  -- add operators that will trigger motion and text object completion
+  -- to enable all native operators, set the preset / operators plugin above
+  operators = { gc = "Comments" },
+  key_labels = {
+    -- override the label used to display some keys. It doesn't effect WK in any other way.
+    -- For example:
+    -- ["<space>"] = "SPC",
+    -- ["<cr>"] = "RET",
+    -- ["<tab>"] = "TAB",
+  },
+  icons = {
+    breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
+    separator = "➜", -- symbol used between a key and it's label
+    group = "+", -- symbol prepended to a group
+  },
+  popup_mappings = {
+    scroll_down = '<c-d>', -- binding to scroll down inside the popup
+    scroll_up = '<c-u>', -- binding to scroll up inside the popup
+  },
+  window = {
+    border = "none", -- none, single, double, shadow
+    position = "bottom", -- bottom, top
+    margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left]
+    padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left]
+    winblend = 0
+  },
+  layout = {
+    height = { min = 4, max = 25 }, -- min and max height of the columns
+    width = { min = 20, max = 50 }, -- min and max width of the columns
+    spacing = 3, -- spacing between columns
+    align = "left", -- align columns left, center or right
+  },
+  ignore_missing = false, -- enable this to hide mappings for which you didn't specify a label
+  hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ "}, -- hide mapping boilerplate
+  show_help = true, -- show help message on the command line when the popup is visible
+  triggers = "auto", -- automatically setup triggers
+  triggers_blacklist = {
+    -- list of mode / prefixes that should never be hooked by WhichKey
+    -- this is mostly relevant for key maps that start with a native binding
+    -- most people should not need to change this
+    i = { "j", "k" },
+    v = { "j", "k" },
+  },
+}

+ 14 - 0
dot-config/nvim/plug-conf/better-whitespace.vim

@@ -0,0 +1,14 @@
+" change trailing whitespace color
+let g:better_whitespace_ctermcolor='166'
+
+" no autostrip on save
+let g:strip_whitespace_on_save = 0
+
+" soft (instead of hard) disable warning on current line
+let g:current_line_whitespace_disabled_soft=1
+
+" disable confirmation prompt
+let g:strip_whitespace_confirm=0
+
+" blacklisted filetypes
+let g:better_whitespace_filetypes_blacklist=['diff', 'git', 'gitcommit', 'unite', 'qf', 'help', 'markdown', 'fugitive']

+ 5 - 0
dot-config/nvim/plug-conf/git-gutter.vim

@@ -0,0 +1,5 @@
+nmap ) <Plug>(GitGutterNextHunk)
+nmap ( <Plug>(GitGutterPrevHunk)
+let g:gitgutter_enabled = 1
+let g:gitgutter_map_keys = 0
+let g:gitgutter_highlight_linenrs = 1

+ 5 - 5
dot-config/nvim/plug-conf/startify.vim

@@ -1,10 +1,10 @@
 " set custom welcome message header
 let g:startify_custom_header = [
-        \ '_   ___     ___            ',
-        \ '| \ | \ \   / (_)_ __ ___  ',
-        \ '|  \| |\ \ / /| | |_ ` _ \ ',
-        \ '| |\  | \ V / | | | | | | |',
-        \ '|_| \_|  \_/  |_|_| |_| |_|',
+        \ '   _   ___     ___',
+        \ '   | \ | \ \   / (_)_ __ ___',
+        \ '   |  \| |\ \ / /| | |_ ` _ \',
+        \ '   | |\  | \ V / | | | | | | |',
+        \ '   |_| \_|  \_/  |_|_| |_| |_|',
         \]
 
 " auto restart session

+ 5 - 0
dot-config/nvim/plug-conf/vcoolor.vim

@@ -0,0 +1,5 @@
+" use uppercase letters by default
+let g:vcoolor_lowercase = 0
+
+" disable all default mappings
+let g:vcoolor_disable_mappings = 1

+ 14 - 2
dot-config/nvim/vim-plug/plugins.vim

@@ -104,7 +104,19 @@ Plug 'nvim-lua/plenary.nvim'
 " a more adventurous wildmenu
 Plug 'gelguy/wilder.nvim', { 'do': function('UpdateRemotePlugins') }
 
-Plug 'nixprime/cpsm'
-Plug 'romgrk/fzy-lua-native'
+" markdown preview in browser tab and full sync
+Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']}
+
+" when you forget which key to press
+Plug 'folke/which-key.nvim'
+
+" general whitespace highlighter + remover
+Plug 'ntpeters/vim-better-whitespace'
+
+" access an external colorpicker directly from neovim
+Plug 'KabbAmine/vCoolor.vim'
+
+" repo for some code snippets
+Plug 'honza/vim-snippets'
 
 call plug#end()