| 14 | |
| 15 | CodeMirror.defineMode('powershell', function() { |
| 16 | function buildRegexp(patterns, options) { |
| 17 | options = options || {}; |
| 18 | var prefix = options.prefix !== undefined ? options.prefix : '^'; |
| 19 | var suffix = options.suffix !== undefined ? options.suffix : '\\b'; |
| 20 | |
| 21 | for (var i = 0; i < patterns.length; i++) { |
| 22 | if (patterns[i] instanceof RegExp) { |
| 23 | patterns[i] = patterns[i].source; |
| 24 | } |
| 25 | else { |
| 26 | patterns[i] = patterns[i].replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); |
| 27 | } |
| 28 | } |
| 29 | |
| 30 | return new RegExp(prefix + '(' + patterns.join('|') + ')' + suffix, 'i'); |
| 31 | } |
| 32 | |
| 33 | var notCharacterOrDash = '(?=[^A-Za-z\\d\\-_]|$)'; |
| 34 | var varNames = /[\w\-:]/ |