Commit graph

1248 commits

Author SHA1 Message Date
f315c0060b nvim: statusline: Allow more width for git branch 2022-06-25 17:05:49 +05:30
d057fa0385 nvim: fugitive: Execute commands while keeping current alt file
Keep current alternate file where possible for git commands executed
via fugitive.
2022-06-19 15:48:57 +05:30
add2ceb869 nvim: statusline: Enable winbar
Use it to show full path for file. This frees up space in status line
when git branch names are long.
2022-06-08 09:51:47 +05:30
1fdb057edf nvim: Update packer 2022-06-05 15:03:49 +05:30
6be67782e6 nvim: treesitter: Add golang 2022-06-05 15:03:49 +05:30
664db0f770 nvim: after/plugin/nvim-lint: Remove flake8 as a linter for Python 2022-05-19 11:11:56 +05:30
d4f81fe865 nvim: plugin/visual-star-search: Set mark when doing backward search
While at it, drop calling set hlsearch for * and g* as hlsearch is
enabled by default and does not seem to be required.
2022-05-18 09:09:23 +05:30
f4b928bd3e nvim: after/plugin/ftplugin: Update setting of buffer local mappings 2022-05-14 13:45:21 +05:30
edb11e5e1d nvim: plugin/visual-star-search: Use custom visual star search
neovim enabled search selection by * and # in visual mode but seems
that is not good enough.
https://github.com/neovim/neovim/pull/18538#pullrequestreview-971039192

Add and use Justin Keyes version referenced above.
2022-05-14 09:10:13 +05:30
21944d6bca nvim: plugins: Update the marks repo location 2022-05-14 08:36:56 +05:30
285d1fb9a9 nvim: plugins: Drop vim-visual-star-search
Commit 233c41c in neovim upstream enabled search selection by * and #
in visual mode by default. We do not need this plugin anymore.
2022-05-13 09:11:02 +05:30
918df63073 nvim: Fix group argument to nvim_create_autocmd 2022-05-06 12:04:35 +05:30
463e9f5811 nvim: plugins: Drop dhall
We do not use this and haven't had anything to do with dhall in about
one and half year.
2022-05-06 11:36:17 +05:30
363ba685aa nvim: lsp/ftplugin/rust: Remove crate graph 2022-05-06 11:25:09 +05:30
ef00957fae nvim: lsp: Refactor configuration setting for clients 2022-05-05 21:00:25 +05:30
223ffe7505 nvim: lsp: Enable additionalTextEdits for completion item 2022-05-05 20:59:32 +05:30
a460081971 nvim: after/plugin/gitlinker: Fix gnome url 2022-05-05 16:48:21 +05:30
86a89f99ab nvim: after/plugin/fugitive: Add mapping for git grep
The rebase abort mapping is not really required as fugitive already
provides the `ra` mapping when in git status window to abort rebase.
Use the `gr` mapping for git grep and `gR` for rebasing to origin.
2022-05-02 12:38:25 +05:30
211cd39138 nvim: plugins/lsp: Drop nvim-lsp-ts-utils
The plugin is in maintenance mode and typescript.nvim does not support
inlay hints. We already use eslint language server and extra commands
provided by lsp-ts-utils/typescript.nvim is something we have never
used. Just drop it.
2022-05-02 10:34:44 +05:30
59b1696ffa nvim: lsp: Refactor setting up of autocmd for code lens & document highlight 2022-05-02 09:33:38 +05:30
fdc17306b7 nvim: lsp: Refactor setting up of key mappings 2022-05-02 09:33:38 +05:30
59c9556325 nvim: lsp: Sync with upstream
vim.lsp.buf.formatting function is deprecated and now replaces all the
below three functions with vim.lsp.buf.format.

- vim.lsp.buf.formatting
- vim.lsp.buf.formatting_sync
- vim.lsp.buf.formatting_seq_sync

client.resolved_capabilities is no longer used. One must now access
client.server_capabilities which matches the same structure as the
protocol.

https://microsoft.github.io/language-server-protocol/specification

See neovim commit c618b31.
2022-05-01 19:50:07 +05:30
679daf809a nvim: after/ftplugin/dirvish: Set bufhidden to hide
With commit 7e41cd7 entering in dirvish does not work if bufhidden is
not hide or empty. Set it to hide and using BS which is mapped to C-^
in our key mappings, we can go back to the previous buffer.
2022-04-28 15:20:44 +05:30
081f31aada nvim: plugins: Drop toggleterm
Now that we use tmux all the time this is not so useful.
2022-04-25 20:20:30 +05:30
306bd4b597 nvim: Enable linting for fish 2022-04-25 08:42:33 +05:30
3e9ed93517 nvim: yolokai: Sync with upstream
Sync with upstream to use the new nvim_set_hl API. The white color was
actually wrong, so fix it.
2022-04-21 20:32:40 +05:30
bc55909a12 nvim: yolokai: Add recently introduced hl-CurSearch 2022-04-21 20:31:41 +05:30
cc2fcffc56 nvim: after/plugin/snipcomp: Sync with upstream 2022-04-19 20:08:18 +05:30
686fec51d6 nvim: Use the new API for setting keymap 2022-04-16 14:27:22 +05:30
ef1ed4b7d1 nvim: autocmd: On exit set cursor shape to horizontal & not vertical
We specify an underline cursor shape in terminal settings. This actually
fixes 5c6eebf where we just copied the settings from the referenced
issue but did not actually fix it.
2022-04-15 14:05:14 +05:30
e071172069 nvim: yolokai: Update diagnostic highlight names 2022-04-15 12:09:21 +05:30
5c80b85d69 nvim: plugin/epoch-converter: Fix timestamp conversion helper
The epoch time under cursor may be in milliseconds or seconds. Use
visual selection to select epoch since we won't know which. Else when
the epoch was in milliseconds we would just get wrong results.
2022-04-15 11:09:29 +05:30
7e0060eacb nvim: after/ftplugin/fish: Add a key mapping to format with fish indent 2022-04-14 17:44:48 +05:30
93110c3445 nvim: keymappings: Add mapping to resize splits 2022-04-12 20:06:51 +05:30
f7ab6b1532 nvim: after/plugin/fugitive: Automatically jump to the blame window
The blame window opens at the bottom of the current window by default.
Jump to it automatically.
2022-04-12 18:27:56 +05:30
9eff2e764a nvim: after/plugin/gitsigns: Blame is not very helpful 2022-04-12 17:34:46 +05:30
75ff0341f6 nvim: plugins: Add vim-dirvish-dovish 2022-04-05 17:41:49 +05:30
9fb93edb72 Revert "nvim: plugins: Add patchreview"
This reverts commit 0928a6e37e.
2022-04-03 08:54:34 +05:30
81fc328b4e nvim: after/plugin/fugitive: Only keep the diff window around
Somehow dirvish buffer opens along with diff window when using
this mapping. Use only to close any other windows in this tab.
2022-04-03 08:54:34 +05:30
aad3027a89 nvim: after/ftplugin/qf: Use leader key for colder/cnewer 2022-04-03 08:54:34 +05:30
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
6ae7da9eca nvim: autoload/git: Introduce a difftool version for git diff 2022-04-02 17:21:23 +05:30
c95289343a nvim: autoload/git: Fix the arguments to diff
Not sure how we keep getting this wrong.
2022-04-02 11:04:13 +05:30
78d986ab26 nvim: plugin/shell: Add key mapping to run jq on visual selection
While at it, add some explanation to the functions for posterity.
2022-04-01 19:14:07 +05:30
8e851ef1a8 nvim: plugin/shell: Add key mapping to invoke ripgrep easily 2022-04-01 18:22:53 +05:30
d4a5bc933c nvim: plugin/shell: Allows getting shell command output in temp buffer
Taken from
https://stackoverflow.com/questions/10493452/vim-open-a-temporary-buffer-displaying-executables-output
2022-03-29 15:16:02 +05:30
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
701bd244be Allow seamless navigation between vim and tmux splits 2022-03-27 16:12:08 +05:30
758e624b07 nvim: autocmd: Do not run AnsiEsc on loading of log files 2022-03-27 16:12:08 +05:30
1325929554 nvim: after/plugin/fzf: Use tmux popups when in tmux 2022-03-24 09:36:04 +05:30
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
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
2ed668e2c1 nvim: Update packer 2022-03-24 09:16:50 +05:30
d9746a1c73 nvim: statusline: Decrease the truncation width for git status 2022-03-23 10:28:22 +05:30
ac29090179 nvim: init: Fix copy and paste with clipboard when using tmux 2022-03-17 16:59:53 +05:30
2e8f138f8b nvim: plugin: Add a plugin to help with epoch timestamp conversions
We look at logs frequently these days with epoch timestamps and this
helps with getting the human readable timestamp and vice versa.
2022-03-14 13:36:45 +05:30
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
5c6eebf9b5 nvim: autocmd: Fix cursor shape on exiting nvim
This is required when using foot.

See related issue
https://codeberg.org/dnkl/foot/issues/797
https://codeberg.org/dnkl/foot/issues/798
2022-03-11 10:32:00 +05:30
39f9628197 nvim: autocmd: Refactor the way we call auto command API 2022-03-06 17:48:50 +05:30
28049ed540 nvim: lsp: Use the new auto command API 2022-03-06 14:46:27 +05:30
39acdb222f nvim: statusline: Use the new auto command API 2022-03-04 20:19:20 +05:30
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
16d3b05a8f nvim: plugins: Drop nvim-gps 2022-03-02 10:46:45 +05:30
564448abc7 nvim: Update packer 2022-03-02 09:06:17 +05:30
ca7172b14a nvim: autocmd: Use the new auto command API 2022-03-02 09:06:17 +05:30
b10ba79940 nvim: after/plugin/fzf-lua: Update actions for commits 2022-02-26 13:26:11 +05:30
6fb0c62a4b nvim: yolokai: Change the hint background
This improves the color highlight for inlay hints.
2022-02-22 13:43:29 +05:30
96bc70fff8 Revert "nvim: autoload/git: Fix git log when current branch is master/main"
This reverts commit da5671b5ae.

The commit actually did not handle all cases correctly.
2022-02-19 14:14:40 +05:30
795fd7f36a nvim: treesitter: Enable HTML 2022-02-17 15:08:04 +05:30
2fd1922193 nvim: Update packer 2022-02-16 09:54:45 +05:30
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
ac3039d64b nvim: after/plugin/fugitive: Improve git stash command mapping 2022-02-13 14:01:03 +05:30
6dd369b137 nvim: autoload/git: Use diff instead of difftool 2022-02-12 10:18:28 +05:30
447d4e50b5 nvim: plugins: Switch to fzf-lua 2022-02-10 21:31:57 +05:30
da5671b5ae nvim: autoload/git: Fix git log when current branch is master/main 2022-02-10 21:31:57 +05:30
4edfa99a21 nvim: autoload/ftplugin: git: Add helper for format-patch 2022-02-10 21:31:57 +05:30
9c16443e10 nvim: statusline: Handle some more cases for filename & treesitter status 2022-02-10 21:31:57 +05:30
7d70992eae nvim: after/plugin/fugitive: Add mapping to help with review 2022-02-10 21:20:51 +05:30
05bbba29a9 nvim: after/plugin/fugitive: Mapping for diffing in a new tab in Gstatus 2022-02-10 21:20:51 +05:30
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
3c62e9f330 nvim: Update packer 2022-02-10 13:00:11 +05:30
66af0bbd9e nvim: after/plugin/statusline: Use nvim-gps for statusline 2022-02-09 18:14:12 +05:30
f316cad185 nvim: Update packer 2022-02-08 15:47:57 +05:30
1484315caa nvim: plugins: Add textobj-comment 2022-02-08 15:47:57 +05:30
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
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
60478a59b0 nvim: after/plugin/fugitive: Make diff & difftool usage painless 2022-02-08 15:47:57 +05:30
73ceafcda2 nvim: keymappings: Make Esc cancel highlight search as well 2022-02-08 15:47:57 +05:30
59490d131a nvim: colors/yolokai: Disable under curl for diagnostics
While we like having undercurl for diagnostics, most code bases are
garbage and linters/LSP show warnings all over the place. Seeing the
screen filled with red undercurls feels jarring. Disable them. Can't
expect people to do things properly.
2022-01-31 19:59:28 +05:30
572ff25150 nvim: init: Do not use underline for diagnostic 2022-01-31 19:59:28 +05:30
8ff00d9cb0 nvim: after/plugin/nvim-lint: Enable linting for yaml 2022-01-28 16:35:55 +05:30
2c9b7bfeb1 Revert "nvim: treesitter: Remove verilog support"
This reverts commit c2fabd0259.
2022-01-27 19:06:59 +05:30
2b79d269ee nvim: ftdetect: Drop nix ftdetect
This is not required anymore and is fixed upstream with commit
ecec95712.
2022-01-26 10:32:11 +05:30
93c92ad067 nvim: plugins: Drop vim-workspace and use auto-session 2022-01-25 10:17:33 +05:30
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
42a3680d87 nvim: yolokai: Remove style for statusline
This fixes the weird color artifact where the vertical split would
meet the statusline.
2022-01-24 13:23:35 +05:30
22ef882154 nvim: lsp: Enable ESLint 2022-01-21 11:28:45 +05:30
fa0308e93e nvim: Update packer 2022-01-20 10:18:45 +05:30
3cf20c4822 nvim: autoload/git: Generate a helpful name to use with stash 2022-01-19 17:44:15 +05:30
e807b1126a nvim: init: Disable Python3 provider 2022-01-19 10:31:37 +05:30
6e86a6a777 nvim: plugins: Drop Coqtail
We are not gonna be pursuing studying Coq for quite a long while and
dropping this should allow us to drop Python provider, so drop this.
2022-01-19 10:29:48 +05:30
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
c35ca910e4 nvim: plugins: Switch to gitlinker from vim-rhubarb
Also see commit a7b12dc6.
2022-01-15 15:53:43 +05:30
4d978c02f6 nvim: after/plugin/nvim-lint: Enable linting for Dockerfile 2022-01-12 13:16:29 +05:30
cb8dfaddfa nvim: after/plugin/fzf: Add a binding for select all 2022-01-11 11:38:55 +05:30
eea27349ab nvim: plugins: Drop ferret
We hardly ever use this, so drop it.
2022-01-11 11:38:55 +05:30
54c8c977a4 nvim: plugins: Drop QFEnter
We actually never use this plugin.
2022-01-11 11:13:07 +05:30
c2fabd0259 nvim: treesitter: Remove verilog support
Conflicts with coq and crashes nvim sometimes.
2022-01-08 10:51:54 +05:30
0f51ccdf6b nvim: keymappings: Use arrow keys to navigate popup menu 2022-01-07 16:20:35 +05:30
5a270db645 nvim: plugins: Drop wilder 2022-01-07 13:36:13 +05:30
0928a6e37e nvim: plugins: Add patchreview 2022-01-06 15:29:26 +05:30
9316c06aa2 nvim: init: Enable filetype.lua and disable filetype.vim
See the below threads
https://github.com/neovim/neovim/pull/16600
https://www.reddit.com/r/neovim/comments/rvwsl3/introducing_filetypelua_and_a_call_for_help/
https://neovim.discourse.group/t/introducing-filetype-lua-and-a-call-for-help/1806
2022-01-06 15:29:26 +05:30
e0a642c949 nvim: colors: yolokai: Set Diff color background to black 2022-01-06 15:19:09 +05:30
a9136536f7 nvim: plugin/ansiesc: Do not set relative number 2022-01-05 18:21:10 +05:30
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
7b19fceff2 nvim: plugins: Drop which-key 2022-01-04 15:15:47 +05:30
64ac6ed70c nvim: init: Clean up unused vim-sneak settings 2022-01-04 15:15:47 +05:30
6744dc6004 nvim: lsp: Do not enable document highlight on CursorHoldI 2022-01-04 15:15:47 +05:30
9251900f70 nvim: yolokai: Sync with nvim-highlite upstream 2022-01-04 15:15:47 +05:30
25de9376a9 nvim: keymappings: Add a mapping for finding exact match 2022-01-03 20:26:56 +05:30
96977caa81 nvim: lsp: Fix typos & symbols in LSP protocol completion item kind 2021-12-29 18:54:57 +05:30
c6a7ba29bd nvim: init.lua: Drop defaults
See :help nvim-defaults. The switchbuf setting was different than the
default though.

Drop cursorline settings as that doesn't make sense since we stopped
using relativenumber a while back.
2021-12-29 18:54:57 +05:30
cba7712eb2 nvim: after/plugin/nvim-lint: Enable languagetool for markdown & text 2021-12-28 19:24:45 +05:30
6b9f354f78 nvim: after/plugin: fzf/fzf-preview: Support searching visual selection 2021-12-28 19:24:45 +05:30
5abf204ae6 nvim: treesitter: Enable markdown 2021-12-28 19:24:45 +05:30
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
ab22c57805 nvim: after/plugin/lualine: Fix typo 2021-12-24 10:25:15 +05:30
6ab7d9531d nvim: after/plugin/fugitive: Force local tag update on fetch 2021-12-22 12:55:51 +05:30
07b161acf6 nvim: plugins: Add wilder for suggestions in wildmenu 2021-12-21 19:56:52 +05:30
6a62f22855 nvim: lsp: Lower the debounce interval 2021-12-21 09:26:36 +05:30
7e943ae1c5 nvim: lsp: Update Python Jedi language server configuration 2021-12-21 09:26:36 +05:30
755238d83c nvim: after/plugin/fzf: Add some more mappings for preview window 2021-12-16 20:23:36 +05:30
b7762f552d nvim: lsp: Enable text for LSP protocol completion item kind 2021-12-16 18:52:53 +05:30
2a8dd6343a nvim: after/plugin/lualine: Move diagnostics to the right of status line 2021-12-16 18:12:51 +05:30
4d19532127 nvim: after/plugin/lualine: Use simplified symbols 2021-12-15 16:57:30 +05:30
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
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
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
7a9333a9e1 nvim: plugins: Drop nvim-web-devicons 2021-12-13 13:43:19 +05:30
0fbd8d256e nvim: lsp: Enable code action only when supported 2021-12-10 19:50:19 +05:30
1891eef80a nvim: lsp: Enable nvim-lightbulb only if code lens is available 2021-12-10 19:50:19 +05:30
591077efb4 nvim: Update Python related configuration 2021-12-10 14:09:12 +05:30
b41584d996 nvim: lsp: Enable document highlight only when supported 2021-12-10 14:09:12 +05:30
5716ca88af nvim: plugins: Switch to lualine 2021-12-10 10:58:19 +05:30
e488171b08 nvim: plugins: Add vim-matchup
We also enable the treesitter integration.
2021-12-06 10:28:30 +05:30
cdb4ba7740 nvim: yolokai: Change MatchParen highlight
Purple is also used for some other groups, use of orange makes the
matching identifiers stand out.
2021-12-06 10:28:30 +05:30
3c69913845 nvim: autocmd: Fix TextYankPost autocmd 2021-12-06 10:28:30 +05:30
674b1539ed nvim: colors/yolokai: Update highlight for nvim-cmp
This adds support for using different highlights for each
of the LSP kind items like variable, functions, methods etc.
2021-12-06 10:28:30 +05:30
1643837553 nvim: after/plugin/cmp: Show LSP kind type name during completion 2021-12-06 10:28:30 +05:30
d0b93a537a nvim: Update packer 2021-12-06 10:28:30 +05:30
7001fc4603 nvim: plugins: Add cmdline completion 2021-12-06 10:28:30 +05:30
677ec666e6 nvim: autocmd: Fix luacheck warning 2021-12-06 10:28:30 +05:30
818a34a7ff nvim: lsp: Enable flake8 & pylint for pylsp
See documentation
https://github.com/python-lsp/python-lsp-server/blob/develop/CONFIGURATION.md
2021-12-06 10:28:30 +05:30
3be8a76fe7 nvim: lsp: Drop support for lua
We had added lua-language-server thinking it would be helpful for
Wireplumber development, but, due to the nature of lua and server
itself, the experience is utter crap in comparison to using LSP in
other languages.
2021-11-28 17:53:49 +05:30
00f67243f7 nvim: keymappings: Add mappings to hide, reset & show diagnostic 2021-11-28 17:53:49 +05:30
46534e547c nvim: plugins: Add nvim-lint 2021-11-28 17:53:49 +05:30
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
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
6ead0d94a7 nvim: lsp: Fix missing capabilities for tsserver
We missed setting this when enabling inlay hints.
2021-11-20 17:00:14 +05:30
6033367d0b nvim: init: Update vim diagnostic config
The show_header option of vim.diagnostic.open_float has been renamed
to simply header and has different semantics (you can now specify a
custom header string and highlights). A value of false has the same
meaning as before.
https://github.com/neovim/neovim/pull/16328
2021-11-19 15:12:29 +05:30
8733194431 nvim: lsp: Update the key mapping for code lens
We missed the fact that this conflicts with our gl mapping of HopLine
which we added recently.
2021-11-18 17:15:30 +05:30
71fae03c07 nvim: keymappings: Fix mapping for replace word
With silent set, we could not provide the input at the command line.
Also, the c. mapping wasn't suppose to have <CR>.
2021-11-18 13:25:40 +05:30
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
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
c84e620795 nvim: after/plugin/fugitive: Improve normal mode mapping for GBrowse 2021-11-17 18:00:54 +05:30
3f61c98414 nvim: keymappings: Add mappings for DiffConflicts 2021-11-17 17:29:54 +05:30
d989d6adbc nvim: after/plugin/fugitive: Enable q mapping for fugitiveblame 2021-11-17 16:47:19 +05:30
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
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
cc75f12e3f nvim: lsp: Enable inlay hints for TypeScript/JavaScript 2021-11-17 11:13:14 +05:30
b9e6330245 nvim: init: Drop relativenumber
Now that we switched to hop, we do not need relativenumber.
2021-11-17 11:13:14 +05:30
56842dd2a9 nvim: Switch to hop and drop sneak 2021-11-17 11:13:14 +05:30
6278cd24dd nvim: after/plugin/ferret: Drop the g/ and g\ mapping 2021-11-14 19:18:57 +05:30
46b42807a2 nvim: Update packer 2021-11-08 12:31:17 +05:30
e07afd2c65 nvim: lsp: Never insert #include directives as part of code completion for clangd 2021-11-08 12:31:17 +05:30
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
7a25c8b062 nvim: after/ftplugin/rust: Add a mapping to open cargo docs 2021-10-22 18:08:30 +05:30
3657612dbb nvim: keymappings: Drop all key mappings for tags
We do not use tags anymore so drop those. Especially never used the
preview tag mappings.
2021-10-20 22:34:14 +05:30
cece84f76e nvim: colors/yolokai: Fix git diff highlight group
The previous setting resulted in atrocious highlighting in diffs.
2021-10-20 22:34:14 +05:30
1f165bbed4 nvim: autoload/git: Fix the arguments to difftool 2021-10-20 22:14:05 +05:30
2548f63793 nvim: plugins: Drop diffview
Something as basic as :DiffviewOpen <commit> does not work.
2021-10-20 22:11:38 +05:30
3a56d37531 nvim: after/ftplugin/dirvish: Add key mapping to yank file path 2021-10-20 21:12:22 +05:30
9b692e9a8e nvim: init: Disable virtual text for all diagnostics
They frequently get clipped beyond the window border due to being too
long and are not that helpful.

While at it, use our own preferable default sane options for the rest.
2021-10-20 13:01:21 +05:30
0ee98bc81c nvim: keymappings: Update to use the new diagnostic API
While at it, switch the key mapping to use the more convenient one for
line diagnostic.
2021-10-20 13:01:21 +05:30
f6d56d6786 nvim: Update packer 2021-10-20 13:01:21 +05:30
af7461452c nvim: lsp: Enable LSP document highlight 2021-10-20 13:01:21 +05:30
e2a4d77590 nvim: yolokai: Add LSP highlight 2021-10-20 13:01:21 +05:30
bfb4d258b3 nvim: plugins: Switch to luasnip 2021-10-20 13:01:21 +05:30
8e1f6a8834 nvim: after/plugin/fzf: Add command for wiping out all selected buffers 2021-10-17 18:30:31 +05:30
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
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
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
936e6149de nvim: plugins: Switch to Comment.nvim from commentary.vim 2021-10-17 18:30:31 +05:30
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
954c2ec1b3 nvim: init: Use a size of 2 for sign column
This helps to display both diagnostic signs and git gutter at the same
time. Use automatic resize keeping minimum at 1 and maximum at 2.
2021-10-16 17:31:29 +05:30
f4fd6ab1e8 nvim: after/plugin/marks: Do not show builtin marks 2021-10-16 17:31:29 +05:30
eb406bd1da nvim: treesitter: Drop clojure and fennel
We added them briefly but never used these.
2021-10-14 14:41:39 +05:30
e4ac609db3 nvim: Update packer 2021-10-14 00:43:31 +05:30
4c6a34d07f nvim: plugins: Switch from vim-signature to marks.nvim 2021-10-14 00:43:31 +05:30
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
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
e5f2fb0318 nvim: Use relative paths in dirvish
When yanking a path in dirvish buffer this setting allows us to get
relative paths instead of absolute which is default.
2021-10-12 14:16:37 +05:30
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
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
cf15054719 nvim: plugins: Add pretty Quickfix windows 2021-10-11 13:28:07 +05:30
ac8273d9fd nvim: init: Enable cursorline
A new cursorline option 'number' seems to be available now. This would
be useful compared to the whole line.
2021-10-10 11:57:15 +05:30
25059ef623 nvim: lsp: Enable some additional key mappings for code actions 2021-10-10 11:57:15 +05:30
a8d0a43556 nvim: plugins: Add toggleterm
Serves as a good replacement to floaterm.
2021-10-05 15:44:29 +05:30
c237a19e0b nvim: plugins: Drop floaterm
See the previous commit for the reason of dropping this.
2021-10-05 12:59:43 +05:30
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
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
b04ecb9541 nvim: lsp: Remove redundant capabilities settings
The required capabilities to be set are already correctly set by
nvim-cmp, no need to set them again. We had added that to enable rust
snippet expansion earlier.

Also see older revisions of this document.
https://github.com/neovim/nvim-lspconfig/wiki/Snippets
2021-10-03 12:46:40 +05:30
cf78dcae4d nvim: lsp: Fix diagnostic errors 2021-10-02 18:49:02 +05:30
8aa4fc2f76 nvim: lsp: Enable shellcheck as diagnostics source for null-ls 2021-10-02 18:29:57 +05:30
068dfcd4b9 nvim: lsp/keymappings: Move the diagnostic key mappings outside of LSP
vim.diagnostic framework is now available and can be used outside of
LSP. This means the same functions can now work for plugins providing
diagnostics via this framework like nvim-lint and null-ls.
2021-10-02 18:29:57 +05:30
ff93725694 nvim: treesitter: Update treesitter configuration 2021-10-02 17:19:34 +05:30
2ff1ba46e1 nvim: plugins: Add TSUpdate as post install hook for treesitter 2021-10-02 17:19:34 +05:30
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
891fae907b nvim: plugin: Add a simple whitespace plugin
Now that we dropped vim-better-whitespace just add something simple to
strip whitespace if we do ever need it.
2021-10-02 16:14:31 +05:30
8a43a1c14f nvim: keymappings: Drop mapping to save
We have a keyboard macro to do this.
2021-10-02 13:03:12 +05:30
331885ea25 nvim: plugins: Drop vim-better-whitespace
Using formatter already does this, so drop it.
2021-10-02 12:45:08 +05:30
05194ded3a nvim: plugins: Load AnsiEsc plugin only on AnsiEsc command 2021-10-02 11:06:23 +05:30
95d5a10abc nvim: plugins: Drop SyntaxAttr 2021-10-02 11:06:23 +05:30
ae4edc5bed nvim: plugins: Drop unneeded text object plugins 2021-10-02 10:05:12 +05:30
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
31780f0c25 nvim: keymappings: Drop highlight search mapping
<C-l> now clears search highlight and update diffs and is mapped by
default.

See
https://github.com/neovim/neovim/issues/14090#issuecomment-901882455.
2021-10-01 14:55:30 +05:30
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
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
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
0a21f7d979 nvim: lsp: Explicitly set the log level 2021-09-30 13:55:49 +05:30
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
8aaccc4f16 nvim: lsp: Refactor and alignment clean ups 2021-09-27 18:46:55 +05:30
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
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
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
b95a14b8d1 nvim: lsp: Fix enabling of range format support again!
47b1578 did not actually fix it. We need to keep using 'gq' but actually
correctly specify whether we want normal or visual mode. Also disable
range formatting explicitly for tsserver.
2021-09-27 15:23:12 +05:30
d7fbe762c5 nvim: Update packer 2021-09-27 13:50:59 +05:30
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
91eecec611 nvim: keymappings: Drop the mapping for help 2021-09-27 13:14:27 +05:30
975e6a646e nvim: plugins: Switch from vim-which-key to which-key 2021-09-27 13:14:20 +05:30
00670a867f nvim: lsp: Enable rust-tools for inlay hints 2021-09-27 12:31:27 +05:30
0aa93c6e9b nvim: init: Always enable the signcolumn
Have a fixed column for the diagnostics to appear in as this removes
the jitter when warnings/errors flow in.

Recommended here
https://sharksforarms.dev/posts/neovim-rust/
2021-09-26 12:06:16 +05:30
97db1c6c9d nvim: keymappings: Enable unique and refactor/cleanup
Enable unique to detect and avoid conflicting key mappings.
2021-09-26 11:51:04 +05:30
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
f7d12b27d3 nvim: lsp: Alignment cleanup 2021-09-26 11:50:36 +05:30
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
47b157805d nvim: lsp: Fix enabling of range format support
If range formatting is supported we should check that first to enable
it else since most LSP servers support formatting, without range
formatting check being first, it would never be enabled.
2021-09-25 18:21:51 +05:30
8801b26fa9 nvim: lsp: Add range formatting with motion 2021-09-25 15:26:52 +05:30
eebffce98e nvim: lsp: Add back custom preview function
Follow up to 469e367.
2021-09-25 15:26:52 +05:30
f01b1d6a52 nvim: lsp: Use Leader k mapping for LSP hover
While at it, align code to look nice.
2021-09-25 15:13:49 +05:30
616c4f003c nvim: lsp: Increase value of debounce didChange notifications 2021-09-25 13:21:01 +05:30
469e36756b nvim: lsp: Drop custom preview function
Those functions do not work anymore. May be we will add it later
via https://github.com/rmagatti/goto-preview.
2021-09-25 13:21:01 +05:30
9ab36d4b1b nvim: lsp: Fix null-ls setup 2021-09-25 13:21:01 +05:30
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
643e1be349 nvim: keymappings: Add mappings to paste from + & * register 2021-09-22 17:52:15 +05:30
130bf3e04d nvim: colors: yolokai: Update diagnostic highlight 2021-09-22 17:51:51 +05:30
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
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
b31aeaf597 nvim: Update packer 2021-09-21 11:02:25 +05:30
e1cfc0408d nvim: yolokai: Sync with nvim-highlite upstream 2021-09-13 18:00:40 +05:30
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
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
5b6685b165 nvim: lsp: Enable clangd for C and C++ 2021-09-10 14:06:59 +05:30
ccb4b4343d nvim: after/plugin: fugitive: Update key mappings 2021-09-10 13:41:24 +05:30
be257f67f0 nvim: Update packer 2021-09-06 14:51:16 +05:30
555026ef80 nvim: lsp: Sync nvim-lsp-ts-utils settings with upstream 2021-08-31 11:02:34 +05:30
44411a87e2 nvim: Update packer 2021-08-31 11:02:34 +05:30
9431ca8646 nvim: Update packer 2021-08-12 12:02:25 +05:30
88ed57fb8b nvim: keymappings: Enable escape and arrow keys
Now that we use Planck EZ as our main keyboard with Colemak as the
layout, allow use of escape and arrow keys. HJKL are not usable the
same way as before.
2021-08-06 10:51:22 +05:30
8f5e45cb52 nvim: keymappings: Add mapping to copy to clipboard 2021-08-06 10:51:22 +05:30
26bc1e7e9c nvim: Update packer 2021-08-06 10:51:22 +05:30
bdc14d4ebc nvim: Add lightbulb for discoverable LSP code actions 2021-07-26 18:44:41 +05:30
b319398534 nvim: Update packer 2021-07-25 11:42:33 +05:30
3e7fd609ec nvim: lsp: Sync nvim-lsp-ts-utils configuration with upstream 2021-07-21 11:00:40 +05:30
d00bf90b30 nvim: after/plugin: nvimgdb: Update nvim-gdb configuration 2021-07-21 10:29:21 +05:30
c9cc36a499 nvim: Update packer 2021-07-20 21:01:22 +05:30
cc2bedbe5d nvim: keymappings: Add mappings to move lines 2021-07-20 21:01:13 +05:30
c646381a00 nvim: lsp: Add support for lua 2021-07-17 18:38:32 +05:30
c51261d94a nvim: Update packer 2021-07-16 10:54:46 +05:30
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
efaba37bcf nvim: fugitive/git: Add helper to rename branch 2021-07-15 21:12:27 +05:30
4565822924 nvim: lsp: Switch to pylsp
pyls is deprecated and not supported in nvim-lspconfig anymore.

The supported python language server is here.
https://github.com/python-lsp/python-lsp-server
2021-07-15 18:13:52 +05:30
ed70d5a630 nvim: Update packer 2021-07-13 19:56:43 +05:30
a493297cae nvim: plugins: For handling files with ANSI escape sequences better 2021-07-12 12:23:52 +05:30
d3b8cec40a nvim: git: Add functionality to restore using git reflog 2021-07-09 10:34:12 +05:30
a85a76c3eb nvim: Update packer 2021-07-09 10:34:12 +05:30
8fc44227f2 nvim: after/plugin/completion: Disable autocomplete 2021-07-05 17:43:10 +05:30
119c91a6b7 nvim: plugins: Add nvim-gdb 2021-07-05 17:39:56 +05:30
ffadf1cf4f nvim: keymappings: Map ;; to :
Let's us get over the annoyance of having to press shift for using :.
2021-07-05 10:48:53 +05:30
6c3886aff0 nvim: Update packer 2021-07-05 10:48:53 +05:30
fff7723126 nvim: treesitter: Enable Haskell 2021-06-28 16:43:06 +05:30
112239bd31 nvim: plugins: Drop indentLine
indentLine seems to have general performance issues.
2021-06-26 11:19:47 +05:30
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
47065178c5 nvim: Update packer 2021-06-23 12:30:18 +05:30
6406ae8a71 nvim: plugins: Drop plugins
Drop plugins we never use anymore or got around to using.
2021-06-23 12:30:11 +05:30
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
0649b639da nvim: treesitter: Force nvim-treesitter to use a specific compiler
Required for Haskell. See
https://github.com/tree-sitter/tree-sitter-haskell#building-with-nvim-treesitter
2021-06-19 11:26:13 +05:30
a16c244fce nvim: autoload/ftplugin: git: Add rebase and merge helpers 2021-06-17 16:58:12 +05:30
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
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