summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2022-12-29 18:44:37 -0500
committerpommicket <pommicket@gmail.com>2022-12-29 18:44:37 -0500
commitd77782564bf0a090a4e7fa4f4c4bb685383275dc (patch)
treea4bc3c0bf142c663ea7f293b4381927adc896f1c /main.c
parent5f7af06a9085835a3d1ad3a51374c245859d7d97 (diff)
textDocument/definition for ctrl+click
Diffstat (limited to 'main.c')
-rw-r--r--main.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/main.c b/main.c
index 7fe7847..c02774f 100644
--- a/main.c
+++ b/main.c
@@ -1,5 +1,7 @@
/*
@TODO:
+- check definition capabilities
+- some way of showing that we're currently loading the definition location (different cursor color?)
- more LSP stuff:
- go to definition using LSP
- find usages
@@ -13,9 +15,11 @@
- what to do if initialize request takes a long time?
- delete old sent requests? but make sure requests that just take a long time are okay.
(if the server never sends a response)
+- check that tags still works
- TESTING: make rust-analyzer-slow (waits 10s before sending response)
- run everything through valgrind ideally with leak checking
- grep -i -n TODO *.[ch]
+- when searching files/definitions, sort by length? or put exact matches at the top?
--- LSP MERGE ---
- improve structure of ted source code to make LSP completions better
(make every c file a valid translation unit)
@@ -140,13 +144,13 @@ bool tag_goto(Ted *ted, char const *tag);
#include "build.c"
#include "tags.c"
#include "menu.c"
-#include "autocomplete.c"
-#include "signature-help.c"
-#include "hover.c"
+#include "ide-autocomplete.c"
+#include "ide-signature-help.c"
+#include "ide-hover.c"
+#include "ide-definitions.c"
#include "command.c"
#include "config.c"
#include "session.c"
-#include "json.c"
#include "lsp.c"
#if PROFILE
@@ -891,6 +895,7 @@ int main(int argc, char **argv) {
autocomplete_process_lsp_response(ted, r);
signature_help_process_lsp_response(ted, r);
hover_process_lsp_response(ted, r);
+ definitions_process_lsp_response(ted, lsp, r);
} break;
}
lsp_message_free(&message);