Komodo Edit - Как изменить регулярное выражение "Найти все функции" по умолчанию - PullRequest
2 голосов
/ 15 декабря 2011

В Komodo Edit 6.1 есть хорошая функция для поиска и выделения всех функций (навигация-> Найти все функции ctrl + F8).Он ищет на основе регулярных выражений, чтобы найти все функции, а именно:

^[  ]*?(def\s+[^\(]+\([^\)]*?\):|class\s+[^:]*?:)

Но есть небольшая проблема с ним, если между ")" и ":" есть пробелы,что технически правильно, но это регулярное выражение не подходит.Я хочу изменить его на:

^[  ]*?(def\s+[^\(]+\([^\)]*?\) *:|class\s+[^:]*?:)

Перед первым есть только один дополнительный "{пробел} *": "

Но я не знаю, где найти значение по умолчаниюдля этой конфигурации.Я даже пытался: config, но его там тоже не было.

Спасибо за вашу помощь.

1 Ответ

3 голосов
/ 25 января 2012

Используйте Ctrl + F сразу после Ctrl + F8 , чтобы просмотреть и изменить регулярное выражение.Сохраните его как макрос и привяжите макрос к сочетанию клавиш:

 komodo.assertMacroVersion(2);
 if (komodo.view && komodo.view.scintilla) { komodo.view.scintilla.focus(); } // bug 67103

 Find_ReplaceAllInMacro(window, 2, '(^[ |\t]*?(?:([\w|\.|_]*?)\s*=\s*function|function\s*([\w|\_]*?)|([\w|\_]*?)\s*:\s*function).*?$)', '\\1', true, 2, 0, false, false);
...