Похоже, у вас есть решение, использующее выделение, но для объяснения того, что происходит:
run_prettify.js
предварительно загружает все в DOM во время загрузки.
Это не повторяетсяв теневые DOM и не выполняет предварительное тестирование содержимого, добавляемого после загрузки.
Вы можете решить обе проблемы, явно вызвав prettyPrintOne
post render, возможно, через Polymer.RenderStatus.afterNextRender
, хотя я не знаю, как это взаимодействует с lithtml..