Yeah, parsing log just to detect if script is ened is far from ideal, but I did not find other way since you cannot find exact job in /system/script/job to watch for uploaded autorun script. If script job’s property contains script file name, same as when running script from ROS, it would be possible to watch that instead parsing log, but unfortunately it’s empty for uploaded autorun scripts - this can be feature request for improvement.
Regarding introspecting code with LSP is out of scope for task. It would be nice to have such ROS script extension for sure.