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.
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() }`.