Встроенный синтаксис, выделяющийся в Vim

Я не знаю собственного способа сделать это, но вы могли бы легко обернуть его в функцию. Исходя из вашего комментария о том, что вы, возможно, захотите применить это к другим функциям, он будет масштабируемым, поскольку вы сможете сохранить шаблон - цикл внутри функции - на месте и изменить логику оценки в соответствии с вашими будущими потребностями. [112 ]

Он также применяется с коротким замыканием, в том случае, когда он находит положительное значение, он выходит без оценки всего остального без необходимости.

CREATE OR REPLACE FUNCTION any_position(search_text text, variadic text_values text[])
  RETURNS integer AS
$BODY$
  declare
    element text;
    pos integer;
  begin
    foreach element in array text_values
    loop
      pos := position (search_text in element);
      if pos > 0 then
        return pos;
      end if;
    end loop;

    return 0;
  end;
$BODY$
  LANGUAGE plpgsql;

Пример вызова:

select any_position ('x', 'Five', 'Six', 'Seven')
14
задан Keith Pinson 14 September 2012 в 18:45
поделиться

2 ответа

Для Вашего XML с примером Python необходимо было бы сделать что-то вроде этого:

runtime! syntax/xml.vim
unlet b:current_syntax
syntax include @Python syntax/python.vim
syntax region pythonCode  start=+<Python>+ keepend end=+/</Python>+  contains=@Python

Эти строки будут включать синтаксис XML и синтаксис Python и указывание региона Python, где VIM будет использовать синтаксис Python вместо синтаксиса XML...

, Конечно, все это хорошо документируется в VIM. См. : он: syn-включайте в то, как включать файлы синтаксиса.

24
ответ дан 1 December 2019 в 12:02
поделиться

Этот документ описывает, как записать Вашу собственную подсветку синтаксиса. Необходимо, вероятно, смочь выяснить, как подсветка синтаксиса HTML работает с JavaScript с этим как ссылка.

1
ответ дан 1 December 2019 в 12:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: