D 2018-07-04T17:43:09.029 L internal-fields N text/x-markdown P 243b1b2b6ce1e1141a2f838051b350d517bec48564461ed993560d3538253c55 U mario W 1236 #### Implicit/internal field names When [plugin meta data](wiki/Plugin+Meta+Data) comments get extracted into a hashtable (`$meta.*`), some common attributes might get populated. Either implied from the filename, or from predefined defaults. ## # id: basename With e.g. the [depends:](wiki/depends) field plugins can reference each other. And they typically just list basenames, not full paths. Because the point of PMD is to abstract filenames from plugin names. # fn: src/plugin/featurename.rb # id: featurename Albeit one could use a literal `# id:` override in scripts, it's probably best to avoid ambigious basenames. For the scope of one application API all plugin identifiers should be unique. ## # fn: .../src/plugin/filename.rb When a script gets parsed, it's often necessary to retain its exact location. For brevity, I'd usually store this in an internal field named `$meta.fn` ## # comment: …
… … … … … … … The remainder of the topmost comment block (after all PMD key:value fields) is meant to contain a longer [description](wiki/description). And for my implementations I usually keep it as `$meta.comment` (albeit also used `$meta.doc` in some extractors.) Z 27e1ebf9f88952c0aac402fbc62ad4f6