Hi! On 23/01/2023 06:33, Aaron Jensen wrote: > > Start with a buffer in ruby-ts-mode like: > > a > > b > > Between the two lines, type "class Foo", then press enter > > You should get this: > > a > > class Foo > > b > > But this is expected: > > a > > class Foo > > b > > Note that reindenting after adding the "end" will indent correctly, so > it's only an issue with electric indent Thanks for the report, the problem here is that such examples parse into a malformed syntax tree: (program (identifier) (ERROR class (constant) (identifier))) Another example would be: class C def foo which parses as (ERROR class (constant) def (identifier)) We can try to anticipate such cases and infer the implied structure somehow, or just disable indentation for specific cases. See the attached patch for the latter. Is it enough of an improvement?