Message Editor

The Monaco-based HL7 v2 editor: completion, hover, and header controls

A syntax-aware HL7 v2 editor with schema-driven completion and hover.

The Message Editor is the center pane, a Monaco editor with an HL7 v2 language service. Segment names, delimiters, and escape sequences are color-coded, validation issues are underlined inline, and completion and hover are driven by the schema for the selected version.

Screenshot coming soon

Syntax-highlighted HL7 v2, with table-bound fields marked by dashed outlines (the default "Border" highlight style) and the pane header controls at top right.

Header Controls

ControlWhat it does
Marker levelSets the lowest validation severity drawn inline: error, warning, info, or none. Shown only while Validate is on.
Color themeSwitches the syntax-highlighting palette for all editor tabs.
Line numbersShows or hides the line-number gutter.
Word wrapWraps long segments instead of scrolling horizontally.
TooltipsTurns the hover tooltips on or off.
SettingsOpens the Message Editor settings panel.
Screenshot coming soon

The Settings button opens the Message Editor settings panel, where the header toggles and more live together.

Completion

Press Ctrl+Space to open suggestions for the field at the cursor. The list is filtered by anything typed before the cursor, and picking an entry replaces the whole field value. If the mouse is resting over a field (paused long enough for the hover tooltip to appear), Ctrl+Space first jumps the cursor to the start of that hovered field so you see its full suggestion list. Typing a |, ^, or ~ opens them automatically. What you get depends on the field:

Where the cursor isSuggestions
Start of a lineSegment names from the schema
A field bound to an HL7 tableThe valid coded values for that table
A field bound to an external code systemLive matches from the terminology server (LOINC, SNOMED CT, and others)
A date/time field (DTM, DT, TM, TS)Format snippets, including "Now" for the current timestamp
A context-driven field (for example MSH-9)A filtered value list based on the message so far
Any other fieldThe field name and data type as a hint
Screenshot coming soon

Completion on PID-16 offers the Table 0002 Marital Status values, each listed as a code and description with the bound table (Tbl 2:16 - Marital Status) as the suggestion detail.

Hover

Hovering over a field shows its name, data type, optionality, length, item number, and section reference, along with any validation issues at that spot. When a validation issue cites a spec section (for example, data in a withdrawn or backward-compatible field), a "More" link on that issue opens the cited section in a popup without leaving the editor; these links are hidden in offline mode. Turn hover off with the Tooltips header toggle.

Screenshot coming soon

Hover on PID-11.2: field name, XAD data type, optionality, length, item number, and section reference, plus the component breakdown.

Selection and Sync

Click to select

Clicking a field moves the selection to the Details, Segment Grid, and Tree Navigator panes at once, drilling into the exact component or subcomponent under the cursor.

Triple-click

Selects the entire field value between two delimiters.

Escape

Closes any open suggestion or find widget first; pressing it again clears the field selection across every pane.

Tab tooltips

Hovering an editor tab shows the message type, source file, segment count, and parse status.

The editor honors the standard Monaco shortcuts too: F1 for the command palette, Ctrl+F / Ctrl+H to find and replace, Ctrl+G to go to a line, and Ctrl+Z / Ctrl+Shift+Z to undo and redo.