Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CLAN Feature Parity

Status: Current Last updated: 2026-04-16 22:16 EDT

This chapter summarizes the VS Code extension’s feature parity with the legacy CLAN macOS application. The extension does not just replicate CLAN — it surpasses it in many areas while faithfully implementing its core capabilities.

Summary

The VS Code extension implements all major CLAN features and adds over 30 capabilities that CLAN never had. A small number of CLAN features are not applicable in the VS Code context (they are handled natively by VS Code or are platform-specific).

Improvements Over CLAN

The following features exist in the VS Code extension but have no equivalent in the CLAN macOS application:

FeatureDescription
Cross-platformmacOS, Windows, and Linux with identical functionality. CLAN only runs on macOS.
Real-time diagnosticsErrors appear as you type with inline squiggles. CLAN shows errors only after an explicit check.
Corpus-scale validationValidate entire directory trees via the Validation Explorer with results cached in SQLite. CLAN validates one file at a time.
Quick-fix code actionsAutomatic fixes for 21 error codes via Cmd+.. CLAN has no equivalent.
Bidirectional cross-tier alignmentClick any word on any tier to highlight aligned counterparts across all tiers simultaneously. CLAN’s alignment display is one-directional and limited.
Alignment mismatch inlay hintsInline annotations ([alignment: 3 main <> 2 mor]) visible without running any command. CLAN only surfaces these in the error log.
Go to definitionF12 jumps from speaker codes to declarations, from dependent tiers to aligned main words.
Find all referencesShift+F12 lists every occurrence of a speaker code across declarations, headers, and tiers.
Rename speaker codeF2 renames a speaker across the entire file atomically. CLAN requires manual find-and-replace.
Linked editingEditing a speaker code simultaneously updates all matching occurrences.
Code lens (utterance counts)Per-speaker utterance counts above @Participants without running any analysis.
Smart selectionShift+Ctrl+Right/Left expands/shrinks by syntactic units (word, utterance, tier block, transcript).
Workspace symbol searchCmd+T searches across all open CHAT files by speaker and content.
Document links@Media: values are clickable links.
Speaker filteringSide-by-side filtered view of selected speakers only.
Code foldingCollapse utterance blocks and header blocks.
Breadcrumb navigationCmd+Shift+O structured outline of utterances by speaker.
On-type formattingContinuation lines auto-indented with tabs.
Diagnostic tagsEmpty utterances shown with fade-out styling.
Snippet templates8 tab-triggered CHAT structure templates.
CSV exportAnalysis results exportable to CSV for spreadsheets and statistical software.
Configurable severityFilter diagnostics to errors-only, errors+warnings, or all.
Offline graph renderingBundled Graphviz WASM, no internet needed.
Scoped findSearch within specific tiers and/or specific speakers, with regex.
Context menu organizationAnalysis, media, and navigation in logical submenus.
Proper data modelingAll CHAT operations use parsed AST, not string hacking.
Pull diagnosticsLSP 3.17 pull model alongside push model.
Waveform zoom/scroll100-2000% zoom with pointer-centered mouse wheel.
Playback speed control0.25x to 2x via slider in media panel.
Transcription key configurationRemap F4/F5/F8 for foot pedals via standard VS Code keybindings.

Features Fully Implemented from CLAN

These CLAN features have been faithfully ported to the VS Code extension:

CLAN FeatureVS Code Implementation
Syntax highlightingTextMate grammar + LSP semantic tokens (11 token types)
Validation (CHECK)Real-time diagnostics + Validation Explorer
Hover / Tier WindowtextDocument/hover for main, %mor, %gra, %pho, %sin tiers
Alignment displaytextDocument/documentHighlight with bidirectional range finders
Completion (auto-complete)textDocument/completion for speakers, tiers, postcodes, headers, brackets
Dependency graphtalkbank/showDependencyGraph + Graphviz WASM rendering
33 CLAN analysis commandstalkbank/analyze with generic result rendering
KidEval / Eval / Eval-DDedicated webview panels with language/activity grid, auto-detection from file headers, cascading database selection, and z-score comparison
Participant EditoridEditorPanel.ts with 10-column editable table
Media playback (Sonic mode)mediaPanel.ts with single and continuous play
Waveform viewwaveformPanel.ts with Web Audio API rendering
Walker modeAlt+Down/Up stepping with auto-play
Transcription modeF4 stamping with LSP-formatted bullets
Coding mode.cut file loading, hierarchical QuickPick, %cod insertion
Picture displaypicturePanel.ts with %pic: reference scanning
F5 loop / F8 rewindSegment loop toggle and configurable rewind
Special character inputCompose-key mode for 30+ CA symbols and 20+ CHAT marks
Open in CLANApple Events (macOS) and Windows messaging IPC
Format/tidytextDocument/formatting through canonical serializer
Document outlinetextDocument/documentSymbol two-level tree
Bullet displayConfigurable: dim (35%), hidden, or normal
Corpus-level analysisDirectory-level analysis via explorer context menu

Features Not Applicable to VS Code

These CLAN features are handled natively by VS Code or are platform-specific and not relevant:

CLAN FeatureVS Code Equivalent
Go to line dialogCmd+G (built-in)
Print supportVS Code print extensions
Font selectioneditor.fontFamily setting
Window managementVS Code’s built-in layout system
Options/preferences panelVS Code Settings UI
File input dialogVS Code’s native file picker
Commands windowCommand Palette (Cmd+Shift+P)
About dialogExtension info page
Services menumacOS-specific, not relevant cross-platform
Edit mode toggleVS Code’s read-only mode