Multiple Brushes Won't with Dynamically added Highlighters post-instantiation
When using SyntaxHighligher post pageload, for example, if you're dynamically adding multiple Syntax Highlighters with multiple brushes via AJAX, calling SyntaxHighlighter.highlight() will result in the notice "Can't find brush for: BRUSH" where brush is any brush that was added after the first SyntaxHighlighter.
Fortunately, I was able to debug this issue on my own and found the problem. The issue had to do with findBrush on line 623. You have the line:
var brushes = sh.vars.discoveredBrushes .... if (brushes== null) //Find all brushes
The problem here is that you will ONLY find the brushes in the first case, and then in all other cases, for example, if you first add a PHP highlighter, and then add a Plain highlighter, the value of brushes will only contain "php" brush, whereas SyntaxHighlighter. brushes WILL indeed contain all the brushes, however, when you set result on line 651 and check on line 653, you're using the old brushes set from discoveredBrushes, instead of actually checking the current SyntaxHighlighter brushes, or updating the brushes.
My temporary solution was to always set var brushes = null, so that you'll always find the correct brushes. This works, and results in no error. However, I'm sure you can come up with a better solution.
Please let me know if anything isn't clear, as I can link you to a reproducible test, or further explain the issue if necessary.