Commit graph

164 commits

Author SHA1 Message Date
Sanchayan Maity 07b161acf6 nvim: plugins: Add wilder for suggestions in wildmenu 2021-12-21 19:56:52 +05:30
Sanchayan Maity 8e0fdbdaae nvim: Drop nvim-cmp
Auto-completion has mostly been annoying than of any actual use. Just
fancy annoying crap. Just use in built omni completion.
2021-12-14 15:44:33 +05:30
Sanchayan Maity 7a9333a9e1 nvim: plugins: Drop nvim-web-devicons 2021-12-13 13:43:19 +05:30
Sanchayan Maity 5716ca88af nvim: plugins: Switch to lualine 2021-12-10 10:58:19 +05:30
Sanchayan Maity e488171b08 nvim: plugins: Add vim-matchup
We also enable the treesitter integration.
2021-12-06 10:28:30 +05:30
Sanchayan Maity 7001fc4603 nvim: plugins: Add cmdline completion 2021-12-06 10:28:30 +05:30
Sanchayan Maity 46534e547c nvim: plugins: Add nvim-lint 2021-11-28 17:53:49 +05:30
Sanchayan Maity 49cf726ce0 nvim: plugins/lsp: Drop null-ls
See the below issue
https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/issues/87

We went with null-ls because we wanted formatting with prettier. Also
null-ls was recommended by nvim-lsp-ts-utils.

The advantage of null-ls is it provides formatting and diagnostics
together in one package.

However, we will get prettier by another means and for linting switch to
nvim-lint.
2021-11-28 17:53:42 +05:30
Sanchayan Maity ee584495dc nvim: plugins: Drop AnsiEsc and add a simpler replacement
Sanitises buffer by removing ANSI codes.

Idea taken from
https://www.reddit.com/r/neovim/comments/qqf4nn/comment/hk1nwnk
https://superuser.com/questions/1445805/removing-ansi-color-codes-from-a-text-file-in-vi
2021-11-18 10:38:38 +05:30
Sanchayan Maity ab56185c9e nvim: plugins: Drop git-messenger
We have git blame via gitsigns or fugitive. Either should suffice.
2021-11-17 11:13:14 +05:30
Sanchayan Maity 56842dd2a9 nvim: Switch to hop and drop sneak 2021-11-17 11:13:14 +05:30
Sanchayan Maity a7b12dc642 nvim: plugins: Enable GBrowse support
GBrowse also seems to at least need the autoloaded functions from netrw,
so we only disable netrw commands and mappings.

See https://github.com/tpope/vim-fugitive/issues/1010.
2021-11-08 12:31:17 +05:30
Sanchayan Maity 2548f63793 nvim: plugins: Drop diffview
Something as basic as :DiffviewOpen <commit> does not work.
2021-10-20 22:11:38 +05:30
Sanchayan Maity bfb4d258b3 nvim: plugins: Switch to luasnip 2021-10-20 13:01:21 +05:30
Sanchayan Maity 27dec93c97 nvim: plugins: Switch to vim-dispatch from asyncdo
It has a few more things than asyncdo and automatically handles makeprg
not that setting a custom command to handle makeprg with asyncdo was
a problem but still. Should also be useful for fugitive git push,
believe it will use dispatch when available.
2021-10-17 18:30:31 +05:30
Sanchayan Maity 936e6149de nvim: plugins: Switch to Comment.nvim from commentary.vim 2021-10-17 18:30:31 +05:30
Sanchayan Maity fa81a1c107 nvim: plugins: Drop the rtp fix for friendly-snippets
See the actual fix upstream
32ddc125ec

This could be probably unrelated and just was fixed in neovim core
perhaps. Either ways we do not need to do this anymore.
2021-10-16 17:31:29 +05:30
Sanchayan Maity 4c6a34d07f nvim: plugins: Switch from vim-signature to marks.nvim 2021-10-14 00:43:31 +05:30
Sanchayan Maity a83b07959d nvim: lsp: Drop lsp_signature
The signature help sometimes stays open even after moving away from
the function. Sometimes it conflicts with the auto completion pop-up
making it difficult to see one of the two windows.
2021-10-11 13:28:07 +05:30
Sanchayan Maity cf15054719 nvim: plugins: Add pretty Quickfix windows 2021-10-11 13:28:07 +05:30
Sanchayan Maity a8d0a43556 nvim: plugins: Add toggleterm
Serves as a good replacement to floaterm.
2021-10-05 15:44:29 +05:30
Sanchayan Maity c237a19e0b nvim: plugins: Drop floaterm
See the previous commit for the reason of dropping this.
2021-10-05 12:59:43 +05:30
Sanchayan Maity 79e4022b0e nvim: plugins: Drop nvim-gdb
termdebug seems good enough so just drop this. Or we will use nvim-dap
if needed. However, termdebug should be enough really. We also just
found gdb-dashboard which seems great adding just the necessary UI bits.
2021-10-04 09:56:37 +05:30
Sanchayan Maity b7036e5bfe nvim: plugins: Drop vim-togglelist
Was never really needed. Can just use open and close for quickfix and
location list.
2021-10-03 13:10:43 +05:30
Sanchayan Maity 2ff1ba46e1 nvim: plugins: Add TSUpdate as post install hook for treesitter 2021-10-02 17:19:34 +05:30
Sanchayan Maity ef61388c72 nvim: plugins: Drop neoformat
With LSP providing formatting have not used this in more than a year.
Just drop it. Also it is pretty stupid to look for everything global &
not use language build tool to pick the correct formatter and its
configuration.
2021-10-02 17:19:34 +05:30
Sanchayan Maity 331885ea25 nvim: plugins: Drop vim-better-whitespace
Using formatter already does this, so drop it.
2021-10-02 12:45:08 +05:30
Sanchayan Maity 05194ded3a nvim: plugins: Load AnsiEsc plugin only on AnsiEsc command 2021-10-02 11:06:23 +05:30
Sanchayan Maity 95d5a10abc nvim: plugins: Drop SyntaxAttr 2021-10-02 11:06:23 +05:30
Sanchayan Maity ae4edc5bed nvim: plugins: Drop unneeded text object plugins 2021-10-02 10:05:12 +05:30
Sanchayan Maity 4b8caad3b6 nvim: plugins: Drop cscope
Now that we have migrated to clang LSP for C, the only reason for
keeping it around was using it to find files in gst-build repository
which was structured in such a way that fzf and rg could not be used.
Now that GStreamer has moved to monorepo setup, we can use fzf and
rg just like in any project. No need for cscope anymore.
2021-09-30 14:20:42 +05:30
Sanchayan Maity b6063211f7 nvim: plugins: Fix snippets not showing up in completion
For some reason without adding the snippets to the runtime path,
snippets do now show up in completion.

Found the solution here though the issue is on Ultisnips
https://github.com/hrsh7th/nvim-cmp/issues/241
2021-09-27 16:40:55 +05:30
Sanchayan Maity be02b5ead7 nvim: Switch to nvim-cmp
nvim-compe has been deprecated. While we tried to make it a few days
without any completion support, in javascript/typescript could not get
the default omnicompletion to work at all. It is possible that this
could be due to nvim-lsp-ts-utils/null-ls but who is gonna debug.

Also tried MUcomplete but it just would not work. There are open issues
on this. See https://github.com/neovim/neovim/issues/12390 and also
https://github.com/lifepillar/vim-mucomplete/issues/179.

So here we are with nvim-cmp. Some observations in comparison to compe
before. Using buffer completion seems not possible as most of the times
LSP completion items then do not turn up. Do not know if this is server
specific but at least it is the case with Rust. compe seemed better
performance wise especially in tsserver and considering the buffer
problem mentioned above. Also, even with vsnip added as the completion
source can't seem to get any snippet specific completions working.

Could have ditched all completion support if I did not have to use
tsserver but need it for work currently. So we will stick to enabling
this and hopefully it improves in future.

Fuck nodejs, javascript and typescript.

For references see,
https://github.com/kristijanhusak/neovim-config
https://github.com/sQVe/dotfiles/tree/master/config/nvim
2021-09-27 16:29:18 +05:30
Sanchayan Maity c781b15582 nvim: Drop signify and switch to gitsigns
signify seems to be giving an error after somewhat long usage of
"E489: too many highlight and syntax groups".
2021-09-27 13:14:27 +05:30
Sanchayan Maity 975e6a646e nvim: plugins: Switch from vim-which-key to which-key 2021-09-27 13:14:20 +05:30
Sanchayan Maity 00670a867f nvim: lsp: Enable rust-tools for inlay hints 2021-09-27 12:31:27 +05:30
Sanchayan Maity 71f5c334f1 nvim: plugins: Drop nvim-peekup
Does not work correctly and keeps pasting in the first window instead of
where the cursor is placed.
2021-09-21 11:02:25 +05:30
Sanchayan Maity 52ff789cf3 nvim: Switch to the maintained galaxyline fork
See
https://github.com/NTBBloodbath/galaxyline.nvim
https://www.reddit.com/r/neovim/comments/pq3zvq/galaxylinenvim_is_back/
2021-09-21 11:02:25 +05:30
Sanchayan Maity bdc14d4ebc nvim: Add lightbulb for discoverable LSP code actions 2021-07-26 18:44:41 +05:30
Sanchayan Maity a493297cae nvim: plugins: For handling files with ANSI escape sequences better 2021-07-12 12:23:52 +05:30
Sanchayan Maity 119c91a6b7 nvim: plugins: Add nvim-gdb 2021-07-05 17:39:56 +05:30
Sanchayan Maity fff7723126 nvim: treesitter: Enable Haskell 2021-06-28 16:43:06 +05:30
Sanchayan Maity 112239bd31 nvim: plugins: Drop indentLine
indentLine seems to have general performance issues.
2021-06-26 11:19:47 +05:30
Sanchayan Maity 6406ae8a71 nvim: plugins: Drop plugins
Drop plugins we never use anymore or got around to using.
2021-06-23 12:30:11 +05:30
Sanchayan Maity 44a39eee24 nvim: treesitter: Enable playground
Helps to see what treesitter queries are being made. Would be helpful in
tuning the color scheme.
2021-06-23 12:28:44 +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 511d5a17aa nvim: plugins: Add plenary and null-ls
nvim-lsp-ts-utils now has plenary and null-ls as a requirement.
2021-06-10 10:30:27 +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 7383245dd3 nvim: plugins/lsp: Add nvim-lsp-ts-utils 2021-05-24 17:20:23 +05:30
Sanchayan Maity 66f07fba89 nvim: plugins/treesitter: Enable treesitter text objects 2021-05-22 15:30:52 +05:30
Sanchayan Maity 66b022dcb0 nvim: plugins: Add various text object plugins 2021-05-21 11:16:43 +05:30
Sanchayan Maity 9848348881 nvim: plugins: Drop all LISP support
Flights of fancy. Thought I will learn LISP but dynamically typed
languages are just annoying to work with.
2021-05-17 20:39:46 +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 04b2a511e1 nvim: treesitter: Add fish and nix
Drop the syntax highlighting plugins for fish and nix and switch to
treesitter. The ftdetect is taken from the respective plugins.

We might need to add the indent specific scripts for fish and nix
later since we are not enabling indent with treesitter.
2021-05-14 19:36:43 +05:30
Sanchayan Maity ed8fd2a359 nvim: plugins: Drop textobj-word-column
Does not seem to work as expected due to possible conflict with targets.
2021-05-14 17:12:58 +05:30
Sanchayan Maity 7767b23f69 nvim: plugins: Drop conflict-marker
We have been mostly relying on diffconflicts plugin to resolve merge
conflicts. For complex merge conflicts, it becomes difficult to
understand which conflict hunk to pick. The syntax highlighting also
stopped taking effect due to treesitter probably. So just drop this.
Introducing a mapping to jump among conflicts would be helpful.

We let the syntax highlighting entries in our color scheme be, just
in case we decide to revisit this.
2021-05-14 13:13:43 +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 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 2eea1feb69 nvim: keymappings/plugins: Add support for marks and registers
We drop vim-system-copy and will explicitly use registers when required.
Add nvim-peekup to help with registers and vim-signature for marks. Some
additional helper bindings for working with marks are added as well.
2021-05-12 18:06:12 +05:30
Sanchayan Maity 91604ca16c nvim: lsp/plugins: Add support for automatically showing fn signature 2021-05-08 14:39:58 +05:30
Sanchayan Maity a899271748 nvim: plugins: Search in visual mode using * and # 2021-05-08 14:39:52 +05:30
Sanchayan Maity 3efb1c1c94 nvim: plugins: Drop aniseed
It's really not required and we do not intend to write out nvim
configuration in fennel either. Conjure support for lisp is enough.
2021-05-08 14:39:45 +05:30
Sanchayan Maity d5be9384ed nvim: lua: plugins: Update aniseed and conjure 2021-05-05 20:58:38 +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 3c3558b3d0 Revert "nvim: lua: plugins/colors: Switch to which-key.nvim"
This reverts commit 86de71d5da.

This plugin seems to create problems for things that should work. For
example, trying to paste with 'p' triggers which-key when it should not.
Disabling everything in setup except for Leader prefixed keys does not
work either.
2021-04-30 14:14:48 +05:30
Sanchayan Maity 86de71d5da nvim: lua: plugins/colors: Switch to which-key.nvim 2021-04-29 19:41:30 +05:30
Sanchayan Maity 07bd4e8592 nvim: lua: plugins: Drop hlslens 2021-04-29 13:41:19 +05:30
Sanchayan Maity 053ddbf55e nvim: lua: plugins: Drop vim-tmux-focus-events
This plugin is now obsolete and no longer needed as both neovim and vim
(since version 8.2.2345) have native support for this functionality.
2021-04-28 10:58:39 +05:30
Sanchayan Maity 10237ec093 nvim: lua: plugins: Drop nvim-bqf and add back QFEnter
With nvim-bqf when opening the quickfix list, it jumps around the opened
buffers. For example, when calling LSP reference on a variable in buffer
one, it jumps to buffer three after the quickfix list opens. This is
annoying, so dump it. The preview feature has not been that helpful
anyways.
2021-04-28 10:58:12 +05:30
Sanchayan Maity 39aaa2fd5c nvim: Update conjure to the new release 2021-04-02 20:05:53 +05:30
Sanchayan Maity 3b2e3adee1 nvim: plugins: Enable support for guile 2021-03-10 21:36:55 +05:30
Sanchayan Maity 8943ecf656 nvim: plugins: Update conjure and aniseed 2021-03-10 21:36:55 +05:30
Sanchayan Maity 05a87e36a8 nvim: plugins: Switch from parinfer to vim-sexp 2021-03-10 21:36:55 +05:30
Sanchayan Maity c9526d8997 nvim: Drop vim-smoothie 2021-02-22 14:23:01 +05:30
Sanchayan Maity 47e40e765d nvim: Add support for inserting visual block to anywhere 2021-02-16 20:38:03 +05:30
Sanchayan Maity 75f5b0d63e nvim: lua: plugins: Drop QFEnter
Now that we use nvim-bqf it already provides opening a quickfix entry in
either of tab, split or vsplit. So drop QFEnter.
2021-02-03 16:23:31 +05:30
Sanchayan Maity a18a122b97 nvim: lua: lsp: Drop lspfuzzy
Now that we are using nvim-bqf, we have a nicer interface to quickfix
list and nvim-bqf also integrates fzf mode. So drop lspfuzzy.
2021-02-02 20:28:51 +05:30
Sanchayan Maity cb6eef2314 nvim: lua: lsp: Drop lsp-status
We use galaxyline for the status line and it already provides
LSP diagnostics info. So drop lsp-status. While the progress
message during the loading in status line is nice, may be will
incorporate it later by picking only the required pieces.

While at it, expose all diagnostics via statusline using galaxyline
components.
2021-02-02 20:13:07 +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 a23caf6d12 nvim: Introduce LISP support 2021-02-01 10:35:29 +05:30
Sanchayan Maity a0739c3ef9 nvim: Switch back to vim-signify
vim-signify recently fixed the below issue which was a problem earlier.
https://github.com/mhinz/vim-signify/issues/345

Considering that gitsigns exhibits a problem where the complete sign
column is marked while in the middle of a rebase, switch back to using
signify.
2021-01-30 15:03:57 +05:30
Sanchayan Maity 48dff4004d nvim: lua: plugins: Do not use file type loading for Haskell plugins
The syntax plugin does not seem to take an effect, when the file type
loading feature from packer is used. So, remove it.
2021-01-27 09:13:47 +05:30
Sanchayan Maity 874a2801d4 nvim: lua: plugins: Add nvim-bqf to improve quickfix 2021-01-21 10:48:59 +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 795fe5208b Revert "nvim: Enable treesitter refactor and text objects"
This reverts commit 41f1e85929.

Enabling these two, seems to somehow result in highlighting not working
anymore. So disable them.
2021-01-14 20:05:41 +05:30
Sanchayan Maity 30011d5c9d nvim: Add SyntaxAttr plugin to help show highlight group under cursor 2021-01-13 16:04:27 +05:30
Sanchayan Maity 41f1e85929 nvim: Enable treesitter refactor and text objects 2021-01-12 16:34:52 +05:30
Sanchayan Maity 5058b6b6b0 nvim: lua: plugins: Drop scrollbar 2021-01-05 14:39:59 +05:30
Sanchayan Maity fcbdfc31ab nvim: Fix LSP configuration
Not sure what changed in recent releases for either nvim, packer or
lspconfig plugins, but, our custom LSP configuration file seems to
not be loaded or have any effect when specified via packer's config
directive. So load it manually in init.
2021-01-01 11:56:33 +05:30
Sanchayan Maity f73f40f5af nvim: Drop searchlight and switch to hlslens 2020-12-23 16:38:55 +05:30
Sanchayan Maity 42f707adb4 nvim: Drop syntax highlighting plugins we do not need 2020-12-23 16:38:55 +05:30
Sanchayan Maity dfe44fb14c git/nvim: Switch to using diffconflicts for resolving merge conflicts
While we dropped diffconflicts earlier and switch to vanilla vimdiff,
two way merges are definitely better than three way merges. 3 way merge
as in gina or vimdiff is extremely confusing except for may be the
simplest of merge conflicts.

conflict-marker and diffconflicts should let us handle all cases.
2020-12-19 16:29:06 +05:30
Sanchayan Maity 62553ba8c7 nvim: plugins/lua: Add lspfuzzy 2020-12-14 17:16:28 +05:30
Sanchayan Maity 8e07da50c9 nvim: Add pandoc support 2020-12-14 12:41:35 +05:30
Sanchayan Maity 2e6e01eb2a nvim: lua: plugins: Drop edita
We added edita to be able to do interactive rebase inside neovim
terminal which Gina does not support by default.

See issue
https://github.com/lambdalisue/gina.vim/issues/276

Mostly haven't been using this, just relying on spawning a separate pane
in tmux or kitty window to do the rebase. So drop this.
2020-12-11 11:40:51 +05:30
Sanchayan Maity 1e55c5d336 Revert "nvim: Switch to using toggleterm instead of floaterm"
This reverts commit 7ef8054d41.
2020-12-08 16:42:42 +05:30
Sanchayan Maity 7ef8054d41 nvim: Switch to using toggleterm instead of floaterm 2020-11-25 10:29:36 +05:30