🕵️ SicherheitslückenHak5: Hackers Just Poisoned the Rust Supply Chain | Threat Wire(01.09.2026 um 14:00 Uhr)
🕵️ SicherheitslückenHak5: Hackers Found a Way Into Humanoid Robots | Threat Wire(04.09.2026 um 15:04 Uhr)
🔧 AI Nachrichten Bits und so #1021 (Passwort für Laufwerk)(31.08.2026 um 22:15 Uhr)
🔧 AI Nachrichten Bits und so #1022 (Wie Weißbier)(06.09.2026 um 20:39 Uhr)
🍏 iOS / Mac OSHue-App 6.0 ist da: das sind die Neuerungen(07.09.2026 um 17:21 Uhr)
🕵️ SicherheitslückenHak5: Hackers Just Poisoned the Rust Supply Chain | Threat Wire(01.09.2026 um 14:00 Uhr)
🕵️ SicherheitslückenHak5: Hackers Found a Way Into Humanoid Robots | Threat Wire(04.09.2026 um 15:04 Uhr)
🔧 AI Nachrichten Bits und so #1021 (Passwort für Laufwerk)(31.08.2026 um 22:15 Uhr)
🔧 AI Nachrichten Bits und so #1022 (Wie Weißbier)(06.09.2026 um 20:39 Uhr)
🍏 iOS / Mac OSHue-App 6.0 ist da: das sind die Neuerungen(07.09.2026 um 17:21 Uhr)

🔧 Programmierung 🕛 vor 3 Monaten 5 Min Lesezeit
0

Configuring CrabPascal with crabpascal.toml | Configurando com crabpascal.toml

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

Bilingual post · Post bilíngue


Jump to: English · Português










English {#english}






Configuring CrabPascal with crabpascal.toml



Every serious compiler needs project-level configuration. CrabPascal v2.22.0 reads crabpascal.toml from your project root — search paths, preprocessor symbols, Delphi vs FPC mode, output format, and runtime defaults.






Where the file lives



The compiler searches in order:





  1. crabpascal.toml (project root)


  2. .crabpascal.toml (hidden)

  3. config/crabpascal.toml



If none exist, sensible defaults apply. Add the file when your project grows beyond a single .dpr.






Starter configuration






CODE
[compiler]
version = "2.22.0"
search_paths = ["rtl/", "lib/", "examples/"]
defines = ["CRABPASCAL", "RELEASE", "MSWINDOWS"]
mode = "DELPHI" # or "OBJFPC"
strict = false
warnings = true

[preprocessor]
enabled = true
process_includes = true
symbols = []

[output]
error_format = "vscode" # or "gcc", "delphi"
colors = true

[runtime]
default_http_port = 9000

[paths]
rtl_path = "rtl/"
output_path = "output/"






Place this beside your .dpr file. All CLI commands (check, run, build-exe) pick it up automatically.






Common use cases






Delphi vs Free Pascal mode






CODE
[compiler]
mode = "DELPHI"
defines = ["CRABPASCAL", "MSWINDOWS"]






Switch to FPC compatibility:




CODE
[compiler]
mode = "OBJFPC"
defines = ["FPC", "UNIX"]






Mode affects parsing rules and RTL resolution under rtl/.






Custom unit search paths



Large projects split units across folders:




CODE
[compiler]
search_paths = [
"rtl/",
"src/units/",
"src/services/",
"third_party/"
]






This replaces hardcoded -U flags in scripts.






Preprocessor symbols



Match Delphi conditional compilation:




CODE
[preprocessor]
enabled = true
symbols = ["DEBUG", "TESTING"]






Your Pascal code can use:




CODE
{$IFDEF DEBUG}
WriteLn('Debug build');
{$ENDIF}






Run crab-pascal preproc MyApp.dpr to inspect expanded source.






CI-friendly error output






CODE
[output]
error_format = "gcc"
colors = false
show_stacktrace = false






GitHub Actions parsers often prefer gcc-style lines. Local development can keep vscode format for the extension.






Horse API port






CODE
[runtime]
default_http_port = 8080






Useful when running multiple examples (crud on 9000, time-server on 9001).






Development mode



Debugging compiler issues? Enable dev artifacts:




CODE
[development]
dev_mode = true
save_ast = true
save_preprocessed = true






AST dumps help when reporting parser bugs in sprint reviews.






Project features






CODE
[project]
auto_detect_dproj = true
recursive_uses = true
cache_units = true






recursive_uses mirrors Delphi's transitive unit loading — critical for examples/crud/ with multiple .pas files.






Tips




  • Commit crabpascal.toml to version control; skip generated output/.

  • Keep rtl/ in search_paths unless you provide a full custom RTL.

  • After changing config, re-run check — no restart needed.



Configuration turns CrabPascal from a demo compiler into a project-aware toolchain. One TOML file aligns CLI, CI, and VS Code extension behavior.









Português {#portugus}






Configurando o CrabPascal com crabpascal.toml



Todo compilador sério precisa de configuração por projeto. O CrabPascal v2.22.0 lê crabpascal.toml na raiz — search paths, símbolos de pré-processador, modo Delphi vs FPC, formato de saída e defaults de runtime.






Onde o arquivo fica



O compilador busca nesta ordem:





  1. crabpascal.toml (raiz do projeto)


  2. .crabpascal.toml (oculto)

  3. config/crabpascal.toml



Se nenhum existir, defaults sensatos são aplicados. Adicione o arquivo quando o projeto passar de um único .dpr.






Configuração inicial






CODE
[compiler]
version = "2.22.0"
search_paths = ["rtl/", "lib/", "examples/"]
defines = ["CRABPASCAL", "RELEASE", "MSWINDOWS"]
mode = "DELPHI" # ou "OBJFPC"
strict = false
warnings = true

[preprocessor]
enabled = true
process_includes = true
symbols = []

[output]
error_format = "vscode" # ou "gcc", "delphi"
colors = true

[runtime]
default_http_port = 9000

[paths]
rtl_path = "rtl/"
output_path = "output/"






Coloque ao lado do .dpr. Todos os comandos CLI (check, run, build-exe) carregam automaticamente.






Casos de uso comuns






Modo Delphi vs Free Pascal






CODE
[compiler]
mode = "DELPHI"
defines = ["CRABPASCAL", "MSWINDOWS"]






Para compatibilidade FPC:




CODE
[compiler]
mode = "OBJFPC"
defines = ["FPC", "UNIX"]






O modo afeta regras de parsing e resolução RTL em rtl/.






Search paths customizados



Projetos grandes dividem units em pastas:




CODE
[compiler]
search_paths = [
"rtl/",
"src/units/",
"src/services/",
"third_party/"
]






Substitui flags -U hardcoded em scripts.






Símbolos de pré-processador



Alinhe com compilação condicional Delphi:




CODE
[preprocessor]
enabled = true
symbols = ["DEBUG", "TESTING"]






No Pascal:




CODE
{$IFDEF DEBUG}
WriteLn('Build debug');
{$ENDIF}






Execute crab-pascal preproc MyApp.dpr para ver o fonte expandido.






Saída de erro para CI






CODE
[output]
error_format = "gcc"
colors = false
show_stacktrace = false






Parsers do GitHub Actions costumam preferir linhas estilo gcc. Desenvolvimento local pode manter formato vscode para a extensão.






Porta da API Horse






CODE
[runtime]
default_http_port = 8080






Útil ao rodar vários exemplos (crud na 9000, time-server na 9001).






Modo desenvolvimento



Depurando o compilador? Habilite artefatos de dev:




CODE
[development]
dev_mode = true
save_ast = true
save_preprocessed = true






Dumps de AST ajudam ao reportar bugs de parser nas reviews de sprint.






Recursos de projeto






CODE
[project]
auto_detect_dproj = true
recursive_uses = true
cache_units = true






recursive_uses espelha o carregamento transitivo de units do Delphi — essencial para examples/crud/ com vários .pas.






Dicas




  • Commite crabpascal.toml no controle de versão; ignore output/ gerado.

  • Mantenha rtl/ em search_paths salvo RTL customizado completo.

  • Após mudar config, rode check de novo — não precisa reiniciar.



Configuração transforma o CrabPascal de compilador demo em toolchain ciente de projeto. Um arquivo TOML alinha CLI, CI e extensão VS Code.






Published on

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
Hackers Just Poisoned the Rust Supply Chain | Threat Wire
1 Quelle
Hackers Found a Way Into Humanoid Robots | Threat Wire
1 Quelle
Bits und so #1021 (Passwort für Laufwerk)
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Configuring CrabPascal with crabpascal.toml | Configurando com crabpascal.toml

Thematisch verwandte Begriffe: Configuring, CrabPascal, with, crabpascaltoml · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...