aboutsummaryrefslogtreecommitdiff
path: root/init.lua
Commit message (Collapse)AuthorAgeFilesLines
* fix custom ls workspace root detectionFlorian Fischer2026-04-201-1/+1
| | | | | | | | | find_root_uri should consider the root configuration option for each language server, however currently non-existent table member is checked. Reported-By: lieks Suggested-By: lieks
* remove syntax highlighting from the navigation windowFlorian Fischer2026-01-301-0/+3
|
* improve navigation windowsFlorian Fischer2026-01-301-71/+60
| | | | | | | Remove broken autoscrolling. Add commands to control a code/navigation window pair. Support multiple navigation window pairs. Improve default navigation window keybindings.
* make navigation window configurable and add key bindingsFlorian Fischer2026-01-301-32/+110
|
* support navigating a file by its symbols in a seperate windowFlorian Fischer2026-01-301-0/+147
|
* settings: do not send empty settings arrays to the serverFlorian Fischer2025-11-301-2/+7
| | | | | LSP requires that the result array of a workspace/configure call must include null if the client can not provide any configuration.
* implement more sophisticated settingsFlorian Fischer2025-11-301-19/+46
|
* add language server configuration to its object tableFlorian Fischer2025-11-301-7/+8
|
* remove usable LS check from highlight_diagnosticsFlorian Fischer2025-11-121-5/+0
| | | | | | Highlighting diagnostics does not need a LS. However, there should only be diagnostics if a LS is available. But, this is already checked when looking at the open file.
* only try to de-flatten a configuration section if it is presentFlorian Fischer2025-11-121-6/+9
| | | | | | Harper send requests like this {"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{}]},"id":0} containing a single empty item.
* fix(empty file): fixes ls trying to open an empty fileJason Fuchs2025-09-021-1/+1
|
* add autoconfirm_edits configuration optionFlorian Fischer2025-07-121-16/+18
| | | | | Some language servers replace the whole file content on an edit, thus producing potentially really big diffs not suitable for review and user confirmation. So some users may just accept the changes proposed from the language server.
* Merge branch 'fix-select-location-format' into 'main'Florian Fischer2025-07-021-2/+2
|\ | | | | | | | | Fix non-integers for position in select location See merge request muhq/vis-lspc!62
| * Fix non-integers for position in select locationMichiel van den Heuvel2025-07-021-2/+2
| |
* | Add pull diagnosticsMichiel van den Heuvel2025-07-021-1/+43
|/
* fix the line number detection with tabsFlorian Fischer2025-06-081-3/+8
| | | | | If a line includes tabs add the visually added space for each tab stop to the line length in order to detect a wrapped line.
* Coalesce some event subscriptionsMichiel van den Heuvel2025-05-151-15/+18
|
* Merge branch 'sel_to_pos_v2' into 'main'Florian Fischer2025-05-151-42/+24
|\ | | | | | | | | | | | | Change vis_sel_to_pos to vis internals or to count lines itself Closes #38 See merge request muhq/vis-lspc!58
| * improve the documentation of some lsp_type comparison helpersFlorian Fischer2025-02-141-2/+9
| |
| * calculate the positions for multiple selections at onceFlorian Fischer2025-02-141-4/+8
| |
| * move file location converters functions into util moduleFlorian Fischer2025-02-141-31/+4
| | | | | | | | Use the the internal vis logic as fast path if available.
| * Change vis_sel_to_pos to count lines itselfMichiel van den Heuvel2025-02-041-20/+18
| | | | | | | | | | | | | | | | | | | | This avoids the screen scrolling when receiving diagnostics from the server, which currently means that saving the file randomly centers the cursor. This is a first version, I think that an optimisation is possible where it doesn't loop through the file for every selection, but loops once, converting every selection passed.
* | Check lsp return value is table in handlersMichiel van den Heuvel2025-05-141-4/+4
|/ | | | | At least in lua-cjson, null is sometimes returned as a (light) userdata value. This resulted in ugly errors.
* Fix undefined conf field in lsMichiel van den Heuvel2025-02-021-1/+1
| | | | | This is something that should only be in the settings branch, watch out when merging these two.
* make universal root detection opt-inFlorian Fischer2025-01-111-2/+9
|
* extract the upwards find code into the util moduleFlorian Fischer2025-01-091-13/+12
|
* refactor the language server codeFlorian Fischer2025-01-091-83/+105
| | | | Introduce a LanguageServer meta-table and write more documentation.
* *: pass rootUrigit-bruh2025-01-091-1/+23
|
* lazily initialize the default loggerFlorian Fischer2024-12-301-1/+1
| | | | | | | | | | | In order for the user to configure the logging behavior the values of lspc.logging and lspc.log_file must be evaluated after vis-lspc was required. To lazily evaluate the logging configuration a new LazyInitLogger metatable is introduced, which initializes the actual logger on first use. Fixes: 1bd1416c89f92f637ca5e22c94b3479f8d32f2d7
* attempt a gracefully shutdown the language servers when vis quitsFlorian Fischer2024-10-251-0/+11
|
* replace the shell with the language serverFlorian Fischer2024-10-251-1/+1
|
* remove assertion that a closed file always has a pathFlorian Fischer2024-09-251-1/+1
| | | | | | | | When closing any open file we assume it has a baking path. However, especially windows we opened to present markdown messages to the user have no backing path, and thus closing them fail. Fix this assumption and use vis' "[No Name]" if no file path is set.
* fix used quotes and remove old code in commentsFlorian Fischer2024-09-151-3/+0
|
* move helper code into the util moduleFlorian Fischer2024-09-151-145/+10
|
* use fzf as menu command in fullscreen modeFlorian Fischer2024-09-151-1/+2
|
* scroll last message to the top of the message windowFlorian Fischer2024-09-141-3/+4
|
* init: convert absolute paths to relative for referencesgit-bruh2024-09-141-1/+73
|
* lspc_select_locations: print source line contents in choicesgit-bruh2024-09-141-4/+91
|
* properly close the message window after applying a workspaceEditFlorian Fischer2024-09-141-1/+14
|
* use the new vis:pipe(txt, cmd) variant if availableFlorian Fischer2024-09-141-14/+20
|
* assert that io.popen returns a usable process handleFlorian Fischer2024-08-271-1/+1
|
* move the fzf detection snippet into lspc.luaFlorian Fischer2024-08-271-5/+0
| | | | | It changes a default setting keep it in the file where the default settings are defined.
* make the message handling functions methods of the lspc objectFlorian Fischer2024-08-271-116/+54
| | | | | Move the logging code into its own module and export the default logger. Other modules can use the logger exported in the lspc table.
* reorder early initialization codeFlorian Fischer2024-08-271-6/+7
|
* export the json module and move all json related code into json.luaFlorian Fischer2024-08-271-33/+12
| | | | | In the future other modules can use the json implementation included in our lspc table.
* reset the window focus after showing a messageFlorian Fischer2024-08-121-0/+5
|
* pass the opened file along lspc.events.LS_DID_OPEN eventsFlorian Fischer2024-08-071-1/+1
|
* fix lspc-rename argument clashFlorian Fischer2024-08-071-2/+2
| | | | Fixes: 87881778dfa808f41b5ee911095318373fae9a72
* refactor parser to more idiomatic OOPFlorian Fischer2024-08-071-1/+1
|
* improve printf usageFlorian Fischer2024-08-071-2/+2
| | | | | | | 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.