Prism.js language definition for iRules

Code is community submitted, community supported, and recognized as ‘Use At Your Own Risk’.

Short Description

The provided iRule language definition can be used to highlight iRule code within websites using the Prism.js framework.

Problem solved by this Code Snippet

The Prism.js framework is widely used to highlight code blocks on websites. Even the DevCentral Page uses the Prism.js framework to highlight code boxes using the default TCL language definition contributed by Peter Chaplin to the Prism.js repository.

if { "1" equals "1" } then {
	HTTP::path "/something"
	pool some_pool
}

As you may see in the example above, the default TCL language definition is not trained to highlight any of the F5 specific commands (e.g. HTTP::path) and operators (e.g. equals), so that they remain non-highlighted in black color.

I took the time to write a language definition for iRules based on the reduced TCL 8.4 syntax supported by iRules in addition to the iRule command and operator set based on TMOS version 16.1.3.

I finally ended up with nearly 10kbyte RegEx signatures to provide a rich command highlighting experience for iRule code snippets.

 

How to use this Code Snippet

Visit my GitHub Repository for additional implementation notes of the 'Prism.js language definition for iRules'.

Feel free to discuss the project here on CrowSRC!

Cheers, Kai

Code Snippet Meta Information

  1. Version: 1.0
  2. Coding Language: Prism.js, JS, RegEx

Full Code Snippet

Visit: https://github.com/KaiWilke/F5-PrismJS-iRule-Language-Definition

Published Mar 06, 2023
Version 1.0

Was this article helpful?