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>
vim-lsp seems to provide more options, seems to work better and faster
even perhaps. With the switch to vim-lsp and asyncomplete we should be
able to remove dependency on external python provider.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Starting a command with 'n' resulted in a poor usage experience for
jumping to 'next' match of a search. Prefix all these commands with
Leader.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
We do not do Purescript really so just add the language server support
and remove the extra bindings for purs ide plugin, if we ever require at
work.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
A plugin requiring a run of UpdateRemotePlugins does not work if it is
only setup to load with the specific file type.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
The dark black background of moonfly theme I like. So switch. Rest
seems the same as nightfly.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
This theme has some better styled colors for Haskell and though
increases the load times in vim slightly seems better to use.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Neovim has a "stack" compiler file but this does not seem to work,
at least not in the shitty monorepo I am working on. Someone provided a
solution on Reddit which uses a custom compiler file and has been
modified to work on modules. Which is also perhaps why it doesn't work
in the monorepo project at work.
https://www.reddit.com/r/neovim/comments/es8wn7/haskell_makeprg_for_stack_build/https://github.com/maxigit/vimrc/tree/2020/compiler
Use them and tie it up with Neomake! change.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Using 'l' sometimes lead to false trigger as we also use it as our
primary 'Right' movement key.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Now that we use a 60% tenkeyless mechanical keyboard it is easier to
reach the ESC key and use it. Also it seems sometimes hitting jk pretty
fast to escape does not work so easily on the mechanical keyboard.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Now that we rely on Language Client, we do not need deoplete specific
completion plugins for Python or Rust.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
hasktags seems to better as it seems to be recognized by tools like
Vista and gives a proper 'Tagbar' structure for tags.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Though we had removed this earlier bring it back. It saves the hassle of
having different plugin, packages or bindings for different languages.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
It becomes extremely annoying if neomake keeps getting invoked even
before we have finished writing some sensible code and then saved the
file. So let neomake be invoked automatically only when we save a file.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
While we have gone back and forth between quickfix and fzf for cscope,
it makes sense for cscope results to be loaded in quickfix window.
Results loaded in fzf window will disappear once selected since that's
how fuzzy finding is used but we do not want to have that behaviour with
results of tools like cscope. Also use a plugin this time instead of
having our own function. The plugin also provides the added advantage of
jumping to a global definition instead of even opening that in a window.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
We may be running in a nix environment or without stack supported
project. Check this and setup the environment variable for ghcid and
hoogle plugin accordingly.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
vinegar seems to behave weirdly if these settings are in place. For
example, each invocation of '-' results in a new netrw window and it
persists unless explicitly closed.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
unimpaired plugin adds more than 15ms of load time and sometimes 20+ms
have also been seen. Not worth it. Just steal or modify some of the
bindings we care about.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Now that we do not need to take care of shitty ubuntu, remove fzf
install. On ubuntu, having a system installed fzf seemed to not work
with the fzf plugin.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
unimpaired provides some helpful bindings so use that. Remove redundant
bindings like the ones for quickfix & location list due to use of
unimpaired. It also provides consistent bindings across the board.
While at it, reduce the use of leader key. The idea behind using leader
key everywhere was taken since we migrated from spacemacs, However, for
non-conflicting bindings it's better to have a hit as few keys as
possible, so remove leader from few of the earlier bindings.
To see list of all mappings, use '9verbose nmap <key>'.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Couldn't really figure out how to use vim easy align, so just chuck it.
Add tabular & indentline.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
For code browsing j & k keys are required. Using Ctrl-d/e
combination to scroll becomes unwieldy.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Show Pydocs feature in deoplete jedi does not seem to consider
the complete word. For example, os.path.splitext placing cursor
on splitext seems to give an error. Same works in jedi-vim. Do
not use completions from jedi-vim though.
Since fzf comes installed by default on Manjaro i3 and we
need some fuzzy finder on command line anyways switch to
it. The additional helpers around fzf cannot be ignored.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
We will just fire a tag generation command ourselves with Neomake.
No need for gutentags. It isn't smart anyways to work for multiple
languages and doesn't work on repos like gst-build.
Ditch our plans to have vimscript only plugins. This seems to provide
much more functionality than clap & we are dependent on pynvim anyways
because we are gonna keep using deoplete.
Twiggy does not seem to work with fish shell. See the below
issue and considering that it has been open since more than
a year does not look likely to be solved.
https://github.com/sodapopcan/vim-twiggy/issues/7
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>