| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
It changes a default setting keep it in the file where the default
settings are defined.
|
| |
|
|
|
| |
Move the logging code into its own module and export the default logger.
Other modules can use the logger exported in the lspc table.
|
| | |
|
| |
|
|
|
| |
In the future other modules can use the json implementation included
in our lspc table.
|
| | |
|
| | |
|
| |
|
|
| |
Fixes: 87881778dfa808f41b5ee911095318373fae9a72
|
| | |
|
| |
|
|
|
|
|
| |
Use %s and '' instead of "" to prevent the shell from interpreting the string
to print.
Escape all occurenses of ' in the string with '"'"' like python's shlex.quote.
This prevents shell injection attacks by files with malicious names.
|
| | |
|
| |
|
|
|
|
|
| |
Fallback to the first usable language server if neither a syntax is
explicitly specified nor a syntax is set in the window.
Support an explicit syntax argument in all registered commands.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Properly remove the reference to the language server to which we
send the didClose notification.
Additionally, remove the open file reference if this was the last
language server for the closed file.
Fixes: 3c4b876ce21be2928c1bab33856d2294e6b43f5b
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Introduce a new helper to determine if a file is opened in a specific
language server.
Cleanup SAVE and CLOSE events.
They get registered for each associated language server during lspc_open,
therefore one individual event only needs to take care of its specific
language server not all.
Remove the unused open_file table from language severs.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
lua52 does not support the // arithemtic operator.
Reported-By: avery havaniceday <shitpostalotl@unix.dog>
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
The two new hooks allow to execute user code after certain events.
They are called with the language server table as first argument.
* initialized_hook is called after the initialized notification
was sent.
* file_open_hook is called after sending a textDocument/didOpen
notification.
|
| |
|
|
|
|
|
|
| |
Including methods in the language server table allows them to be used
outside of vis-lspc.
Additionally, I think this makes more sense to use them as methods
with the ls:method(...) syntax instead of calling them as ls_method(ls, ...).
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
This allows us to support opening a single file in multiple
language server instances.
This can be useful when combining for example a latex and a language
tool language server.
|
| |
|
|
|
| |
Replace the hacky style_lineno code with the new vis:style_pos
API probably included in upcoming vis v0.9.
|
| |
|
|
|
|
|
|
|
| |
The two options are either using vis:message (the default) which will
keep all messages in the vis message buffer and include a header line to
distinguish the different messages.
The second option is using open and presenting messages in a separate
window supporting syntax highlighting.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| |
| | |
restore the primary cursor position after a workspaceEdit
See merge request muhq/vis-lspc!47
|
| | | |
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The last commit introduces support for highlighting empty selections
by properly calculating their vis ranges.
However File:content does return an empty string for empty ranges
and we can not check whether the diagnostic still applies to the same
position.
This is fixed by faking a one character range when receiving an
empty one.
Doing so we get a valid one-character content we can compare and
still have proper highlighting because we unconditionally decrement
the range end in highlight_diagnostics.
Fixes: 7099e56062861fc8dbb143e78447cce6bf886a97
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some language servers report diagnostics with empty ranges, start and
end are at the same line and character, which currently results in
no highlighting at all.
Since the end of a LSP range is exclusive we always subtract 1 from
it which results in invalid ranges when the server has sent an empty one.
Introduce a check to fix this special case.
`textDocument/publishDiagnostics` doesn't always have a `code` field,
resulting in `diagnostic.code` being nil and so it is replaced with
`diagnostic` in those cases.
|
| | |
|
| |
|
|
|
| |
Since the diagnostics table is created when we open the file
it will always be ~= nil.
|
| | |
|
| |
|
|
|
|
| |
This is implemented by the two new commands:
* lspc-next-diagnostics - jump to the next available diagnostic
* lspc-prev-diagnostics - jump to the previous available diagnostic
|
| |
|
|
|
|
|
|
| |
Range highlighting used the vis_range and line highlighting the LSP
range. Do not touch old code you no longer understand because you think
you are apparently smarter than your past self!
Fixes: efd5262f2c45d3289e482b1091d3c1d44cf67a42
|
| |
|
|
| |
Since vis 0.9 the options are exposed via the vis.options table.
|
| | |
|
| | |
|