LSP does not work all the time. Either client breaks, server breaks or
it does not work because of the project structure. Removing LSP for the
umpteenth time.
asyncomplete does not seem to work at all for tags. For example, in the
gst-build directory the generated tags file can be 200MB+ in size. Even
with the file size limit set to unlimited it does not seem to give any
tag suggestions at all. Same is the case for Haskell.
Mucomplete can be slow in such cases where tag file is very large or
search space is extensively large and being synchronous this is to be
expected. To alleviate this, it is necessary to have a minimum prefix
length of 2 and perhaps trigger completion only when required. However,
this was still not good enough.
We are back to deoplete with custom source configuration. It is pretty
clear vimscript solutions are not up to the mark. Enable python provider
and also reintroduce language specific solutions like racer and jedi.
Refactor out language/file type specific settings. init.vim should only
have global keybindings, plugins and plugin settings. Also some other
minor cleanups, additions and rearrangements.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Enable to process line and column jump specifications in file paths as found
in stack traces and similar output
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
This setting results in the quickfix list having the same result
multiple times if by mistake we run the same search again.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
While we have fzf, for situations where we want to search and load
results in quickfix or location list vim-grepper should come in handy.
vim-qlist enchances ]i/I related bindings for search to load then in
quickfix list.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Airline section y is used for file encoding and file format. We do not
need this information in status line. Use it to show window number. Use
window numbers for navigation. See :h CTRL-W_W and :h winnr() for more
information.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
While I would ideally like to use rg, it seems any jump does or cannot
use rg for some reasons for certain languages like Haskell. This can be
seen from the language map in any jump repo. So set preferred engine as
ag for now.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
While at it, remove quick-scope as it doesn't add much of a value when
we already use easymotion. Also do some cleanup.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
The git gutter fold bindings was slowing down the easymotion h binding.
So change it. Also the any jump binding was slowing down the 'a' append
binding.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Using this setting results in floaterm changing the directory which then
does not work when working in a setup like gst-build. Stick to whatever
directory we launched from since we would have started from a version
controlled directory root in most cases.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
While this purpose can also be served by fzf the additional feature of
any-jump is that it shows definitions and usages, so helps to have more
context. Should also help us for languages we do not have any setup for
and might not want to use tags.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
We haven't used Slimux much and has not been as much useful in our
work flow. Also increases the load time.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
lessspace.vim is good but activates when leaving insert mode. This seems
to create problems while using LSP in python. Exact problem being when
in insert mode and about to enter function arguments, LSP will show
function argument signature. This conflicts with lessspace trying to do
it's thing and LSP trying to do it's thing.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
This allows us to remove the various different syntax plugins we had for
each language and also takes care of most other languages if we ever
need. vim-polyglot includes the plugins we were using.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
vimtex seems to complain compiler callbacks won't work without setting
the vimtex compiler program name which is to be neovim-remote. However,
the reason for requiring neovim-remote is mentioned as neovim not
providing the --servername option which seems to be atleast not true
anymore. So remove that and disable the Python3 provider so that we do
not depend on any external providers going forward.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>