Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Improving Compiler Diagnostics with Overlays in Emacs - EmacsConf 2023

EmacsConf and Emacs hangouts via YouTube

Overview

Explore how to enhance C++ compiler diagnostics using Emacs overlays in this 21-minute conference talk from EmacsConf 2023. Learn about overlay creation, properties, and manipulation techniques before diving into practical applications for improving C++ error message readability. Discover how to treat C++ type names as balanced expressions, create a minor mode for compilation, and implement indentation and hiding strategies using overlays. Gain insights into parsing complex types, applying pretty printing algorithms, and customizing overlay depth for optimal diagnostics display. Conclude with a demonstration showcasing the power of overlays in simplifying C++ compiler output within Emacs.

Syllabus

Introduction
Overlays and what they can do
Simple overlay example - creating an overlay
Adding properties
Deleting an overlay
Setting fonts the right way
More properties
Visibility
Adding text
Custom properties
Notes on properties
Improving C++ compiler output
The problem with C++ error messages
Many standard class templates have default arguments
Some types are aliases for longer things, too
Reporting type information accurately means long lines
Emacs can help - Treat C++ type names as just another kind of balanced expression
Add overlays to improve readability
Create a minor mode that runs during compilation
Parsing types as balanced expressions
Indent and fill with overlays - Use ancient "pretty printing" algorithms"
Overlays can mimic line breaks and indentation
Hiding details - Marking depths with overlays
Hiding to a target depth
Demo
Conclusion

Taught by

EmacsConf and Emacs hangouts

Reviews

Start your review of Improving Compiler Diagnostics with Overlays in Emacs - EmacsConf 2023

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.