Commit graph

323 commits

Author SHA1 Message Date
Sanchayan Maity 763f811931 nvim: after/plugin/haskell: Cleanup settings not required anymore
We dropped the Haskell syntax plugin for treesitter and also ghcid.
Remove settings which were for those plugins.
2021-09-11 11:57:10 +05:30
Sanchayan Maity 3edfac79b4 nvim: after/plugin/completion: Disable tags completion
We were using tags completion for C projects primarily but now that we
have enabled clangd LSP, disable tags based completion.
2021-09-10 14:06:59 +05:30
Sanchayan Maity ccb4b4343d nvim: after/plugin: fugitive: Update key mappings 2021-09-10 13:41:24 +05:30
Sanchayan Maity bdc14d4ebc nvim: Add lightbulb for discoverable LSP code actions 2021-07-26 18:44:41 +05:30
Sanchayan Maity d00bf90b30 nvim: after/plugin: nvimgdb: Update nvim-gdb configuration 2021-07-21 10:29:21 +05:30
Sanchayan Maity 2a2f85b82e nvim: completion: Update nvim-compe settings
Sync with upstream. While at it, since we do not use autocomplete
anymore, change min_length to 1 to trigger completion easily.
2021-07-16 10:54:46 +05:30
Sanchayan Maity efaba37bcf nvim: fugitive/git: Add helper to rename branch 2021-07-15 21:12:27 +05:30
Sanchayan Maity d3b8cec40a nvim: git: Add functionality to restore using git reflog 2021-07-09 10:34:12 +05:30
Sanchayan Maity 8fc44227f2 nvim: after/plugin/completion: Disable autocomplete 2021-07-05 17:43:10 +05:30
Sanchayan Maity 119c91a6b7 nvim: plugins: Add nvim-gdb 2021-07-05 17:39:56 +05:30
Sanchayan Maity a51f16304c nvim: after/ftplugin: git: Do not set bufhidden to wipe
This resulted in not being able to go back to the previous buffer when
using something like git log which is not we want.
2021-06-23 12:30:18 +05:30
Sanchayan Maity a16c244fce nvim: autoload/ftplugin: git: Add rebase and merge helpers 2021-06-17 16:58:12 +05:30
Sanchayan Maity 108630d19c nvim: Move plugin configuration files to after/plugin
Now that neovim runtime can also source lua files from traditional vim
runtime directories like after/plugin/ftplugin etc, move all plugin
configuration files to after/plugin.
2021-06-17 10:07:51 +05:30
Sanchayan Maity ca9e0d1754 nvim: after/plugin: fzf: Move fzf configuration
Do all fzf configuration in after/plugin instead of lua/modules. While at
it, add functionality to add fzf items to the quickfix list.
2021-06-16 19:11:11 +05:30
Sanchayan Maity 5d2d279e9e nvim: after/ftplugin: help: Add key mapping for closing help files 2021-06-15 08:34:27 +05:30
Sanchayan Maity 8be870b015 nvim: after/ftplugin: man: Set nobuflisted and bufhidden for man pages 2021-06-10 10:30:27 +05:30
Sanchayan Maity 3942f04633 nvim: after/plugin: fugitve: Use gS mapping to stash file
While at it, use <Leader>G for :Git.
2021-06-07 20:54:41 +05:30
Sanchayan Maity 3a6b12d118 nvim: after/ftplugin: mail: Disable whitespace in mail
We do not care about whitespace when constructing replies from within
mutt.
2021-06-05 17:42:48 +05:30
Sanchayan Maity 3ba1673068 nvim: after/plugin: fugitive: Update gF and gE mapping
Often it is convenient to merge remote branch origin/foo into local
branch foo, without having to checkout foo first. Use gF mapping for
the same.

One may edit alternate versions of the file in different branches using
:Gedit <branch>:/path/to/file. Use gE mapping for the same.
2021-06-04 15:50:35 +05:30
Sanchayan Maity e3df9adf91 nvim: after/ftplugin: C: Fix quickr cscope mappings
These seem to not work with nnoremap for some reason.
2021-06-03 20:55:19 +05:30
Sanchayan Maity 525d73373d nvim: after/ftplugin: Set wipe on bufhidden for dirvish and gitcommit 2021-06-02 13:54:26 +05:30
Sanchayan Maity d7ff7f1ec2 nvim: after/ftplugin: Fix various key mappings
Also see the previous commit for more context.
2021-05-29 13:39:44 +05:30
Sanchayan Maity efe3e7e517 Revert "nvim: after: ftplugin: Fix various key mappings"
This reverts commit e6397864d0.

This was actually wrong. nnoremap should be always what we want. For
example, this broke the <Leader>r mapping for gitrebase and would invoke
:Reword from lambdalisue/reword.vim.
2021-05-29 13:39:44 +05:30
Sanchayan Maity 4e2abc80df nvim: after/ftplugin: gitrebase: Add vim-interactive-rebase-reverse
The plugin is a pretty small ftplugin. Just add it to our ftplugin.
This also fixes the issue where this plugin did not take affect
when using interactive rebase from within fugitive.
2021-05-29 13:39:44 +05:30
Sanchayan Maity 748fd222da nvim: after/ftplugin: Use 'wipe' for bufhidden 2021-05-25 11:39:40 +05:30
Sanchayan Maity f088e258da nvim: after/plugin/fugitive: Add some more key mappings 2021-05-25 10:48:33 +05:30
Sanchayan Maity a567150a64 Revert "nvim: after/ftplugin: javascript: Add keymapping to invoke prettier"
This reverts commit 1ba2fee97d.

Now that we enable nvim-lsp-ts-utils, this is not required anymore.
2021-05-24 17:20:23 +05:30
Sanchayan Maity 9b639279d9 nvim: after/plugin: Add j and k motion to the jump list 2021-05-18 19:40:03 +05:30
Sanchayan Maity f05e5bcd5d nvim: after/plugin: fugitive: Add a key mapping for Gedit
Gedit is helpful to open up previous versions of the file. For example,
:Gedit HEAD~3:% loads the current file as it existed 3 commits ago.
2021-05-18 13:11:23 +05:30
Sanchayan Maity 5462060452 nvim: plugins: Drop rainbow
Does not really work with treesitter.

There is nvim-ts-rainbow but it seems to have performance problems.
https://github.com/p00f/nvim-ts-rainbow/issues/5
2021-05-17 20:38:09 +05:30
Sanchayan Maity 2031d90b49 nvim: after/ftplugin: python: Set textwidth to 0
Let the formatter decide how to wrap lines.
2021-05-17 13:41:02 +05:30
Sanchayan Maity 87c23e3bbc nvim: after/plugin: vsnip: Fix conflicting key mapping with sneak 2021-05-17 10:34:43 +05:30
Sanchayan Maity 08df60f731 nvim: after: git/fugitive: Add settings and mappings to not leave buffers behind 2021-05-14 16:34:25 +05:30
Sanchayan Maity 8694445d2d nvim: after: plugin/ftplugin: Drop unnecessary maps
Fugitive/vim already provides the necessary mappings. No need for
mapping these.
2021-05-14 13:46:25 +05:30
Sanchayan Maity e24fc200ec nvim: Add support for using snippets 2021-05-13 21:07:42 +05:30
Sanchayan Maity 1c9b8aae40 nvim: plugins: Add support for Coq 2021-05-13 19:38:37 +05:30
Sanchayan Maity 1ba2fee97d nvim: after/ftplugin: javascript: Add keymapping to invoke prettier
Different prettier versions format differently. Add a keymapping to
invoke the project local prettier. Using Neoformat prettier uses the
global install prettier which can give different results.
2021-05-13 17:01:29 +05:30
Sanchayan Maity aa1bdca912 nvim: plugins: Drop guile support
We added this to explore guix but lost interest. Also no time. Will only
explore racket if at all.
2021-05-12 19:23:36 +05:30
Sanchayan Maity 048095bb2e nvim: Update mappings for ferret 2021-05-08 14:40:04 +05:30
Sanchayan Maity b064bb14a9 nvim: lua: plugins: Add diffview
Also add a helper on lines similar to Git difftool from fugitive.
2021-05-03 19:25:38 +05:30
Sanchayan Maity e6397864d0 nvim: after: ftplugin: Fix various key mappings
Make sure we use <buffer> to make a local mapping just for the active
buffer.
2021-05-02 19:23:57 +05:30
Sanchayan Maity 5398b83200 nvim: after: ftplugin: Fix various auto commands usage
Fix missing clearing of auto commands in various file type plugins.
2021-05-02 19:23:57 +05:30
Sanchayan Maity d7c2ca6e43 nvim: ftplugin/autoload: C: Run gst-indent on save 2021-05-02 19:23:57 +05:30
Sanchayan Maity 07bd4e8592 nvim: lua: plugins: Drop hlslens 2021-04-29 13:41:19 +05:30
Sanchayan Maity b9e5fb64bf nvim: fugitive: Refactor and add some more git helpers 2021-04-27 09:29:41 +05:30
Sanchayan Maity 765eec81b6 nvim: after: fugitive: Update key mappings 2021-04-19 12:20:00 +05:30
Sanchayan Maity ff7e6f524c nvim: git/fugitive: Add helper for git branch and checkout 2021-03-19 12:15:52 +05:30
Sanchayan Maity 3b2e3adee1 nvim: plugins: Enable support for guile 2021-03-10 21:36:55 +05:30
Sanchayan Maity c5cd375c25 nvim: modules: completion: Move key bindings in lua module
nvim-compe recently included instructions on using backspace and tab
correctly. Include the same configuration.
2021-02-08 11:42:01 +05:30
Sanchayan Maity 9c889caa9a nvim: plugin: compe: Use TAB and S-TAB to cycle through popup menu
We mistakenly dropped this while switching to compe from
completion-nvim.
2021-02-05 13:58:42 +05:30
Sanchayan Maity 0981238a3c nvim: ftplugin: haskell: Clean up hoogle settings
Should have been cleaned up as part of 14ebb51f9f.
2021-02-04 23:29:30 +05:30
Sanchayan Maity 9918959aa2 nvim: Switch to nvim-compe 2021-02-02 18:09:35 +05:30
Sanchayan Maity 91be84b9d7 nvim: Switch back to fugitive again :)
With most of our operations now being done through fzf + git command
line or lazygit, we primarily only require the log & blame facilities.
The blame interface in Gina is confusing.

This time however, we include some nice helper functions of our own.
2021-02-01 18:17:13 +05:30
Sanchayan Maity 7ebc88268b nvim: colors: yolokai: Update pandoc and yaml syntax highlighting
This improves the highlighting for files written in pandoc markdown.
It seems having the rainbow parentheses plugin active, results in
overwriting the syntax highlighting for URLs.
2021-01-29 11:36:46 +05:30
Sanchayan Maity 14ebb51f9f nvim: plugins: Drop vim-hoogle
With LSP enabled for Haskell, we do not really need this.
2021-01-16 12:28:44 +05:30
Sanchayan Maity 054b3188ce nvim: ftplugin: markdown: Update pandoc settings
Use citeproc as backend for bibliographic completion. The embedded
language setting is required to highlight the language blocks.
2021-01-13 16:16:49 +05:30
Sanchayan Maity 757b29b026 nvim: Allow doing commits from within floating terminal
With this we can invoke git commit and not have a nested neovim
instance. This also makes 'C' option in lazygit to work properly
when lazygit is being used from the floating terminal with floaterm.
2021-01-09 17:21:17 +05:30
Sanchayan Maity 39405e8cab nvim: ftplugin: Add & fix mapping for jumping between changes 2021-01-09 17:01:37 +05:30
Sanchayan Maity 3f6d104eb0 nvim: markdown: Set formatting mode to hard wrap with smart auto formatting 2020-12-23 20:02:51 +05:30
Sanchayan Maity f73f40f5af nvim: Drop searchlight and switch to hlslens 2020-12-23 16:38:55 +05:30
Sanchayan Maity 8e07da50c9 nvim: Add pandoc support 2020-12-14 12:41:35 +05:30
Sanchayan Maity fef45b50e9 Drop init.vim
With the below PR merged
https://github.com/neovim/neovim/pull/12235

init.lua is now first class and we have no need for init.vim anymore.
2020-12-07 13:05:08 +05:30
Sanchayan Maity 432cb2c98f nvim: after: ftplugin: txt: Set textwidth to 78 2020-11-17 10:45:51 +05:30
Sanchayan Maity 6b36e648d9 nvim: after: ftplugin: C: Do not enable folds 2020-11-06 12:28:17 +05:30
Sanchayan Maity acb5bfcf05 nvim: ftplugin: C: Update tag generation command
For correct preview with FZFTags, this is needed to help locate the line
position of the tag.
2020-11-05 19:17:54 +05:30
Sanchayan Maity 7bc8295486 nvim: Clean up commands for searching word under cursor 2020-11-05 18:58:37 +05:30
Sanchayan Maity 2c5c6b7c1a nvim: Drop tabular 2020-10-30 16:37:06 +05:30
Sanchayan Maity cbd37c1856 nvim: Move to packer 2020-10-29 21:06:46 +05:30
Sanchayan Maity efc8bf88b5 nvim: Except for gina migrate everything in after/plugin to lua 2020-10-24 11:06:27 +05:30
Sanchayan Maity b1c51c6e83 nvim: Migrate from vim-plug to paq-nvim 2020-10-24 11:06:27 +05:30
Sanchayan Maity cb16ddec0c nvim: Refactor configuration and start moving to lua 2020-10-23 17:23:51 +05:30
Sanchayan Maity 6bffe738c9 after: ftplugin: Set textwidth & wrapmargin to 0 for meson & configure files 2020-10-20 13:08:39 +05:30
Sanchayan Maity 18b93f32d7 nvim: Refactor and update settings for completion-nvim
Use of trigger keys has been updated upstream. Also disable auto
completion.
2020-10-13 19:46:43 +05:30
Sanchayan Maity d04c8675f9 nvim: Switch back to gina dropping fugitive
The only purposes we have been using fugitive for is status and commit
which should be equally comfortable with gina. Gina log is really
instantaneous even on big repositories like Linux while fugitive just
freezes vim. For handling hunks, merge and rebase conflicts we anyways
rely on the other plugins.

We use edita so that applications which use $EDITOR internally can work
inside neovim terminal without opening another instance which does not
work with the already running instance. This is required for things like
interactive rebase. See below issue.
https://github.com/lambdalisue/gina.vim/issues/276

We drop fzf-checkout as it isn't that useful anymore since gina allows
easy checkouts for branch or tags easily.
2020-10-06 17:43:02 +05:30
Sanchayan Maity 160ed5b1c1 Revert "Revert "nvim: Switch to signify""
This reverts commit 79be97c081.

While signify has the below issue
https://github.com/mhinz/vim-signify/issues/345

still drop gitgutter and use signify as gitgutter might have problems as
observed in this thread.
https://github.com/nvim-lua/completion-nvim/issues/203
2020-10-05 20:48:56 +05:30
Sanchayan Maity 682c735651 nvim: after: ftplugin: Clean up Haskell 2020-09-24 17:00:06 +05:30
Sanchayan Maity 3bc32b2e34 nvim: after: ftplugin: Drop rust
We dropped neomake long back and this should have been dropped with
467a660409.
2020-09-24 16:55:56 +05:30
Sanchayan Maity 7e575f9ca4 nvim: after: ftplugin: Drop CPP
The settings done in this file where specific to syntax plugins which we
do not use anymore and should have been dropped with af410754a4.
2020-09-24 16:53:04 +05:30
Sanchayan Maity c25188661b nvim: Add fzf-preview
This plugin provides support for Quickfix and Location list along with
previews. Also, does not do fuzzy match on file names which is useful.
Move some of the commands from fzf to fzf-preview as it provides
previews for those as well.

Using pedit for previews for quickfix list wasn't super comfortable.
Drop it, now that we have quickfix preview with fzf-preview.
2020-09-22 20:33:49 +05:30
Sanchayan Maity 78447af8df nvim: after: ftplugin: C: Set makeprg to ninja
For C, we now work on pulseaudio, gstreamer and pipewire projects which
all use meson and ninja, so set makeprg to ninja build command.
2020-09-22 12:58:36 +05:30
Sanchayan Maity 79be97c081 Revert "nvim: Switch to signify"
See open issue
https://github.com/mhinz/vim-signify/issues/345

Makes signify completely unusable if the undo hunks feature is desired.

This reverts commit b25091fae6.
2020-09-14 10:09:47 +05:30
Sanchayan Maity b25091fae6 nvim: Switch to signify
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-09-09 13:25:52 +05:30
Sanchayan Maity 27d4b8d326 nvim: Update git key bindings
fzf checkout plugin introduced some new functionality. Taking advantage
of that update existing and introduce some new key bindings.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-09-02 11:21:53 +05:30
Sanchayan Maity c134bd4326 nvim: after: plugin: fzf: Add key mapping for recently accessed buffers
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-07-22 14:49:27 +05:30
Sanchayan Maity 0abeb9d927 nvim: Refactor out asyncdo & completion keymappings
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-07-14 19:15:14 +05:30
Sanchayan Maity 9fe8808e7e nvim: ftplugin: haskell: Assume hasktags & hlint are available in path
We assume these are installed via nix and available globally. hasktags
and haskdogs do not build with stack on ghc8.8 and hence this switch.
With nix, haskdogs gives an issue due to locale like is also observed
when stack is installed via nix. codex does not seem to generate tags
which work.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-07-11 13:12:39 +05:30
Sanchayan Maity aa99ea7e0c nvim: Drop quickui
Revert 13cea58905. This does not play well with defined color scheme and
overrides it which is annoying. The VimEnter approach mentioned did not
work, so just drop it and use preview windows as earlier.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-07-07 20:54:46 +05:30
Sanchayan Maity 8b9e46b8b8 nvim: Switch to using a color scheme template engine
Use this color scheme template to have a proper custom monokai color
scheme variant.
https://github.com/Iron-E/nvim-highlite

We will call it yolokai. YOLO monokai. While at it, drop all earlier
ones.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-07-07 16:34:51 +05:30
Sanchayan Maity a649021325 nvim: Move key mappings for fzf & gitgutter to after/plugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-26 19:30:15 +05:30
Sanchayan Maity a2d603d61a nvim: Re-introduce git-messenger
Now that we have dropped golden-ration add git-messenger back.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-24 20:23:30 +05:30
Sanchayan Maity 13cea58905 nvim: Add back quickui again for floating preview windows
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-21 09:51:12 +05:30
Sanchayan Maity c6bb3ecdfc nvim: after: ftplugin: Add n & S fields when generating tags
n will tell ctags add a line number filed in each tag record
and S means including function signatures.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-20 14:46:12 +05:30
Sanchayan Maity 254e6754b9 nvim: after: ftplugin: qf: Always open QF window at bottom
This got mistakenly dropped by commit 8ea80b9af7.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-06-19 10:53:44 +05:30
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity 19d00c7ac5 nvim: Add vim-fugitive for git back
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-27 20:50:06 +05:30
Sanchayan Maity c42e841e3e nvim: Switch to vim-sneak
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-27 15:15:32 +05:30
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity 96127801a7 nvim: after: ftplugin: purescript: Update some keymappings
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-24 16:15:57 +05:30
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity f977b8a246 nvim: Nuke everything Python related
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-23 14:47:16 +05:30
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity 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
Sanchayan Maity f8d48a4dc4 nvim: after: ftplugin: qf: Do not set relative number in QF window
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-17 20:58:06 +05:30
Sanchayan Maity 3c0e1088ad nvim: Drop easymotion
We use easymotion primarily for vertical motion and any motion requires
at least 3 or 4 key bindings which isn't necessarily different if we are
using relative numbers. For example, pressing <Leader>j and then
pressing another one or two keys for the vertical movement is the same
number of keys while using relative numbers. So just use relative
numbers and drop it. We also never used the word and character motions
or cross window motions.

Use f,F,t,T for horizontal line motions. Use clever-f for this, which
improves the default behaviour. For any other motion not covered by
these two, just use incsearch.

While at it, move some of the key bindings to after/plugin to have
key bindings specific to a plugin in it's own file.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-10 20:41:02 +05:30
Sanchayan Maity fee71ae71e nvim: Miscellaneous clean up
Make sure key bindings are local to the file type buffer.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-09 19:17:58 +05:30
Sanchayan Maity 5e1995d731 nvim: ftplugin: gitcommit: Add diff section jump only for git commits 2020-05-09 14:17:43 +05:30
Sanchayan Maity f43e74690f nvim: after: ftplugin: Add helper key bindings for git rebase 2020-05-09 12:25:58 +05:30
Sanchayan Maity a2228c077b nvim: ftplugin: purescript: Set textwidth and wrapmargin to 0
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-02 12:22:02 +05:30
Sanchayan Maity 55d3655ffe nvim: ftplugin: haskell: Enable classic highlighting for Haskell
Gives color separation in molokai between "instance" and "Typeclass Type".

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-04-30 10:29:24 +05:30
Sanchayan Maity 643cdfef11 nvim: Some minor cleanups, additions and refactor
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-04-21 16:14:15 +05:30
Sanchayan Maity 932e3ffc42 nvim: LSP cleanup and refactor
LSP does not work all the time. Either client breaks, server breaks or
it does not work because of the project structure. Removing LSP for the
umpteenth time.

asyncomplete does not seem to work at all for tags. For example, in the
gst-build directory the generated tags file can be 200MB+ in size. Even
with the file size limit set to unlimited it does not seem to give any
tag suggestions at all. Same is the case for Haskell.

Mucomplete can be slow in such cases where tag file is very large or
search space is extensively large and being synchronous this is to be
expected. To alleviate this, it is necessary to have a minimum prefix
length of 2 and perhaps trigger completion only when required. However,
this was still not good enough.

We are back to deoplete with custom source configuration. It is pretty
clear vimscript solutions are not up to the mark. Enable python provider
and also reintroduce language specific solutions like racer and jedi.

Refactor out language/file type specific settings. init.vim should only
have global keybindings, plugins and plugin settings. Also some other
minor cleanups, additions and rearrangements.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-04-15 09:27:36 +05:30