Shellarium Public Beta is here! Try the AI Agent Orchestrator
← Back to list
Pascal Flow

Pascal Flow

Pascal Flow brings modern, high-performance language support for the Pascal ecosystem to JetBrains IDEs — built for reading, navigating and confidently working with...

Description

Pascal Flow brings modern, high-performance language support for the Pascal ecosystem to JetBrains IDEs — built for reading, navigating and confidently working with both fresh and large-scale legacy Delphi and Free Pascal projects. It understands real-world code, including multiple dialects, conditional compilation and shared include files, so you get accurate highlighting, navigation and code insight out of the box.

Supported files

  • Pascal sources: .pas, .dpr, .lpr, .pp, .dpk
  • Include fragments: .inc
  • Form files: .dfm, .lfm, .fmx
  • Project files: .lpi, .lpk, .dproj, .groupproj

Editor

  • Syntax highlighting for Pascal and DFM/LFM forms, with a configurable color scheme
  • Code folding, brace matching, line and block comments
  • Code completion, including compiler directives
  • Code formatting and dedicated code style settings
  • Quick documentation and breadcrumbs
  • Dialect-aware highlighting of contextual keywords and inactive (conditionally compiled) code

Navigation & refactoring

  • Go to Class and Go to Symbol for units, types, routines, constants, properties and fields
  • Go to Declaration on a uses clause jumps to the referenced unit (dotted, aliased and in '…' forms included)
  • Gutter markers between a routine's interface declaration and its implementation — in both directions, even when the body lives in an {$I} include
  • Class and interface hierarchy gutter markers: jump from a type to its supertypes, subclasses or implementing classes, and from a method to the one it overrides, the methods overriding it, the interface method it implements, or the classes implementing an interface method — across units
  • Reference resolution and Find Usages, including compiler-directive include navigation, generic / specialize types, and nested-procedure and anonymous-method scopes
  • Rename refactoring backed by named-element PSI
  • Structure view for fast in-file navigation

Code inspections

  • Empty begin/end block
  • Duplicate class/record/interface member
  • Unused local declaration
  • Missing override directive
  • Redundant routine directive
  • Unbalanced compiler directive
  • Trailing comma in uses clause

Parser & conditional compilation

  • Realistic Delphi/FPC parsing of generics, anonymous methods, inline variables, helpers, class operators, variant records and assembler blocks
  • Wide dialect coverage — Delphi, Free Pascal, Turbo Pascal and MacPas — including context-sensitive operators, objc classes, specialize-qualified types and the full range of routine and variable modifiers
  • {$IFDEF} evaluation with project-configurable conditional defines, plus MacPas {$ifc}/{$setc}/{$endc} directives
  • Include-aware indexing that propagates {$I} include defines across the project, including units whose interface or program body is supplied by an include
  • Tolerant of real-world quirks: keyword-named identifiers, trailing tokens after end. and label-less case statements