Вопросы новичков
-
- Posts: 31
- Joined: 18.08.2023 06:15
-
- Posts: 2245
- Joined: 25.08.2021 18:15
плагины переводятся пакетами -
https://sourceforge.net/projects/cudate ... anslation/
самые свежие пакеты мне присылают для de_AT.
делаются переводы софтом для .pot файлов.
в коде они должны вызывать функцию _
https://sourceforge.net/projects/cudate ... anslation/
самые свежие пакеты мне присылают для de_AT.
делаются переводы софтом для .pot файлов.
в коде они должны вызывать функцию _
Code: Select all
from cudax_lib import get_translation
_ = get_translation(__file__) # I18N
-
- Posts: 31
- Joined: 18.08.2023 06:15
Провел вчера весь день в раздумьях.переделать code-tree?
По итогу под конец прибывал в печали.
Алексей, боюсь без вашей помощи нам не справится (во всяком случае быстро и качественно)
Я прочитал много всего на форуме, знаю что вас много что просили сделать, а потом это оставалось невостребованым и даже без фитбеков.
Это не тот случай точно. Нам это очень нужно. Не переделать, а немного доделать (хотя когда я пишу "немного" я насамом деле не представляю объем доработок).
Было бы классно если бы в code-tree было бы 2 колонки: одна как сейчас - основной элемент структуры, а вторая коментарий который написан в той же строке где определен элемент структуры.
У каждого лексера свой символ однострочного коментария (многострочные не рассматриваем): -- (lua); # (yalm); // (javascript) и так далее.
Если еще сделать возможным отбор (содержит, начинается с, регулярное выражение) и сортировку по данной колонке будет вообще супер. Это позволит структурировать любые тексты использующие тот или иной язык разметки.
Нам конечно интересует прежде всего yaml на нем можно поэкперементировать, например:
Code: Select all
- ivan: " # Иван и Питер
Привет Питер! Как хорошо, что я застал тебя дома"
scene: petr_home # Дом Питера
Code: Select all
- ivan.......................|Иван и Питер
scene......................|Дом Питера
-
- Posts: 2245
- Joined: 25.08.2021 18:15
могу помоч. мне не трудно попробовать доработать yaml.
выводить не в колонку конечно (в "дереве" нет колонок) а просто в пункт дерева после пробела или чего-то.
смотрим на ваш пример
тут коммент стоит только после 'scene'.
его я попробую добавить в дерево.
а после 'ivan' стоит не комент, а строка (которая включает в себя как бы комент но это всее равно строка).
тогда на строке 'ivan' доделка не сработает.
как быть?
выводить не в колонку конечно (в "дереве" нет колонок) а просто в пункт дерева после пробела или чего-то.
смотрим на ваш пример
Code: Select all
- ivan: " # Иван и Питер
Привет Питер! Как хорошо, что я застал тебя дома"
scene: petr_home # Дом Питера
его я попробую добавить в дерево.
а после 'ivan' стоит не комент, а строка (которая включает в себя как бы комент но это всее равно строка).
тогда на строке 'ivan' доделка не сработает.
как быть?
-
- Posts: 2245
- Joined: 25.08.2021 18:15
вот доделка.
на скрине.
я открыл yaml file в SynWrite. там открыл диалог Lexer Properties. там нашел элемент списка 'Block', и дляя него поправил 'name format string'
%s0 --> %sz0.
после чего дерево стало выводить хвост от токкена-0.
%s0 - вывести токен 0
%sz0 - вывести токен 0 и все до конца строки
(что тут можно вводить, описано в одном из lexer tutorial)
сделайту эту правку в копии лексера yaml.
на скрине.
я открыл yaml file в SynWrite. там открыл диалог Lexer Properties. там нашел элемент списка 'Block', и дляя него поправил 'name format string'
%s0 --> %sz0.
после чего дерево стало выводить хвост от токкена-0.
%s0 - вывести токен 0
%sz0 - вывести токен 0 и все до конца строки
(что тут можно вводить, описано в одном из lexer tutorial)
сделайту эту правку в копии лексера yaml.
Last edited by main Alexey on 19.08.2023 15:57, edited 1 time in total.
-
- Posts: 2245
- Joined: 25.08.2021 18:15
-
- Posts: 31
- Joined: 18.08.2023 06:15
Алексей, я попробывал то как вы посоветовали, это немного не то - это вывод всей строки, а важно выводить только то что после комментария.
Есть особенность в том когда код или размеченный документ пишут дети или для них, там очень большое количество именно in-line комментариев.
Вот небольшой реальный пример (и без этого невозможно двигаться вперед, дети забывают о том, что у них в каждой строке).
Так со всем: с кодом, с документом в разметке (html, css, yalm, json) это особенность детского восприятия.
Особенно когда код на английском, а коментарии на русском (их ценность возрастает, плюс появляется
смысл учить писать их структурно). Беда, но почему-то разработчики редакторов не задумываются,
что возраст аудитории их пользователей от 7+, а это совсем другой мир.
Есть особенность в том когда код или размеченный документ пишут дети или для них, там очень большое количество именно in-line комментариев.
Вот небольшой реальный пример (и без этого невозможно двигаться вперед, дети забывают о том, что у них в каждой строке).
Так со всем: с кодом, с документом в разметке (html, css, yalm, json) это особенность детского восприятия.
Особенно когда код на английском, а коментарии на русском (их ценность возрастает, плюс появляется
смысл учить писать их структурно). Беда, но почему-то разработчики редакторов не задумываются,
что возраст аудитории их пользователей от 7+, а это совсем другой мир.
Code: Select all
local unicode=require("unicode") -- библиотека для работы с русскими строками
local term = require("term") -- библиотека для работы с терминалом
local gpu = term.gpu() -- получаем видеокарту подключенную к терминалу
term.clear() -- очищаем экран терминала
local function str2tab(str) -- функция конвертирует строку в таблицу из символов
tab = {} -- создание пустой таблицы
string.gsub(str,'.', function(s) tab[#tab+1]=s end) -- заполнение таблицы
return tab -- возврат результата
end
local summ = math.random(5,10)*1000 -- сумма в сейфе
local code = string.gsub("****",'.', function(s) return tostring(math.random(0,9)) end) -- код от сейфа
print("Код от сейфа: " .. code) -- вывод на экран кода от сейфа
while true do -- игровой цикл
io.write("\n".."Введите 4 цифры кода (СТОП - завершить): "); var = tostring(io.read()) -- ввод варианта кода
var = unicode.sub(var,1,4) -- оставим только 4 первых символа введенного кода
if var == "СТОП" then os.exit() end -- выход по "СТОП"
local corr = 0 -- число угаданых чисел
local color = nil -- цвет печати символа
local vartab = str2tab(var) -- вариант кода как таблица
local codetab = str2tab(code) -- код от сейфа как таблица
for i,v in pairs(vartab) do -- для каждого разряда варианта
color = 0xFFFFFF -- белый цвет
for j,w in pairs(codetab) do -- для каждого разряда кода
if v == w and i == j then
color = 0x33FF5E -- зеленый цвет
corr = corr + 1 -- увеличиваем количество угаданных цифр на 1
codetab[j] = "" -- очищаем разряд кода (мы его уже использовали)
break -- выходим из цикла
elseif v == w then
color = 0xFCFF33 -- желтый цвет
codetab[j] = "" -- очищаем разряд кода (мы его уже использовали)
end
end
gpu.setForeground(color); io.write(v) -- вывод значения цветом
end
gpu.setForeground(0xFFFFFF) -- отключаем цвета
if corr == 4 then
gpu.setForeground(0xFF0000) -- переключаемся на красный цвет текста
io.write("\n".."Остаток в сейфе: "..summ) -- выводим остаток в сейфе
break -- выходим из игрового цикла
else
if summ ~=0 then summ = summ - 1000 end
summ = math.max(0,summ-1000) -- уменьшаем сумму пока она не станет равной 0
end
end
-
- Posts: 31
- Joined: 18.08.2023 06:15
Пока писал предыдущий ответ понял, что для файла приведенного в пример Дерево кода вообще состоит из одной строки (функции).
Это в случае с yalm - отражается каждый структурный элемент, с другими языками все савсем иначе.
Я если честно ожидал, что дерево кода будет напоминать дерево свертки блоков кода в редакторе.
наверно для этого нужно писать отдельный плагин, причем в нижнюю панель.
Я могу максимально точно с примерами описать что-бы хотелось получить
в итоге.
Это в случае с yalm - отражается каждый структурный элемент, с другими языками все савсем иначе.
Я если честно ожидал, что дерево кода будет напоминать дерево свертки блоков кода в редакторе.
наверно для этого нужно писать отдельный плагин, причем в нижнюю панель.
Я могу максимально точно с примерами описать что-бы хотелось получить
в итоге.
Last edited by bb.slipers on 19.08.2023 18:29, edited 1 time in total.
-
- Posts: 2245
- Joined: 25.08.2021 18:15
можно и просто поправить лексер чтобы в дерево вывести не только ф-ции - а также if/else/for/while....>>Пока писал предыдущий ответ понял, что для файла приведенного в пример Дерево кода вообще состоит из одной строки (функции).
Я если честно ожидал, что дерево кода будет напоминать дерево свертки блоков кода в редакторе.
наверно для этого нужно писать отдельный плагин, причем в нижнюю панель.
это легко для меня. помогу сделать копию лексера Питон с этим.