Commit graph

958 commits

Author SHA1 Message Date
ba8739f4d0 nvim: Drop git messenger
git messenger does not size it's floating window correctly and cursor
gets all messed up while trying to jump in the floating window with
golden-ratio mode being active. May be related to the issue
https://github.com/rhysd/git-messenger.vim/issues/38

Based on the below issue
https://github.com/tpope/vim-fugitive/issues/1387

We can already use fugitive's git blame interface for seeing the last
commit on the line.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-18 10:40:41 +05:30
434f24fb98 nvim: init.vim: Add fzf-checkout for fuzzy checking out branches
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-17 10:25:31 +05:30
8365e134d8 nvim: Drop incremental search as in-built suffices
Also use vim-searchlight for search highlighting the word under cursor.
Add custom highlight color to make the word being searched under cursor
stand out for our color schemes and better key mappings to shift through
searches in command line.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-17 10:25:18 +05:30
7b35dd4e78 nvim: keymappings: Fix the sudo write command
We actually haven't tested this.
https://dev.to/jovica/the-vim-trick-which-will-save-your-time-and-nerves-45pg

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-16 10:47:00 +05:30
286558f5af nvim: init.vim: Add ALE for linting
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-15 11:07:27 +05:30
c70ec871ec nvim: Use golden ratio mode
Floating window for fzf does not size up nicely when using golden-ratio
so disable that.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-14 12:20:06 +05:30
8ea80b9af7 nvim: Switch to ferret & drop our bare bones grepper
See ferret's README for the advantages.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-14 11:22:03 +05:30
6bca8ccaad git: gitconfig: Use merge as default strategy for git pull
git config pull.rebase false  # merge (the default strategy)
git config pull.rebase true   # rebase
git config pull.ff only       # fast-forward only

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-13 14:15:10 +05:30
d662824b9f nvim: keymappings: Add key mappings for fugitive git grep
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-12 21:49:37 +05:30
5c21b3e85c tmux: plugins: tmux-resurrect: Update tmux resurrect
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-12 11:05:03 +05:30
0f89c090db tmux: Add extrakto tmux plugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-12 10:19:30 +05:30
a2b8d386a0 nvim: lua: lsp: Add support for peek definition
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-11 15:29:48 +05:30
ebd1bd566b nvim: lua: nvim_lsp: hls: Do not start unless hie.yaml is found
Do not start haskell-language-server unless a hie.yaml file is present
for proper multi-component support.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-09 17:26:23 +05:30
690a1bdae8 nvim: lua: Switch to haskell-language-server for Haskell
This is not available in upstream nvim_lsp repository but works with a
simple lua config addition for the same.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-05 19:42:33 +05:30
00cefaa665 nvim: config: Disable relative number & rely on sneak
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-04 18:18:22 +05:30
03f7e1ee50 nvim: plug: Upgrade vim-plug
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-04 18:03:34 +05:30
eb2415300e nvim: Drop jump and change list handling
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-04 18:02:41 +05:30
f21ea0787b nvim: Drop nvim-gdb
nvim-gdb relies on Python and we disabled Python completely sometime
back so this has not really been functional. If we feel we require it
really for some C work we will enable Python and this package again.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-04 16:57:20 +05:30
1ae0477bfb nvim: lua: lsp: Add key bindings for navigating LSP diagnostics
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-03 16:53:40 +05:30
fa04744c9a nvim: Enable purescript language server
This does not perform any better than purs ide and psc-ide-vim could not
jump to definitions in other components which is the same case here.
But, at least we now need one less package and additional bindings for
psc-ide-vim.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-03 14:26:19 +05:30
f40584b6a9 nvim: Enable LSP support for Haskell
With ghcide release v0.2.0 adding multi-component support this should
work more widely now. We still can have tags, so change the key binding
for jump to definition and drop key binding K for Hoogle.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-03 12:35:15 +05:30
01de471188 nvim: plugin_settings: Disable omni completion for Haskell
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-01 11:22:10 +05:30
490210fb98 nvim: keymappings: Change binding for creating workspace
Having it as <Leader>ws made the save binding <Leader>w slow.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-01 09:51:21 +05:30
f0dc894593 nvim: Drop supertab
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-30 12:32:51 +05:30
af01dd3351 nvim: config: Disable internal matchit
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-29 17:23:35 +05:30
4aa66a5e59 nvim: Add fzf
The only reason fzf.vim functioned till now seems to be due to the fact
that we were loading fzf.vim found in /usr/share/vim/vimfiles. Do not
rely on this and specify it in plugins.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-29 16:20:16 +05:30
dc895fe1ee nvim: Refactor the nvim-lsp settings
This also helps in the key bindings now being in effect only for which
language servers has been enabled.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-29 11:14:00 +05:30
19d00c7ac5 nvim: Add vim-fugitive for git back
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-27 20:50:06 +05:30
c42e841e3e nvim: Switch to vim-sneak
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-27 15:15:32 +05:30
4051932e7e nvim: config: Fix pumblend for wild menu
We broke this in our last clean up which meant this was not working
anymore with the given option.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-27 15:15:18 +05:30
a20fa4494c nvim: Update to some keymappings for git and drop gina
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-27 10:31:06 +05:30
2ad7100749 nvim: Configure nvim-completion & remove conflicting LSP bindings
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-25 19:00:55 +05:30
901c4cd1fd nvim: after: ftplugin: C: Set colorscheme to wombat
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-24 19:09:48 +05:30
69654597d2 nvim: Use in built LSP for rust
While at it, use wombat colorscheme for Rust.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-24 16:57:26 +05:30
96127801a7 nvim: after: ftplugin: purescript: Update some keymappings
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-24 16:15:57 +05:30
77db00dcba nvim: init.vim: Drop text object plugins we do not use
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-24 13:43:01 +05:30
7a9e5f3b7d nvim: Move the QF autocmd to it's ftplugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 18:19:01 +05:30
5e5b331986 nvim: after: ftplugin: c: Forgot to clean up neomake here
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 17:08:44 +05:30
26ce7085a5 nvim: init.vim: Add OmniCppComplete
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 16:56:03 +05:30
8c1b5dd9b3 nvim: Add simple terminal toggle plugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 15:48:27 +05:30
800d725c28 nvim: init.vim: Add syntax highlighting for Jenkins & Lua
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 14:55:04 +05:30
f977b8a246 nvim: Nuke everything Python related
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 14:47:16 +05:30
cdc8feecc8 nvim: Switch to completion-nvim and drop deoplete
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 12:36:08 +05:30
c5bf8764f6 nvim: colors: Add modified wombat color scheme
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 11:36:59 +05:30
a11a6d3ba2 nvim: after: ftplugin: haskell: Add a asyncdo mapping for hlint
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-22 17:55:00 +05:30
333576e90d nvim: Add vim-markify
Now that we have dropped Neomake add a simple plugin to add the
functionality of quickfix signs.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-22 17:16:52 +05:30
bc6a097739 nvim: Miscellaneous clean up
1. Clean up the remnants of Neomake and grepper config left behind
2. Drop quickui and use a custom preview function for items in QF
window stolen from floaterm plugin's author
3. Cleanups for vim default configuration settings like wildignore

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-22 15:33:11 +05:30
db58f26760 nvim: init.vim: Drop vim-haskellFold
We do not use folds.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-22 10:32:44 +05:30
e366962b4e nvim: plugin: statusline: Oops, make read only descriptive
Just R does not make any sense.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-22 10:31:54 +05:30
467a660409 nvim: Drop neomake, QFGrep and vim-grepper
Profiling with below
nvim -c 'profile start vim.log' -c 'profile func *' -c 'q'

shows that neomake adds to the start up time. Currently we only use it
for two tasks. Running hlint for Haskell and stack build asynchronously.

Use asyncdo and define a generic wrapper command for running makeprg
asynchronously. This can be used for anything as long as makeprg is
set correctly.

vim-grepper also adds somewhat to the startup time though not much. We
do not need the functionality of switching between grep tools. Here
again just use asyncdo and define a generic command for running grepprg
asynchronously.

Drop QFGrep as we can use in built Cfilter plugin for filtering the
quickfix list.

Note that all start times mentioned above are a few milliseconds not
even more than 5ms. However, we would like to be as fast as possible
and use in built functions.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-21 16:39:06 +05:30