Added context plugins that keep block-starting lines at the top of the
editing window, to have some context of where is located the code one is
editing.
Removed the first-line a warning/error occurs, info from the status-line
for both, Neovim's LSP server and Vim's CoC. That information can be
obtained when going through the quickfix list of diagnostics, instead of
seeing only the first and then the second, if the first gets fixed.
Also, as a bonus, enabled the global-status-line setting in Neovim.
Although it is nice to see the corresponding GNU/Linux distro logo in
the status bar; there is no relation between Debian, Fedora, Arch, etc,
and the file having UNIX line endings.
This patch anonymizes that by making the status bar show just a Tux then
the file has UNIX line-ending terminations.
As the README states, the function of CoC in Vim is to provide
LSP-clinet capabilities. As such, and as all LSP-stuff in Neovim is
packed under the `lsp` category in `packpath`, the same structure is
being replicated now for Vim.
Currently, installed plugins were being loaded after some commands
provided by them were called, incurring in race-condition errors when
launching Neovim/Vim.
This reordering makes available plugins before their commands are
invoked.
Vim's plugin auto-pairs has been unmaintained for several years now. A
new project has risen as a fork of the original one.
This patch uses the new fork and sets some defaults existing in the
previous plugin.
indentLine has had support dropped since mid-2023. There is no
replacement that works on both Neovim and Vim; but almost the same
behavior can be achieved with `listchars` and some autocmd magic.
So the plugin is getting removed as dependency from this repo.
indentLine is archived since last year and with that, there are no
further updates. But the project's GitHub states that the same behavior
can be achieved with Vim's listchars, so this patch does that.
Anticipating the possible migration to a different home for plugins,
and using the advantage that `plug#end()` command ensures adding
plugins to the Vim's runtimepath.
Until now, plugins are loaded because they are located in Vim's native
package structure. That location may change for this repo.
As `plug#end()` command doesn't duplicate paths in the runtimepath,
there is no need to omit it. On the other hand, it was necessary to add
the `'on': []` Plug's option for those plugins that currently reside in
`opt` Vim's package directories to prevent those plugins from being
loaded in the runtimepath, as such plugins are excluded from runtimepath
but their commands loaded for Vim anyways.
Delete sub-modules and added the plugins as a vim-plug managed plugins.
Enforced the directory location to honor the same exactly location those
plugins had as sub-modules.
This approach, although less standard, helps the migration process
ensuring nothing is moving around arbitrarily.
Stopped enforcing a different indentation size for C files, it now uses
the same 4 character width as for other filetypes.
Also, instead of hardcoding the value of softtabstop to the same value
as shiftwidth, set it to a negative value; which makes it behave exactly
like that, according to documentation.
In order to unify the experience between using Vim+CoC and Neovim with
it's native LSP support; use the very same unicode characters to
represent the level for the diagnostics.
Set in both editors the VSCode theme Dark+ variant. Each editor uses a
plugin built specifically for it, because Neovim's is written in Lua and
Vim's doesn't provide TreeSitter support.
As the Neovim's version of this colorscheme is written in Lua and
doesn't work on Vim, this version of the theme is added to achieve
almost the same look/experience in both editors.
This colorscheme implements the vim-airline version of the theme, that
is also used in Neovim (the airline plugin) and needs of this to look
integrated.
The CoC extension coc-python got unmaintained (and it's repo archived:
https://github.com/neoclide/coc-python). Therefore there is no need to
keep the corresponding settings either coc-settings.json file.
coc-python is not working at the moment and some checks are just passing
by. Added another CoC server to catch those which are not being
detected in Vim at the moment.
There is too many instructions specifically for the code editors
Neovim/Vim. Having their instructions in the main project README file
can confuse and overwhelm.
Renamed Vim-script and Lua modules to separate the functions from, which
settings correspond to the client part and which to the server part of
the LSP protocol for either editor.
Reduced some space on the airline plugin by stripping out to one letter
the mode indicator. Mode indicator is kinda redundant since it comes in
full on native Vim/Neovim status bar (except perhaps for Normal mode).