Closed vyzo closed 3 months ago
@metaleap good questions!
in addition to update-workspace, how about live edits as I described under on-source-file-edited, want an event for that? Or would that be too slow? (Would mean keeping in-memory sources other than what's on disk, for one. And annoyingly, even whitespace-changes-only edits would have to retrigger analyses just so that reference-locations are up to date.)
I think the current interface is probably sufficient, but we might want to batch the changes perhaps? It is an update-workspace with modified files.
for signalling updated source problems/issues/mistakes/warnings, is there some equivalent of on-file-notices-changed planned? or already in here and I didn't see it? (If postponed for now, no prob.)
Postponed for now, but yes, this is quite important -- sending diagnostic information, errors, warnings, etc back to the editor. It is postponed because I want to see how this will work with the actor indirections.
how would jump-to-def(s) be done, would this be resolve? But doesn't seem to return file+span locations, right?
First resolve
and then find-refs
should be sufficient. And you can reuse the entity from the resolve until it has become invalidated because of an edit.
just to double-check my understanding: find-refs would be given an Entity that was obtained via resolve, right?
or visit
!
symbols list / symbols search in workspace in here? didn't catch it if so. or would this be a special way of calling find-refs (ie different than one would call it for Find References)?
I think you would do this with visit
which will give you the meta-sexpr that you can use to expand all definitions etc
canRename / doRename also remains an attractive feature but if postponed, that's alright
Ah yes, this is quite important for refactoring!
I think we can do this with a rename
call that takes an entity and the new name/scope?
Let's punt on this a bit nonetheless, but definitely something we want to support.
Alright, sounds good! Looking forward to that stuff;
but we might want to batch the changes perhaps? It is an update-workspace with modified files.
Yeah but takes only file-paths, not in-memory source-contents right? At least IIRC
but we might want to batch the changes perhaps? It is an update-workspace with modified files.
Yeah but takes only file-paths, not in-memory source-contents right? At least IIRC
Yes indeed, but I think it is much saner to reparse the whole file coz of potential expansions from macro changes etc.
interface and data model for now.