Skip to content

Fix Ace syntax highlighting with compiled assets

What does this MR do?

Update ACE to 4.1.0 to allow modes (syntax highlighting files for particular languages) to be lazily loaded.

Are there points in the code the reviewer needs to double check?

Don't think so.

Why was this MR needed?

Syntax highlighting in the file editor only worked in development and test modes, not in production!

What are the relevant issue numbers?

Closes #3225 (closed).

Screenshots (if relevant)

First, the test setup - add these lines to development.rb:

  config.assets.debug = false
  config.assets.compile = false
  config.assets.digest = true

Then, before starting the server, run bundle exec rake assets:clobber assets:precompile.

Before:

image

There is an error in the console because /assets/ace/mode-ruby.js was not found (it's only available when assets are compiled on demand).

After:

image

This loads /assets/ace/mode-ruby-3915f95a6cc47306b1305e4dcb7aca25b2ef9c49b18ec6011707135b6575d8f3.js, which works because the precompile step included it and told ACE where to find it.

Does this MR meet the acceptance criteria?

Merge request reports