aboutsummaryrefslogtreecommitdiff
path: root/init.lua
Commit message (Collapse)AuthorAgeFilesLines
* implement more sophisticated settingsFlorian Fischer2025-05-161-16/+46
|
* add language server configuration to its object tableFlorian Fischer2025-05-161-7/+8
|
* 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.
* fix diagnostic message creation if no file is available in the windowFlorian Fischer2024-08-061-1/+1
|
* improve usable ls detectionFlorian Fischer2024-05-241-28/+38
| | | | | | | 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.
* use ls:call_method call convention consistentlyFlorian Fischer2024-05-231-2/+2
|
* fix open file tracking after didCloseFlorian Fischer2024-05-221-1/+4
| | | | | | | | | 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
* assert that we have a usable language server if no error occurredFlorian Fischer2024-05-031-0/+10
|
* cleanup open file handlingFlorian Fischer2024-05-031-39/+30
| | | | | | | | | | | 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.
* fix typo in commentFlorian Fischer2024-05-031-1/+1
|
* emit the LS_INITIALIZED after finishing initializationFlorian Fischer2024-05-021-2/+2
|
* remove obsoltete hooks from languauge server tableFlorian Fischer2024-05-021-2/+0
|
* replace // operator with math.floor and regular divisionFlorian Fischer2024-05-021-1/+1
| | | | | | lua52 does not support the // arithemtic operator. Reported-By: avery havaniceday <shitpostalotl@unix.dog>
* use vis' event system instead of custom language server hooksFlorian Fischer2024-04-301-10/+2
|
* lspc, init: emit LS_INITIALIZED and implicitly call lspc_open on server initgit-bruh2024-04-301-0/+25
|
* include the language server name in log messagesFlorian Fischer2024-04-301-2/+2
|
* call the new hooksFlorian Fischer2024-04-301-0/+9
| | | | | | | | | | 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.