Commit graph

1182 commits

Author SHA1 Message Date
Sanchayan Maity cf85dfa8ee
nvim: ftdetect/purescript: Detect purs files as purescript 2023-06-07 13:44:23 +05:30
Sanchayan Maity f1f9058f06
nvim: plugins: nvim-pqf moved to GitHub 2023-06-07 12:43:32 +05:30
Sanchayan Maity e758ef0a08
nvim: after/ftplugin: Disable mini trailspace
Now we enable trailspace module from mini, disable it for file types
where we do not want trailing space to be highlighted.
2023-06-07 12:43:15 +05:30
Sanchayan Maity 3fd01ac9e6
nvim: colors/yolokai: Add highlights for mini.nvim 2023-06-07 12:43:15 +05:30
Sanchayan Maity 29c657b395
nvim: Use modules from mini.nvim
We drop Comment, hop & vim-surround in favour of modules from mini.
This change is triggered by the fact that hop's author has decided
to not maintain it any more. There is also pounce but mini seems
simple and we can also use other modules it provides.
2023-06-07 12:42:40 +05:30
Sanchayan Maity 6cb83ef74d
nvim: treesitter: Disable additional vim regex highlighting
With this set to true, neovim will run `:h syntax` and tree-sitter
at the same time. Using this option may slow down one's editor and
one may see some duplicate highlights. Disable it.
2023-06-02 13:44:11 +05:30
Sanchayan Maity 909cbef796
nvim: colors/yolokai: Add highlights for diff treesitter
Found the solution from this issue
https://github.com/the-mikedavis/tree-sitter-diff/issues/5
2023-06-02 13:44:11 +05:30
Sanchayan Maity 49f88776ea
nvim: treesitter: Enable diff 2023-06-02 13:10:28 +05:30
Sanchayan Maity 8d2b94856c
nvim: after/ftplugin/scheme: Drop use of racket lang server for scheme 2023-05-31 10:29:38 +05:30
Sanchayan Maity 5674bbdc06
nvim: lsp: Add support for reloading Cargo workspace
While at it, refactor the custom setup and clean up for clients in
a single function.
2023-05-25 13:41:58 +05:30
Sanchayan Maity 269382b363
nvim: lsp-utils: Set capabilities
We missed setting this and it gives an error like below when using
HLS and rust-analyzer.

```bash
LSP[rust-analyzer]: Error SERVER_REQUEST_HANDLER_ERROR: "/usr/local/share/nvim/runtime/lua/vim/lsp/_watchfiles.lua:199: attempt to index field 'capabilities' (a nil value)"
```
2023-05-25 13:41:58 +05:30
Sanchayan Maity c844fe5874
nvim: after/plugin/nvim-lint: Enable actionlint
Run actionlint on save for GitHub Action workflow yaml files.
2023-05-18 15:37:41 +05:30
Sanchayan Maity 245855e5ff
nvim: plugin/session: Do not load session if Quickfix list is loaded
This is required if we want to use git-jump or do anything with `nvim -q`.
2023-05-15 20:45:48 +05:30
Sanchayan Maity 42601f6214
nvim: after/plugin/easyalign: Allow aligning on ' 2023-05-09 16:19:06 +05:30
Sanchayan Maity 1546762662
nvim: after/plugin/fzf-lua: Always parse globs in grep 2023-05-08 18:06:18 +05:30
Sanchayan Maity f8267b23b0
nvim: after/plugin/gitlinker: Add gitea web hosts we work with 2023-05-06 18:20:19 +05:30
Sanchayan Maity 3987cb202b
nvim: lsp: Update completion kind symbols
This broke due to an update with the nerd-fonts package.

See related
https://www.reddit.com/r/archlinux/comments/1358gvh/switch_from_ttfnerdfontssymbols2048emmono_broke/
https://github.com/ryanoasis/nerd-fonts/issues/1190

Stole one or two icons from
https://github.com/onsails/lspkind.nvim/pull/64

and the rest fixed by nerdfix.
https://github.com/loichyan/nerdfix
2023-05-03 11:19:57 +05:30
Sanchayan Maity eafc975e35
nvim: plugin: Add a simple session management plugin 2023-05-02 16:33:52 +05:30
Sanchayan Maity 7271c9b030
nvim: plugins: Remove auto-session
Recent changes to auto-session which got added with session lens
support are just plain annoying. It adds telescope support which
broke session loading as we do not use telescope. It has started
creating session files which we do not want and there seems to be
no setting to disable them or at least if there is it is not at
all obvious from the documentation. Just nuke this nonsense.
2023-05-01 11:30:28 +05:30
Sanchayan Maity 95cb836e8d
nvim: after/ftplugin/cabal: Add cabalfmt plugin
Since we reverted cabal-fmt support via HLS in the previous commit
add the cabalfmt plugin. Just add it to our own ftplugin instead of
adding via the plugin list.
2023-04-25 16:28:02 +05:30
Sanchayan Maity 5bba0b1789
Revert "nvim: after/ftplugin/cabal: Enable HLS on cabal files"
This reverts commit 34a5bbdacb.

HLS complains a lot (forgot the error) when trying to edit cabal files
making it almost unusable. It was nice to not require a separate plugin
for formatting cabal files, but, since this is not usable, disable it.
2023-04-25 16:28:02 +05:30
Sanchayan Maity 9c4bdb5644
nvim: init: Drop textobj-word-column setting
We dropped the plugin in c800b66, so remove the left behind setting.
2023-04-22 13:05:52 +05:30
Sanchayan Maity 39900dd9a7
nvim: after/ftplugin/purescript: Add PureScript LSP support 2023-04-22 13:05:51 +05:30
Sanchayan Maity 27e6af32b9
nvim: plugins: Add syntax highlighting for PureScript 2023-04-21 18:47:15 +05:30
Sanchayan Maity a039a58dd2
nvim: colors/yolokai: Convert all tabs to spaces 2023-04-12 11:20:39 +05:30
Sanchayan Maity fe7ca593ae
nvim: lsp: Enable semantic token highlighting
This effectively reverts commit 0c9e0eb.
2023-04-12 11:14:42 +05:30
Sanchayan Maity 4c409188be
nvim: colors/yolokai: Add semantic highlight groups
For more information, see
https://www.reddit.com/r/neovim/comments/12gvms4/this_is_why_your_higlights_look_different_in_90/
https://github.com/Iron-E/nvim-highlite/blob/master-v3/colors/highlite.lua

Changes are taken from the above two sources.
2023-04-12 11:14:42 +05:30
Sanchayan Maity 7ca6a1c1b8
nvim: after/ftplugin/rust: Remove format on save
Formatting on save tends to go completely wrong sometimes for some
reason. Just remove it.
2023-03-21 17:22:52 +05:30
Sanchayan Maity 30a7f0606d
nvim: plugins: Add portal for jump & change list support 2023-03-15 10:49:06 +05:30
Sanchayan Maity c800b66cbf
nvim: plugins: Switch to nvim-various-textobjs
We never really used the comment text object and functionality of the
other two are provided in nvim-various-textobjs.
2023-03-15 10:49:06 +05:30
Sanchayan Maity 34a5bbdacb
nvim: after/ftplugin/cabal: Enable HLS on cabal files
Enabling HLS on cabal files allows us to format them using gq. HLS
just uses the internal cabal-fmt plugin.
https://haskell-language-server.readthedocs.io/en/latest/features.html#formatting
2023-03-06 22:15:29 +05:30
Sanchayan Maity 01e9c92051
nvim: plugins: Drop cabalfmt
We will switch to using HLS for this.
2023-03-06 22:04:39 +05:30
Sanchayan Maity eec59c530d
nvim: Switch to fzf-lua
Switch to fzf-lua now that it supports tmux style pop ups. For details,
see https://github.com/ibhagwan/fzf-lua/issues/225.
2023-03-06 16:13:36 +05:30
Sanchayan Maity c37a0db46a
nvim: lsp: Fix luacheck warning on setting non-standard global variable 2023-03-06 13:33:40 +05:30
Sanchayan Maity 0002d02e6c
nvim: lsp: Drop unnecessary if check 2023-03-05 00:13:28 +05:30
Sanchayan Maity ebac7a3beb
nvim: Update paq 2023-03-02 11:03:19 +05:30
Sanchayan Maity 110a1643cb
nvim: Move LSP configuration to it's own LSP utils
This allows us to have all the language server configuration in one
place and only import relevant LSP server configuration to pass to
vim.lsp.start in after/ftplugin.

While at it, we also enable deno support.
2023-02-28 20:56:36 +05:30
Sanchayan Maity 26488153f0
nvim: after/ftplugin/haskell: Remove old configuration
We use cabal instead of stack these days and we dropped asyncdo more
than a year ago.
2023-02-28 00:17:45 +05:30
Sanchayan Maity 27d051e3dd
nvim: plugins: Add back vim-wordmotion 2023-02-28 00:05:45 +05:30
Sanchayan Maity 8a60e83ef5
nvim: plugins/treesitter: Drop playground
Initially added this thinking it might help with our own colorscheme
but we have never used this.
2023-02-28 00:05:45 +05:30
Sanchayan Maity 148e808cee
nvim: after/plugin/gitsigns: Update configuration
current_line_blame_formatter_opts is deprecated. Update the signs
configuration.
2023-02-25 18:00:07 +05:30
Sanchayan Maity 0f16076860
nvim: init: g:ts_highlight_lua has been removed
See neovim commit 2e450ef.
2023-02-15 18:56:56 +05:30
Sanchayan Maity 406570312f
nvim: after/ftplugin/rust: Do not add cargo registry to buffer list 2023-02-10 18:42:57 +05:30
Sanchayan Maity 56f81f598e
nvim: Switch back to paq
Packer does not seem to be maintained. Version 2 being developed
by Lewis @ https://github.com/lewis6991/packer.nvim has breaking
changes. Migrating to Lazy will open it's own can of worms & it
does not use packages. Funny thing is author of Packer himself
uses Lazy.

We really should not be needing anything fancy. neovim can load
packages automatically from packpath. All we need is something
which will clone the packages to packpath and all those will be
automatically loaded.

paq.nvim which we were using before packer was the right choice
and does the bare minimum we stated above.

Rest all with features like fancy lazy loading is nonsense.
2023-02-09 20:19:59 +05:30
Sanchayan Maity 547bf78b9b
nvim: plugins: Update plugin configuration
Do not make packer optional and remove use of after, cmd, config,
run and requires.

This is in preparation for testing if we can move off the plugin
manager and use in built packages support for handling packages.

While at it, drop unnecessary comments.
2023-02-09 15:57:47 +05:30
Sanchayan Maity dd0adf5212
nvim: plugins: Drop luasnip and use snippy
Our snippet usage is not extensive. Use snippy which is a more
minimalistic plugin.
2023-02-03 18:19:37 +05:30
Sanchayan Maity 0b1380f28b
nvim: after/ftplugin: js/ts: Do not add node_modules to buffer list 2023-01-31 20:33:44 +05:30
Sanchayan Maity ad1c594245
nvim: after/plugin/nvim-lint: Drop pylint and use ruff 2023-01-26 16:55:44 +05:30
Sanchayan Maity f5d12372bd
Revert "nvim: plugins: Drop sleuth now that neovim has editorconfig built-in"
This reverts commit 058c37882d.

It is still helpful to have this it seems as without this working on
projects which do not have editorconfig becomes a pain.
2023-01-26 16:55:43 +05:30
Sanchayan Maity 3e5d0f0e13
nvim: after/ftplugin/markdown: Remove column limit 2023-01-21 20:05:03 +05:30
Sanchayan Maity a64baccca1
nvim: Reintroduce clipboard settings
clipboard support just seems to be completely flaky right now. Add
previous settings but instead of tmux specific commands use wayland
clipboard tools.

This should make it work everywhere. One downside of this setting is
we go back to polluting system clipboard every time & does not really
matter if we copy to + or * register. Both will result in a call to
wl-copy.
2023-01-19 14:15:13 +05:30
Sanchayan Maity f3190ffa0b
nvim: after/ftplugin/diff: spell is window local & not buffer local 2023-01-19 14:15:13 +05:30
Sanchayan Maity 558f03bede
nvim: after/plugin/gitlinker: Add videolan repo 2023-01-18 10:44:25 +05:30
Sanchayan Maity 674409573b
git/nvim: Drop diffconflicts
See the discussion on
https://github.com/whiteinge/diffconflicts/issues/26

Also
https://www.eseth.org/2020/mergetools.html
2023-01-17 10:09:29 +05:30
Sanchayan Maity 5ac754ea99
nvim: plugins: Drop exchange and word motion 2023-01-15 17:22:15 +05:30
Sanchayan Maity 058c37882d
nvim: plugins: Drop sleuth now that neovim has editorconfig built-in 2023-01-15 17:22:14 +05:30
Sanchayan Maity c9b189e7c5
nvim: Add editorconfig 2023-01-15 17:22:14 +05:30
Sanchayan Maity 6340486b46
nvim: Use nvim-lint for linting markdown with vale
This effectively reverts 3ea83c6 and f4ee744.
2023-01-15 17:22:10 +05:30
Sanchayan Maity c378e0a811
nvim: after/ftplugin/rust: Do not add library & toolchain source to buffer list 2023-01-15 12:19:21 +05:30
Sanchayan Maity b249fdefcc
Revert "Revert "nvim: init: Drop tmux configuration for copying to system clipboard""
This reverts commit 2d17a75972.
2023-01-14 18:58:51 +05:30
Sanchayan Maity a134cea609
nvim: Update packer 2023-01-14 18:58:51 +05:30
Sanchayan Maity 2d5fac776a
nvim: after/ftplugin: Move from vim to lua 2023-01-14 18:58:50 +05:30
Sanchayan Maity f4d02a793f
nvim: plugins: Drop dirvish and use dirbuf.nvim 2023-01-12 18:39:37 +05:30
Sanchayan Maity fcc992511e
nvim: plugins: Use our own fork of gitlinker
We want a fix and the author seems to be inactive, so use our own
fork with the patch applied till the upstream author becomes active
again.
2023-01-12 18:39:37 +05:30
Sanchayan Maity 2d17a75972
Revert "nvim: init: Drop tmux configuration for copying to system clipboard"
This reverts commit c37bd7d451.

Copying to system clipboard seems to have broken again and need to
revert this.

See https://github.com/neovim/neovim/issues/21636.
2023-01-08 11:08:13 +05:30
Sanchayan Maity 6e268b0d20
nvim: after/plugin/lightbulb: Update configuration 2023-01-07 10:36:23 +05:30
Sanchayan Maity d63a6aeef4
nvim: after/ftplugin: Move settings from {js/ts}.vim to {js/ts}.lua 2023-01-06 13:07:39 +05:30
Sanchayan Maity 0c9e0eb164
nvim: lsp: Disable semantic token highlighting
It produces somewhat bad syntax highlighting in some cases. For example,
in typescript, the variable and it's type annotation get the same colour.
2023-01-05 09:38:26 +05:30
Sanchayan Maity 8b6cf82abe
nvim: yolokai: Sync with upstream 2023-01-04 13:54:10 +05:30
Sanchayan Maity f68aed5238
nvim: lsp: Add mapping for clearing code lens 2023-01-03 20:04:27 +05:30
Sanchayan Maity d37cbd3cf0
nvim: after/ftplugin: Add language server for racket & scheme 2022-12-28 19:53:02 +05:30
Sanchayan Maity 47498f93fc
nvim: plugins: Add autopairs and parinfer 2022-12-28 19:51:34 +05:30
Sanchayan Maity 79183f7402
nvim: Use mappings for copying entire buffer & drop textobj-entire 2022-12-28 19:51:34 +05:30
Sanchayan Maity 20b608ad08
nvim: treesitter: Enable fennel, racket and scheme 2022-12-28 19:51:09 +05:30
Sanchayan Maity 4fe0311c3c
nvim: Update packer 2022-12-20 20:43:10 +05:30
Sanchayan Maity 09f609b26a
nvim: after/plugin/nvim-lint: Enable clang-tidy 2022-12-20 20:43:09 +05:30
Sanchayan Maity 0e7b1fd4bd nvim: colors/yolokai: Use WinSeparator instead of VertSplit 2022-12-12 16:23:50 +05:30
Sanchayan Maity 0c7d4372d1 nvim: colors/yolokai: Enable undercurl for underline diagnostic
This effectively reverts commit 59490d1.
2022-12-12 10:11:20 +05:30
Sanchayan Maity b60afcf0e9 Revert "nvim: init: Do not use underline for diagnostic"
This reverts commit 572ff25150.
2022-12-12 10:11:20 +05:30
Sanchayan Maity ac65aa26cb nvim: lsp: Use local leader for running code lens
We use <Leader>l for linting. This should have been done as part of
commit b294f19.
2022-12-12 10:11:20 +05:30
Sanchayan Maity d0b5159bd9 nvim: after/plugin/nvim-lint: Enable revive linter for go 2022-12-11 16:55:41 +05:30
Sanchayan Maity 9f415d9d4d nvim: after/ftplugin/go: Add go LSP support 2022-12-11 16:55:41 +05:30
Sanchayan Maity 9b00a19b52 nvim: after/ftplugin/rust: Format on save 2022-12-11 11:01:18 +05:30
Sanchayan Maity bc8904c94b nvim: after/plugin/nvim-lint: Use eslint_d instead of eslint 2022-12-08 16:23:51 +05:30
Sanchayan Maity 599a0f1d2d nvim: Update packer 2022-12-08 11:11:23 +05:30
Sanchayan Maity 4f8f2c8016 nvim: autoload/git: Set upstream when checking out remote branch 2022-12-06 19:15:03 +05:30
Sanchayan Maity a328fe3c5d nvim: after/ftplugin/sh: Add language server for bash 2022-12-06 12:49:30 +05:30
Sanchayan Maity db1d0492ce nvim: Update packer 2022-12-06 12:38:40 +05:30
Sanchayan Maity 6fa2ecc8e4 nvim: after/ftplugin/json: Add mapping to format with jq 2022-12-05 17:38:38 +05:30
Sanchayan Maity 44c5116299 nvim: Update packer 2022-11-29 20:26:28 +05:30
Sanchayan Maity 4d970ce70c nvim: lsp: Fix error in LspDetach
Some language servers like HLS take longer to attach and if we exit
soon before LSP attach had a chance to finish (may be?), server
capabilities field does not seem to be valid in client object and
we get the below error. Check if it valid first.

Error detected while processing LspDetach Autocommands for "*":
Error executing lua callback: /home/core/.config/nvim/lua/lsp.lua:215: attempt to index field 'server_capabilities' (a nil value)
stack traceback:
        /home/core/.config/nvim/lua/lsp.lua:215: in function </home/core/.config/nvim/lua/lsp.lua:209>
        [C]: in function 'nvim_exec_autocmds'
        /usr/local/share/nvim/runtime/lua/vim/lsp.lua:1140: in function </usr/local/share/nvim/runtime/lua/vim/lsp.lua:1139>
Error executing lua callback: /home/core/.config/nvim/lua/lsp.lua:215: attempt to index field 'server_capabilities' (a nil value)
stack traceback:
        /home/core/.config/nvim/lua/lsp.lua:215: in function </home/core/.config/nvim/lua/lsp.lua:209>
        [C]: in function 'nvim_exec_autocmds'
        /usr/local/share/nvim/runtime/lua/vim/lsp.lua:1140: in function </usr/local/share/nvim/runtime/lua/vim/lsp.lua:1139>
2022-11-29 20:26:28 +05:30
Sanchayan Maity b752f2241f nvim: plugins: Add support for cabal-fmt 2022-11-29 20:26:28 +05:30
Sanchayan Maity 42c06b8f2f nvim: after/plugin/nvim-lint: Drop mypy for Python linting 2022-11-25 16:54:15 +05:30
Sanchayan Maity b0e55a6e60 nvim: after/plugin/word-column: Fix conflicting mapping with target
Since we now have more mapping available after dropping treesitter
text objects, we can fix this.

Fixes the below warning from targets check health.

targets: health#targets#check
========================================================================
  - WARNING: Conflicting mapping found:
    aq → <Plug>(textobj-wordcolumn-word-a)
    q → {'quote': [{'d': ''''}, {'d': '"'}, {'d': '`'}]}
  - WARNING: Conflicting mapping found:
    iq → <Plug>(textobj-wordcolumn-word-i)
    q → {'quote': [{'d': ''''}, {'d': '"'}, {'d': '`'}]}
2022-11-24 14:21:49 +05:30
Sanchayan Maity 397cac1050 nvim: plugins/treesitter: Use treehopper instead of textobjects
The whole bunch of treesitter text objects were difficult to remember
and we ended up rarely ever using any of the defined mappings.

treehopper simplifies things with a single mapping and hints.
2022-11-24 14:21:41 +05:30
Sanchayan Maity ef4c3b7d30 nvim: Use more prominent white highlight for Comment
We seem to be making a lot of mistakes when it comes to handling
docs/comments in merge requests. Use a more prominent white colour
for the comment highlight group.
2022-11-23 12:42:06 +05:30
Sanchayan Maity b294f196de nvim: after/plugin/nvim-lint: Use leader instead of local leader 2022-11-15 17:32:07 +05:30
Sanchayan Maity 3c3a2c5130 nvim: init: Enable closeoff and linematch options for diffopt
linematch option got merged a few hours ago with this commit.
https://github.com/neovim/neovim/pull/14537

While at it, set closeoff as well.
2022-11-07 14:33:29 +05:30
Sanchayan Maity c37bd7d451 nvim: init: Drop tmux configuration for copying to system clipboard
This is not required any more with this upstream MR merged.
https://github.com/neovim/neovim/pull/20936
2022-11-06 10:40:28 +05:30
Sanchayan Maity 8d9d230c18 nvim: after/plugin/fugitive: Update gd/D mappings to use difftool 2022-11-04 17:46:44 +05:30