Как включить файл .edn в качестве подмножества другого «родительского» файла .edn, например, элемента «include path» в файле .xml? - PullRequest
0 голосов
/ 06 февраля 2019

Как включить содержимое файла .edn в качестве подмножества другого файла .edn, похожего на элемент «include path» в XML?

В частности, имеет ли расширение расширяемую запись данных(EDN) есть способ «включить» файл по пути, аналогичному элементу «include path» в XML.

У меня был довольно большой проект привязки клавиш в формате XML, который стал гораздо более удобным для навигациии менее громоздким путем разделения каждого раздела на файлы, к которым можно легко перейти и манипулировать из родительского файла, состоящего из элементов «include path» .Это позволило отключить / включить дискретный раздел моего кода, комментируя одну строку, и позволил мне изменить последовательность, просто выпуская строку вверх или вниз.С тех пор проект перешел с XML на формат I EDN, и я разочарован работой с одним огромным .edn файлом .Я много времени уделяю отступам, свертыванию кода, закладкам ... но это все равно что пытаться читать книгу, напечатанную на одном длинном свитке пергамента.

Следует отметить, что файл .edn используется программой (Goku) для создания еще более громоздкого и громоздкого файла JSON.не знаю, имеет ли это какое-либо влияние на лучшее решение.Спасибо.

Старый XML "родительский" файл с элементами "include path"

Новый огромный EDN-файл с разделами, которые пытались разбить с отступом, кодсворачивание, цветные комментарии, закладки и форматирование

Я посмотрел «включая файлы в формате EDN», но, возможно, это действительно вопрос Clojure.Я не очень опытный программист, поэтому не уверен, стоит ли мне действительно просматривать документацию Clojure, поскольку, насколько я понимаю, edn является подмножеством языка Clojure

см. Изображения для кода https://imgur.com/gallery/apjmtWf

В идеале я хотел бы, чтобы один основной родительский файл состоял из «включает» мои файлы меньшего размера для облегчения навигации.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Может оказаться полезной библиотека aero от JUXT.Он добавляет несколько пользовательских литералов тегов для облегчения использования файлов EDN для конфигурации.Одним из них является #include, который звучит так, как будто он делает именно то, что вам нужно.

0 голосов
/ 06 февраля 2019

XML ничего не включает.Это просто данные.Включение происходит в процессорах XML, таких как XSL, при их запуске.

Это точно так же для EDN.Если вы хотите включить, вы просто говорите что-то вроде [:include "this file also"], а затем просматриваете структуру данных и заменяете все включения реальными данными.

...