Originally posted by **samuelstroschein** January 26, 2024
## Problem
Several problems that relate to code can not be linted at the moment. For example:
1. Is this message used? https://github.com/opral/monorepo/discussions/1961
2. Does code include hardcoded text that needs to be extracted?
3. https://github.com/opral/monorepo/discussions/2253
## Proposal
Introduce an API for plugins to report where a message is used in source code.
The information where a message is used in source code can be used for several features:
- decorators in @opral/inlang-ide-extension
- a lint rule that detects unused messages
- providing context in @opral/inlang-fink and other apps where a message is used
### Thinks to consider
- performance/caching of parsing source code (querying @opral/lix for changes of a file seems to be a quick win and good requirement for lix `repo.fs.file("some-file").lastChange())`
- how can the API take as much work from plugin authors as possible e.g. in regards to caching & handling performance
Discussed in https://github.com/opral/monorepo/discussions/2126
MESDK-43 plugin API where is a message used in source code for "unused message", "hardcoded text", etc. lint rules