Commit graph

269 commits

Author SHA1 Message Date
Sanchayan Maity aad3027a89 nvim: after/ftplugin/qf: Use leader key for colder/cnewer 2022-04-03 08:54:34 +05:30
Sanchayan Maity 2d17fe00ab nvim: autoload/git: Use difftool for review
The difftool version is actually useful since it populates the quickfix
list when the -y argument is not used. This gives rise to a possibility
where the quickfix list can be filtered to ignore or look only at files
we want.

While at it also add the version which opens each changed file in a tab
and gives a diffsplit view.
2022-04-03 08:53:46 +05:30
Sanchayan Maity 6ae7da9eca nvim: autoload/git: Introduce a difftool version for git diff 2022-04-02 17:21:23 +05:30
Sanchayan Maity 9ebbd3640b nvim: after/plugin/fzf: BCommits also supports visual selection
BCommits supports visual selection of lines to track changes in
the range.
2022-03-27 19:26:36 +05:30
Sanchayan Maity 1325929554 nvim: after/plugin/fzf: Use tmux popups when in tmux 2022-03-24 09:36:04 +05:30
Sanchayan Maity 7ad8a95d21 Revert "nvim: plugins: Switch to fzf-lua"
This reverts commit 447d4e50b5.

Switch back to fzf.vim as it supports tmux popups.
2022-03-24 09:16:50 +05:30
Sanchayan Maity 9352f12192 Revert "nvim: after/plugin/fzf-lua: Update actions for commits"
This reverts commit b10ba79940.

Reverting this as a step to bring back fzf.vim.
2022-03-24 09:16:50 +05:30
Sanchayan Maity d9746a1c73 nvim: statusline: Decrease the truncation width for git status 2022-03-23 10:28:22 +05:30
Sanchayan Maity 131e5bb364 nvim: after/plugin/snipcomp: Lazy load LuaSnip
LuaSnip needs to be lazy loaded now else it slows down the startup.
2022-03-14 13:36:45 +05:30
Sanchayan Maity 39acdb222f nvim: statusline: Use the new auto command API 2022-03-04 20:19:20 +05:30
Sanchayan Maity 0246931b56 nvim: after/plugin/statusline: Add a git branch ahead behind component
Taken from
https://www.reddit.com/r/neovim/comments/t48x5i/git_branch_aheadbehind_info_status_line_component
2022-03-04 10:14:46 +05:30
Sanchayan Maity 16d3b05a8f nvim: plugins: Drop nvim-gps 2022-03-02 10:46:45 +05:30
Sanchayan Maity b10ba79940 nvim: after/plugin/fzf-lua: Update actions for commits 2022-02-26 13:26:11 +05:30
Sanchayan Maity 6bf989871e nvim: statusline: Fix tree-sitter status
Fixing based on file type was not good enough. Check for error
return and act accordingly.
2022-02-13 14:01:03 +05:30
Sanchayan Maity ac3039d64b nvim: after/plugin/fugitive: Improve git stash command mapping 2022-02-13 14:01:03 +05:30
Sanchayan Maity 447d4e50b5 nvim: plugins: Switch to fzf-lua 2022-02-10 21:31:57 +05:30
Sanchayan Maity 4edfa99a21 nvim: autoload/ftplugin: git: Add helper for format-patch 2022-02-10 21:31:57 +05:30
Sanchayan Maity 9c16443e10 nvim: statusline: Handle some more cases for filename & treesitter status 2022-02-10 21:31:57 +05:30
Sanchayan Maity 7d70992eae nvim: after/plugin/fugitive: Add mapping to help with review 2022-02-10 21:20:51 +05:30
Sanchayan Maity 05bbba29a9 nvim: after/plugin/fugitive: Mapping for diffing in a new tab in Gstatus 2022-02-10 21:20:51 +05:30
Sanchayan Maity 316c17ad13 nvim: after/plugin/fugitive: Improve the diff commands
There was no need for the tab command shenanigans.
2022-02-10 21:20:51 +05:30
Sanchayan Maity 66af0bbd9e nvim: after/plugin/statusline: Use nvim-gps for statusline 2022-02-09 18:14:12 +05:30
Sanchayan Maity 819494b4bb nvim: after/plugin/word-column: Change default mappings for textobj-word-column
We want to use vim-textobj-comment and hence need to make the ac mapping
available.
2022-02-08 15:47:57 +05:30
Sanchayan Maity 8b424a2533 nvim: after/plugin/statusline: Use nvim_set_hl API
See https://github.com/neovim/neovim/pull/17187.
2022-02-08 15:47:57 +05:30
Sanchayan Maity 60478a59b0 nvim: after/plugin/fugitive: Make diff & difftool usage painless 2022-02-08 15:47:57 +05:30
Sanchayan Maity 8ff00d9cb0 nvim: after/plugin/nvim-lint: Enable linting for yaml 2022-01-28 16:35:55 +05:30
Sanchayan Maity 93c92ad067 nvim: plugins: Drop vim-workspace and use auto-session 2022-01-25 10:17:33 +05:30
Sanchayan Maity 73dd1939bd nvim: after/plugin/statusline: Write our own status line plugin
Drop lualine and use our own simple status line. We do not need any
of the fancy stuff, so this works just fine.
2022-01-24 16:15:52 +05:30
Sanchayan Maity 3cf20c4822 nvim: autoload/git: Generate a helpful name to use with stash 2022-01-19 17:44:15 +05:30
Sanchayan Maity 5f26c276ef nvim: plugins: Drop vim-coq-plugin
coqtail can provide syntax highlighting. Not sure why we ever
added vim-coq-plugin.
2022-01-15 16:26:14 +05:30
Sanchayan Maity c35ca910e4 nvim: plugins: Switch to gitlinker from vim-rhubarb
Also see commit a7b12dc6.
2022-01-15 15:53:43 +05:30
Sanchayan Maity 4d978c02f6 nvim: after/plugin/nvim-lint: Enable linting for Dockerfile 2022-01-12 13:16:29 +05:30
Sanchayan Maity cb8dfaddfa nvim: after/plugin/fzf: Add a binding for select all 2022-01-11 11:38:55 +05:30
Sanchayan Maity eea27349ab nvim: plugins: Drop ferret
We hardly ever use this, so drop it.
2022-01-11 11:38:55 +05:30
Sanchayan Maity 5a270db645 nvim: plugins: Drop wilder 2022-01-07 13:36:13 +05:30
Sanchayan Maity 53446a15a1 nvim: after/plugin/wilder: Update configuration
- Do not enable the popup menu automatically
- Use arrow keys to navigate
- Enable for cmdline
2022-01-05 16:05:27 +05:30
Sanchayan Maity 7b19fceff2 nvim: plugins: Drop which-key 2022-01-04 15:15:47 +05:30
Sanchayan Maity cba7712eb2 nvim: after/plugin/nvim-lint: Enable languagetool for markdown & text 2021-12-28 19:24:45 +05:30
Sanchayan Maity 6b9f354f78 nvim: after/plugin: fzf/fzf-preview: Support searching visual selection 2021-12-28 19:24:45 +05:30
Sanchayan Maity 8ed965088a nvim: plugins: Drop vim-pandoc
Drop vim-pandoc as we want to move to syntax highlighting via
treesitter.
2021-12-28 19:24:45 +05:30
Sanchayan Maity ab22c57805 nvim: after/plugin/lualine: Fix typo 2021-12-24 10:25:15 +05:30
Sanchayan Maity 6ab7d9531d nvim: after/plugin/fugitive: Force local tag update on fetch 2021-12-22 12:55:51 +05:30
Sanchayan Maity 07b161acf6 nvim: plugins: Add wilder for suggestions in wildmenu 2021-12-21 19:56:52 +05:30
Sanchayan Maity 755238d83c nvim: after/plugin/fzf: Add some more mappings for preview window 2021-12-16 20:23:36 +05:30
Sanchayan Maity 2a8dd6343a nvim: after/plugin/lualine: Move diagnostics to the right of status line 2021-12-16 18:12:51 +05:30
Sanchayan Maity 4d19532127 nvim: after/plugin/lualine: Use simplified symbols 2021-12-15 16:57:30 +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 20c3b7dd7d nvim: after/plugin/snipcomp: LuaSnip companion plugin for omni completion
The reddit announcement
https://www.reddit.com/r/neovim/comments/rddugs/snipcomplua_luasnip_companion_plugin_for_omni/
2021-12-14 15:44:33 +05:30
Sanchayan Maity abc00380fc nvim: after/ftplugin: diff/git: Allow jumping between sections of diff
Use [c and ]c to jump between sections of diff.
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 591077efb4 nvim: Update Python related configuration 2021-12-10 14:09:12 +05:30
Sanchayan Maity 5716ca88af nvim: plugins: Switch to lualine 2021-12-10 10:58:19 +05:30
Sanchayan Maity 1643837553 nvim: after/plugin/cmp: Show LSP kind type name during completion 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 f0ab1b98bb nvim: after/ftplugin: type/javascript: Add keymapping to invoke prettier
Brings back 1ba2fee9 and reverts a567150a.
2021-11-28 17:53:49 +05:30
Sanchayan Maity c806eafe5c nvim: plugin: Move gdb_helper to it's appropriate directory
Should have been in plugin and not after/plugin.
2021-11-18 13:25:14 +05:30
Sanchayan Maity c84e620795 nvim: after/plugin/fugitive: Improve normal mode mapping for GBrowse 2021-11-17 18:00:54 +05:30
Sanchayan Maity d989d6adbc nvim: after/plugin/fugitive: Enable q mapping for fugitiveblame 2021-11-17 16:47:19 +05:30
Sanchayan Maity fe34c26993 nvim: fugitive/gitsigns: Enable git blame line
Now that we dropped git-messenger, enable git blame line with fugitive
and gitsigns.
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 6278cd24dd nvim: after/plugin/ferret: Drop the g/ and g\ mapping 2021-11-14 19:18:57 +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 7a25c8b062 nvim: after/ftplugin/rust: Add a mapping to open cargo docs 2021-10-22 18:08:30 +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 3a56d37531 nvim: after/ftplugin/dirvish: Add key mapping to yank file path 2021-10-20 21:12:22 +05:30
Sanchayan Maity bfb4d258b3 nvim: plugins: Switch to luasnip 2021-10-20 13:01:21 +05:30
Sanchayan Maity 8e1f6a8834 nvim: after/plugin/fzf: Add command for wiping out all selected buffers 2021-10-17 18:30:31 +05:30
Sanchayan Maity 4cc5fb67c9 nvim: after/ftplugin/rust: Add Dispatch commands for cargo build
Add cargo build commands using dispatch similar to the ones we have
defined in fish.
2021-10-17 18:30:31 +05:30
Sanchayan Maity 3ce0fbf73d nvim: after/ftplugin/rust: Set compiler and makeprg
We pick up the compiler cargo file from rust.vim as the errorformat
seems better perhaps to consider a few more things compared to the one
included in neovim.
2021-10-17 18:30:31 +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 f4fd6ab1e8 nvim: after/plugin/marks: Do not show builtin marks 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 48d64d6de1 nvim: after/plugin/cmp: Update settings
Seems we missed a few things last time. The formatting.fields thing is
a new feature.
2021-10-12 20:15:57 +05:30
Sanchayan Maity a9efbede25 nvim: after/plugin/gdb_helper: Add helper to get breakpoint
This allows us to generate a breakpoint location we can use in the gdb
command file or on command line and also copies it to the clipboard thus
allowing us to easily paste it.
2021-10-12 14:16:37 +05:30
Sanchayan Maity 1f281f6bd7 nvim: after/plugin/cmp: Update nvim-cmp settings
Support for use of floating windows for completion menus landed
upstream. It introduced a new feature but also broke things. Having
native_menu set completely breaks auto completion.

While at it, add mapping for scrolling docs. Also add support for it
in color scheme.
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 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 6613689352 nvim: after/plugin/which-key: Add triggers blacklist
We have some mappings starting with p and need to blacklist in which key
without which using paste 'p' becomes impossible.
2021-10-01 14:55:30 +05:30
Sanchayan Maity a668139491 nvim: after/ftplugin/C: Add a key mapping for ClangSwitchSourceHeader
This allows us to switch seamlessly between source and header file.

Its provided by nvim-lspconfig. See
https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/clangd.lua
2021-10-01 10:00:13 +05:30
Sanchayan Maity 62e99dd1f0 nvim: after/ftplugin/C: Drop unneeded settings
Do not know what advantage if any these settings will bring anymore.
2021-09-30 14:20:42 +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 4b6bd7e7ed nvim: after/plugin/fugitive: Add key mappings for git log grep
Usage:
$ git log --grep=word
$ git log -Gword
2021-09-29 11:42:52 +05:30
Sanchayan Maity 9de5a7de76 nvim: after/plugin/vsnip: Keymap settings are not required anymore
With the move to nvim-cmp these vsnip key mappings are not required
anymore. The completion and expansion gets taken care of by nvim-cmp.
Just move the vsnip_filetypes settings to init.
2021-09-27 18:46: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 6223b802ce nvim: after/ftplugin/c: Fix conflicting mapping
,d cscope mapping conflicts with the LSP diagnostic mapping.
2021-09-26 11:51:04 +05:30
Sanchayan Maity 55356513a9 nvim: after/plugin/easyalign: Fix conflicting mapping
'ga' mapping conflicts with the LSP code action mapping.
2021-09-25 18:31:10 +05:30
Sanchayan Maity 350a6edd2c nvim: fugitive/git: Add git helper to push upstream
Now that we set push.default to nothing in our git configuration, add
a git helper to figure out the upstream for the current branch and push
it.
2021-09-25 13:21:01 +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 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