Skip to content

linters/plugin-names

The plugin names the plugin-name lint rules look for, and the matcher they share.

Whenever text mentions an Obsidian plugin by name, the name is marked as code: backticks in markdown and in code comments, a <code> element in UI. The ESLint rules plugin-name-as-code / plugin-name-as-code-in-ui and the markdownlint rule plugin-name-as-code all read the one list here, so a name added to it is checked everywhere at once.

The list is the display name (manifest.json name) of every mnaoumov/obsidian-* plugin, plus the third-party plugins those repositories mention. A few third-party names (Linter, Projects, Copilot) are left out on purpose: they are ordinary words, so matching them bare reports prose rather than plugin names. A project adds its own manifest.json name automatically, and can extend the list through each rule’s additionalPluginNames option.

Interface Description
GetPluginNamesParams Params for getPluginNames.
PluginNameMatch A plugin name found in a text.
PluginNameRuleOptions Options of a rule that checks plugin names.
Function Description
findPluginNameMatches Finds every whole-word occurrence of a plugin name in a text, skipping those inside a range an excluded pattern matches. Matching is case-sensitive, so the lowercase dataview of an identifier or a package name is not a plugin name. A longer name wins over a shorter one it contains.
getPluginNames Builds the list of plugin names a project checks: the shared list, the project’s own manifest.json name, and any names the project adds.
Variable Description
MNAOUMOV_PLUGIN_NAMES The display names of the mnaoumov/obsidian-* plugins.
THIRD_PARTY_PLUGIN_NAMES The display names of the third-party plugins the mnaoumov/obsidian-* repositories mention.