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.
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
| Control | What it does |
|---|---|
| Marker level | Sets the lowest validation severity drawn inline: error, warning, info, or none. Shown only while Validate is on. |
| Color theme | Switches the syntax-highlighting palette for all editor tabs. |
| Line numbers | Shows or hides the line-number gutter. |
| Word wrap | Wraps long segments instead of scrolling horizontally. |
| Tooltips | Turns the hover tooltips on or off. |
| Settings | Opens the Message Editor settings panel. |
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 is | Suggestions |
|---|---|
| Start of a line | Segment names from the schema |
| A field bound to an HL7 table | The valid coded values for that table |
| A field bound to an external code system | Live 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 field | The field name and data type as a hint |
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.
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.