(query, ignoreCase, smartCase)
| 4031 | return output.join(''); |
| 4032 | } |
| 4033 | function parseQuery(query, ignoreCase, smartCase) { |
| 4034 | var lastSearchRegister = vimGlobalState.registerController.getRegister('/'); |
| 4035 | lastSearchRegister.setText(query); |
| 4036 | if (query instanceof RegExp) { return query; } |
| 4037 | var slashes = findUnescapedSlashes(query); |
| 4038 | var regexPart; |
| 4039 | var forceIgnoreCase; |
| 4040 | if (!slashes.length) { |
| 4041 | regexPart = query; |
| 4042 | } else { |
| 4043 | regexPart = query.substring(0, slashes[0]); |
| 4044 | var flagsPart = query.substring(slashes[0]); |
| 4045 | forceIgnoreCase = (flagsPart.indexOf('i') != -1); |
| 4046 | } |
| 4047 | if (!regexPart) { |
| 4048 | return null; |
| 4049 | } |
| 4050 | if (!getOption('pcre')) { |
| 4051 | regexPart = translateRegex(regexPart); |
| 4052 | } |
| 4053 | if (smartCase) { |
| 4054 | ignoreCase = (/^[^A-Z]*$/).test(regexPart); |
| 4055 | } |
| 4056 | var regexp = new RegExp(regexPart, |
| 4057 | (ignoreCase || forceIgnoreCase) ? 'i' : undefined); |
| 4058 | return regexp; |
| 4059 | } |
| 4060 | function showConfirm(cm, text) { |
| 4061 | if (cm.openNotification) { |
| 4062 | cm.openNotification('<span style="color: red">' + text + '</span>', |
no test coverage detected