Skip to content

Commit

Permalink
Merge pull request #166 from lead-tools/dev
Browse files Browse the repository at this point in the history
Книга Джедая, Визажист и поддержка аннотаций
  • Loading branch information
tsukanov-as authored Apr 26, 2020
2 parents cbf815b + fdee906 commit f4e6fa1
Show file tree
Hide file tree
Showing 10 changed files with 696 additions and 30 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

Видео: [Процесс написания плагина для bsparser](https://www.youtube.com/watch?v=wjDeQ6sFCxE)

Документация: [Книга Джедая](book.md)

Данный проект представляет из себя набор внешних обработок для платформы 1С:Предприятие версии 8.3.13

Обработки совместимы с интерпретатором [OneScript](https://github.com/EvilBeaver/OneScript)
Expand Down
165 changes: 165 additions & 0 deletions book.md

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion common.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,10 @@ $list = @{
Компилятор = "Бакенды", "\backends\Компилятор\src"
ГенераторИсходногоКодаПоАСД = "Бакенды", "\backends\ГенераторИсходногоКодаПоАСД\src"
ОптимизаторПарсера = "Плагины - генераторы текста", "\plugins\ОптимизаторПарсера\src"
Визажист = "Плагины - генераторы текста", "\plugins\Визажист\src"
ГенераторДокументацииДляПарсера = "Плагины - генераторы текста", "\plugins\ГенераторДокументацииДляПарсера\src"
ПодсчетКогнитивнойСложностиМетодов = "Плагины - генераторы текста", "\plugins\ПодсчетКогнитивнойСложностиМетодов\src"
РекурсивныйПодсчетСерверныхВызововВМодуляхФорм = "Плагины - генераторы текста", "\plugins\РекурсивныйПодсчетСерверныхВызововВМодуляхФорм\src"
ПодсчетКогнитивнойСложностиМетодов = "Плагины - генераторы ошибок", "\plugins\ПодсчетКогнитивнойСложностиМетодов\src"
ДетекторФункцийБезВозвратаВКонце = "Плагины - генераторы ошибок", "\plugins\ДетекторФункцийБезВозвратаВКонце\src"
ДетекторНеиспользуемыхПеременных = "Плагины - генераторы ошибок", "\plugins\ДетекторНеиспользуемыхПеременных\src"
ДетекторОшибочныхЗамыкающихКомментариев = "Плагины - генераторы ошибок", "\plugins\ДетекторОшибочныхЗамыкающихКомментариев\src"
Expand Down
85 changes: 81 additions & 4 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ <h3 id='Узлы'>Узлы</h3>
<li>"<a href='#ГлобальныйОбъект'>ГлобальныйОбъект</a>"</li>
<li>"<a href='#ГлобальныйМетод'>ГлобальныйМетод</a>"</li>
<li>"<a href='#ОбъявлениеДирективы'>ОбъявлениеДирективы</a>"</li>
<li>"<a href='#ОбъявлениеАннотации'>ОбъявлениеАннотации</a>"</li>
<li>"<a href='#ОбъявлениеПеременнойМодуля'>ОбъявлениеПеременнойМодуля</a>"</li>
<li>"<a href='#ОбъявлениеСпискаПеременныхМодуля'>ОбъявлениеСпискаПеременныхМодуля</a>"</li>
<li>"<a href='#ОбъявлениеСпискаЛокальныхПеременных'>ОбъявлениеСпискаЛокальныхПеременных</a>"</li>
Expand Down Expand Up @@ -190,6 +191,10 @@ <h3 id='Узлы'>Узлы</h3>
<li>"<a href='#ИнструкцияПрепроцессораКонецЕсли'>ИнструкцияПрепроцессораКонецЕсли</a>"</li>
<li>"<a href='#ИнструкцияПрепроцессораОбласть'>ИнструкцияПрепроцессораОбласть</a>"</li>
<li>"<a href='#ИнструкцияПрепроцессораКонецОбласти'>ИнструкцияПрепроцессораКонецОбласти</a>"</li>
<li>"<a href='#ИнструкцияПрепроцессораВставка'>ИнструкцияПрепроцессораВставка</a>"</li>
<li>"<a href='#ИнструкцияПрепроцессораКонецВставки'>ИнструкцияПрепроцессораКонецВставки</a>"</li>
<li>"<a href='#ИнструкцияПрепроцессораУдаление'>ИнструкцияПрепроцессораУдаление</a>"</li>
<li>"<a href='#ИнструкцияПрепроцессораКонецУдаления'>ИнструкцияПрепроцессораКонецУдаления</a>"</li>
<li>"<a href='#ВыражениеПрепроцессораБинарное'>ВыражениеПрепроцессораБинарное</a>"</li>
<li>"<a href='#ВыражениеПрепроцессораНе'>ВыражениеПрепроцессораНе</a>"</li>
<li>"<a href='#ВыражениеПрепроцессораСимвол'>ВыражениеПрепроцессораСимвол</a>"</li>
Expand Down Expand Up @@ -224,6 +229,17 @@ <h3 id='ОбъявлениеДирективы'>ОбъявлениеДирект
<li><strong>Начало</strong>: число</li>
<li><strong>Конец</strong>: число</li>
</ul>
<h3 id='ОбъявлениеАннотации'>ОбъявлениеАннотации<a class='permalink' href='#ОбъявлениеАннотации'></a></h3>
<ul>
<i> Хранит информацию об объявлении аннотации.</i><br>
<i> Пример:</i><br>
<pre>
&Перед("ЗаполнитьТовары")</pre> <p> <li><strong>Тип</strong>: строка (один из <a href='#Узлы'>Узлы</a>) = Узлы.ОбъявлениеАннотации</li>
<li><strong>Аннотация</strong>: строка (один из <a href='#Аннотации'>Аннотации</a>)</li>
<li><strong>ИмяМетода</strong>: строка</li>
<li><strong>Начало</strong>: число</li>
<li><strong>Конец</strong>: число</li>
</ul>
<h3 id='ОбъявлениеСпискаПеременныхМодуля'>ОбъявлениеСпискаПеременныхМодуля<a class='permalink' href='#ОбъявлениеСпискаПеременныхМодуля'></a></h3>
<ul>
<i> Хранит информацию об инструкции объявления переменных уровня модуля.</i><br>
Expand Down Expand Up @@ -332,6 +348,7 @@ <h3 id='СигнатураПроцедуры'>СигнатураПроцедур
Процедура Тест(П1, П2) Экспорт</pre> <p> <li><strong>Тип</strong>: строка (один из <a href='#Узлы'>Узлы</a>) = Узлы.СигнатураПроцедуры</li>
<li><strong>Имя</strong>: строка</li>
<li><strong>Директивы</strong>: массив (<a href='#ОбъявлениеДирективы'>ОбъявлениеДирективы</a>)</li>
<li><strong>Аннотации</strong>: массив (<a href='#ОбъявлениеАннотации'>ОбъявлениеАннотации</a>)</li>
<li><strong>Параметры</strong>: массив (<a href='#ОбъявлениеПараметра'>ОбъявлениеПараметра</a>)</li>
<li><strong>Экспорт</strong>: булево</li>
<li><strong>Начало</strong>: число</li>
Expand All @@ -346,6 +363,7 @@ <h3 id='СигнатураФункции'>СигнатураФункции<a cla
Функция Тест(П1, П2) Экспорт</pre> <p> <li><strong>Тип</strong>: строка (один из <a href='#Узлы'>Узлы</a>) = Узлы.СигнатураФункции</li>
<li><strong>Имя</strong>: строка</li>
<li><strong>Директивы</strong>: массив (<a href='#ОбъявлениеДирективы'>ОбъявлениеДирективы</a>)</li>
<li><strong>Аннотации</strong>: массив (<a href='#ОбъявлениеАннотации'>ОбъявлениеАннотации</a>)</li>
<li><strong>Параметры</strong>: массив (<a href='#ОбъявлениеПараметра'>ОбъявлениеПараметра</a>)</li>
<li><strong>Экспорт</strong>: булево</li>
<li><strong>Начало</strong>: число</li>
Expand Down Expand Up @@ -787,7 +805,7 @@ <h3 id='ИнструкцияПрепроцессораОбласть'>Инстр
</ul>
<h3 id='ИнструкцияПрепроцессораКонецОбласти'>ИнструкцияПрепроцессораКонецОбласти<a class='permalink' href='#ИнструкцияПрепроцессораКонецОбласти'></a></h3>
<ul>
<i> Хранит информацию об инструкции препроцессора#КонецОбласти,</i><br>
<i> Хранит информацию об инструкции препроцессора #КонецОбласти,</i><br>
<i> Пример:</i><br>
<pre>
...
Expand All @@ -796,6 +814,50 @@ <h3 id='ИнструкцияПрепроцессораКонецОбласти'>
<li><strong>Начало</strong>: число</li>
<li><strong>Конец</strong>: число</li>
</ul>
<h3 id='ИнструкцияПрепроцессораВставка'>ИнструкцияПрепроцессораВставка<a class='permalink' href='#ИнструкцияПрепроцессораВставка'></a></h3>
<ul>
<i> Хранит информацию об инструкции препроцессора #Вставка,</i><br>
<i> Пример:</i><br>
<pre>
...
#Вставка
...</pre> <p> <li><strong>Тип</strong>: строка (один из <a href='#Узлы'>Узлы</a>) = Узлы.ИнструкцияПрепроцессораВставка</li>
<li><strong>Начало</strong>: число</li>
<li><strong>Конец</strong>: число</li>
</ul>
<h3 id='ИнструкцияПрепроцессораКонецВставки'>ИнструкцияПрепроцессораКонецВставки<a class='permalink' href='#ИнструкцияПрепроцессораКонецВставки'></a></h3>
<ul>
<i> Хранит информацию об инструкции препроцессора #КонецВставки,</i><br>
<i> Пример:</i><br>
<pre>
...
#КонецВставки
...</pre> <p> <li><strong>Тип</strong>: строка (один из <a href='#Узлы'>Узлы</a>) = Узлы.ИнструкцияПрепроцессораКонецВставки</li>
<li><strong>Начало</strong>: число</li>
<li><strong>Конец</strong>: число</li>
</ul>
<h3 id='ИнструкцияПрепроцессораУдаление'>ИнструкцияПрепроцессораУдаление<a class='permalink' href='#ИнструкцияПрепроцессораУдаление'></a></h3>
<ul>
<i> Хранит информацию об инструкции препроцессора #Удаление,</i><br>
<i> Пример:</i><br>
<pre>
...
#Удаление
...</pre> <p> <li><strong>Тип</strong>: строка (один из <a href='#Узлы'>Узлы</a>) = Узлы.ИнструкцияПрепроцессораУдаление</li>
<li><strong>Начало</strong>: число</li>
<li><strong>Конец</strong>: число</li>
</ul>
<h3 id='ИнструкцияПрепроцессораКонецУдаления'>ИнструкцияПрепроцессораКонецУдаления<a class='permalink' href='#ИнструкцияПрепроцессораКонецУдаления'></a></h3>
<ul>
<i> Хранит информацию об инструкции препроцессора #КонецУдаления,</i><br>
<i> Пример:</i><br>
<pre>
...
#КонецУдаления
...</pre> <p> <li><strong>Тип</strong>: строка (один из <a href='#Узлы'>Узлы</a>) = Узлы.ИнструкцияПрепроцессораКонецУдаления</li>
<li><strong>Начало</strong>: число</li>
<li><strong>Конец</strong>: число</li>
</ul>
<h2 id='#ВыражениеПрепроцессора'>#ВыражениеПрепроцессора</h2>
<h3 id='ВыражениеПрепроцессораБинарное'>ВыражениеПрепроцессораБинарное<a class='permalink' href='#ВыражениеПрепроцессораБинарное'></a></h3>
<ul>
Expand Down Expand Up @@ -871,13 +933,23 @@ <h3 id='Доступность'>Доступность</h3>
<li>"НаКлиентеНаСервереБезКонтекста"</li>
<li>"НаКлиентеНаСервере"</li>
</ul>
<h3 id='Аннотации'>Аннотации</h3>
<ul><li>"Перед"</li>
<li>"После"</li>
<li>"Вместо"</li>
<li>"ИзменениеИКонтроль"</li>
</ul>
<h3 id='ИнструкцииПрепроцессора'>ИнструкцииПрепроцессора</h3>
<ul><li>"Если"</li>
<li>"ИначеЕсли"</li>
<li>"Иначе"</li>
<li>"КонецЕсли"</li>
<li>"Область"</li>
<li>"КонецОбласти"</li>
<li>"Вставка"</li>
<li>"КонецВставки"</li>
<li>"Удаление"</li>
<li>"КонецУдаления"</li>
</ul>
<h3 id='Токены'>Токены</h3>
<ul><li>"Если"</li>
Expand Down Expand Up @@ -951,9 +1023,14 @@ <h3 id='Токены'>Токены</h3>
<li>"_КонецЕсли"</li>
<li>"_Область"</li>
<li>"_КонецОбласти"</li>
<li>"НачалоТекста"</li>
<li>"КонецТекста"</li>
<li>"_Вставка"</li>
<li>"_КонецВставки"</li>
<li>"_Удаление"</li>
<li>"_КонецУдаления"</li>
<li>"Комментарий"</li>
<li>"Директива"</li>
<li>"Метка"</li>
<li>"Аннотация"</li>
<li>"Директива"</li>
<li>"НачалоТекста"</li>
<li>"КонецТекста"</li>
</ul>
28 changes: 28 additions & 0 deletions plugins/Визажист/src/Визажист.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
<ExternalDataProcessor uuid="f6599563-cef8-4528-8cc7-dd4683e0bd0b">
<InternalInfo>
<xr:ContainedObject>
<xr:ClassId>c3831ec8-d8d5-4f93-8a22-f9bfae07327f</xr:ClassId>
<xr:ObjectId>037c0ff1-7991-4032-8610-32124f27f37b</xr:ObjectId>
</xr:ContainedObject>
<xr:GeneratedType name="ExternalDataProcessorObject.Визажист" category="Object">
<xr:TypeId>00eae2d9-207d-4952-99cb-de07abfd9877</xr:TypeId>
<xr:ValueId>151c4910-b8d7-425a-ab01-984ba7664f14</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>Визажист</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Визажист</v8:content>
</v8:item>
</Synonym>
<Comment/>
<DefaultForm/>
<AuxiliaryForm/>
</Properties>
<ChildObjects/>
</ExternalDataProcessor>
</MetaDataObject>
Loading

0 comments on commit f4e6fa1

Please sign in to comment.