| name | Check Inline Code Formatting |
| description | Review inline code in markdown files for proper formatting and syntax highlighting. Check for missing backticks on CLI flags, filenames, and code elements. Verify that inline syntax highlighting (#!groovy) is used appropriately. Use when reviewing documentation or quiz questions. |
Check Inline Code Formatting
Review inline code in markdown files for proper formatting and appropriate use of syntax highlighting.
See ../shared/repo-conventions.md for file conventions.
What to Check
1. Missing Backticks
The following should always be wrapped in backticks:
CLI flags and options:
-resume, -profile, -params-file, --input, etc.
Filenames and paths:
nextflow.config, .command.sh, work/, modules/, etc.
Commands:
nextflow run, nextflow log, docker run, etc.
Code elements:
- Variable names:
params.input, outputDir
- Process names:
SAYHELLO
- Operators and methods:
collect(), map(), view()
- Directives:
container, publishDir, memory
2. Inline Syntax Highlighting
Use `#!groovy code` for Groovy/Nextflow code that benefits from syntax colouring.
DO use #!groovy for:
- Variable interpolation:
`#!groovy ${variable}`
- Closures:
`#!groovy { meta.id }` or `#!groovy .map { it * 2 }`
- Method chains with closures:
`#!groovy channel.of(1,2,3).map { it * 2 }`
- String interpolation:
`#!groovy "${greeting}-output.txt"`
- Type declarations:
`#!groovy param: String = 'value'`
DO NOT use #!groovy for:
- Single words or identifiers: use
`outputDir` not `#!groovy outputDir`
- Simple directives: use
`container 'uri'` not `#!groovy container 'uri'`
- Plain dot notation: use
`processName.out` not `#!groovy processName.out`
- Keywords alone: use
`include` not `#!groovy include`
The rule: Only use #!groovy when there's meaningful syntax structure (braces, interpolation, operators) that highlighting will visually enhance. A single word or simple expression gains nothing from syntax highlighting.
3. Consistency
- Similar code references should be formatted the same way throughout a document
- Quiz answer options should have consistent formatting
Examples
Good inline code formatting
Run the workflow with `nextflow run main.nf -resume`.
The `#!groovy ${greeting}` variable is interpolated into the string.
Set memory with `#!groovy process { withName: 'FOO' { memory = '4.GB' } }`.
The `container` directive specifies the Docker image.
Access outputs with `processName.out.outputName`.
Bad inline code formatting
<!-- Missing backticks -->
Run the workflow with nextflow run main.nf -resume.
<!-- Unnecessary #!groovy on single word -->
The `#!groovy container` directive specifies the image.
<!-- Missing #!groovy on closure -->
Transform with `.map { it.toUpperCase() }`.