Text this: Structure-Preserving Algorithms for Oscillatory Differential Equations