That seems like a smart insight... but, if you're going to use an existing linter it will lint the full existing language and not your subset.
So, if you accidentally code something that is not in the subset but is in the full language, the linter would then happily accept that. Imo there will be similar issues for lsps and formatters also. You're going to probably end up in a situation where you have to fork all of those anyway.