Моя работа включает просмотр длинных кодов verilog, который включает блоки ifdef. Мой основной редактор - Emacs. Ниже приведен типичный пример:
module Foo(
...
...
);
// Inputs, Outputs
...
`ifdef CONDITION_1
...
...
`else // CONDITION_1
...
...
`ifdef CONDITION_2
...
...
`endif //CONDITION_2
...
...
foo <= 1'b1;
...
...
`endif // CONDITION_1
Как видите, foo <= 1'b1;
находится в блоке else ifdef CONDITION_1 Если предположить, что моя точка находится на линии foo <= 1'b1;
, есть ли способ, которым я мог перейти к строке ifdef CONDITION_1 или свернуть код, чтобы я мог видеть CONDITION1 ? Я попытался использовать обратный инкрементальный поиск, но в этом случае я получаю ifdef CONDITION_2
Я попытался использовать режим скрытия-ifdef, но он идентифицирует #ifdef вместо `ifdef. Эти блоки не используют круглые скобки. И поэтому использование C-M-u не помогает