grigoryvp/vscode-language-xi

No self-jump

Closed this issue · 6 comments

from nodejs_subprocess.xi via [nodejs subprocess#* ChildProcess#send]

@grigoryvp как должен выглядеть документ чтобы ссылка сработала? в nodejs.xi переходит, но дальше что?

subprocess .
  ChildProcess#send .
subprocess .
  whatever .
    ChildProcess.
      send .

@firedev Недостаточно информации. В твоем примере как минимум нет ссылок (ссылки в квадратных скобках). Какой из двух файлов nodejs.xi? Распиши, пожалуйста, подробнее - какие файлы есть, что в них написано, на что хочешь сделать ссылку.

@grigoryvp пытаюсь понять логику. Что значит *? Как должен выглядеть минимальный документ чтобы ссылка сработала?

nodejs_subprocess.xi

from nodejs_subprocess.xi via [nodejs subprocess#* ChildProcess#send]

ChildProcess#send []

ChildProcess []
  #send []

ChildProcess .
  #send .

ChildProcess []
  send []

Ох, чувствую, зря попросили меня привести примеры документов, которые я сам пишу) "*" - это моя внутренняя нотация, которой я помечаю классы. Исключительно для моего удобство. С точки зрения ссылки ничего не отличается от любого другого способа. Механизм работы ссылки описан в документации: все что в квадратных скобочках разбивается по символу хеша, "#". Далее слева направо, в первом что получилось пробелы заменяются на подчеркивания, добавляется ".xi", это будет имя файла. И далее для каждого последующего фрагмента в этом файле ищется заголовок с увеличивающемся уровнем вложенности, содержащий этот фрагмент. Для приведенного примера, [nodejs subprocess#* ChildProcess#send]:

  1. Откроет файл nodejs_subprocess.xi
  2. В этом файле попробует прыгнуть на заголовок (заканчивающийся пробел-точка), содержащий * ChildProcess.
  3. Попробует перепрыгнуть на заголовок большей вложенности, содержащий send

@grigoryvp Благодарю, наоборот стало яснее. Казалось что * относилась к subprocess.

Для тех кто окажется тут потом:

from nodejs_subprocess.xi via [nodejs subprocess#* ChildProcess#send]

* ChildProcess .
  send .