With this replacement, same as for keymaps, now, the on_attach argument
on LSP servers setup can be completely avoided. This change ends up
simplifying the LSP-server setup step making it more general.
Instead of calling the function that sets all the custom keymaps at the
end of the custom `on_attach` function, directly add the function as a
hook to the LspAttach event.
With this change more modularization is possible, being able to move all
the keymaps settings to other parts of the config files.
Added a default separation of 4 (instead of the previous 2 for 1366×720)
between windows when in tiled positions. After that default separation,
distances had to bee adjusted a little bit.
Instead of relying on constantly keeping up to date the list of ensured
installed parsers, auto-install them as long as they are being needed by
the editor (when a buffer of a new filetype is opened).
Stopped using our own implementation of a table deep copy for Lua.
Started using the one provided by Neovim.
Instead of directly using own implementations for functions not provided
in Lua's stdlib, look for an implementation within Neovim Lua's modules.
Changed the meaning the returned table, per LSP server configuration,
has. That is, instead of returning the bare `settings` table, the
return value now is a table **containing** the `settings` keyword, with
the corresponding value table assigned to it.
This change is made to include in the table **other** possible keywords
that could accompany the `settings` keyword, such as `cmd`, for those
LSP servers that configure their state directly with command line flags;
or something of the sort.
The raise of “error” when copying the configuration table, is because
the keys “on_attach” and “capabilities” shouldn't be modified per LSP
server configuration, and be en common to all the LSP servers.
Stopped using our own implementation of a table deep copy for Lua.
Started using the one provided by Neovim.
Instead of directly using own implementations for functions not provided
in Lua's stdlib, look for an implementation within Neovim Lua's modules.
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.
Although the pop-up menu in GTK+ integrates better with GTK's app look,
this implementation has some issues cycling through all the items with
`Ctrl+n` when the list is a bit long.
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.
In order to be able to re-load/reset default settings in colorscheme
onedark, there is no longer a function (`onedark#extend_highlight`) to
re-apply colors, but instead that can be achieved by re-loading the
highlighting with the `syntax reset` command.