app-release.apk
4.7 MB
Inline 0.6.1
com.wavecat.inline.libs.strings removed
Added
- escape
- split
- sub
- len
- Bug fixes in
-
-
-
com.wavecat.inline.libs.strings removed
Added
com.wavecat.inline.libs.utils- parseArgs
- escape
- split
com.wavecat.inline.libs.utf8
- charpattern - which matches exactly one UTF-8 byte sequence, assuming that the subject is a valid UTF-8 string- sub
- len
- Bug fixes in
colorama.text
- usesCleartextTraffic = true (for http requests)-
colorama.space
= " " added-
ColoramaQuery.answerRaw
added-
http.buildMultipartBody
added👍4
app-release.apk
4.8 MB
Inline 0.6.3
Только исправления
- Изменена структура хранения заметок в Notes
- Добавлен
- Добавлена команда
- colorama.space был удален
-
Только исправления
- Изменена структура хранения заметок в Notes
- Добавлен
inline:getAliases()
который дает SharedPreferences в котором хранятся алиасы на команды- Добавлена команда
aliases
которая отображает все созданные алиасы- colorama.space был удален
-
utf8.charpattern
теперь работает"Превращаем" Inline в Friendly Telegram Bot (надо делать очень осторожно)
⚠️ Изменение главного паттерна для команд опасная необратимая операция, которая может вызвать краш приложения (исправить можно только через создание модуля)
1)
3) Нажимаем reload и выполняет некоторые действия
4) Теперь достаточно написать это чтобы запустить любую команду
Для отката достаточно написать это и повторить пункты 2,3:
⚠️ Изменение главного паттерна для команд опасная необратимая операция, которая может вызвать краш приложения (исправить можно только через создание модуля)
1)
{eval inline:getDefaultSharedPreferences():edit():putString("pattern", "(^.([a-zA-Z_-]+)(?:\\s([\\S\\s]+?)\\}*)?\\n$)+"):apply()}$
2) Принудительно остановить приложение из меню "О приложении"3) Нажимаем reload и выполняет некоторые действия
4) Теперь достаточно написать это чтобы запустить любую команду
.eval 1+1
(обязательно нажать пропуск строки в конце!!!)Для отката достаточно написать это и повторить пункты 2,3:
.eval inline:getDefaultSharedPreferences():edit():remove("pattern"):apply()
inline.html
105 KB
Inline мини-документация по созданием модулей 0.1
Есть много ошибок и недоработок, нет примеров (все найденные недочёты приложить в комментарии)
Есть много ошибок и недоработок, нет примеров (все найденные недочёты приложить в комментарии)
❤🔥4🔥1
app-release.apk
4.8 MB
Inline 0.6.4
Набор исправлений для новых модулей
• http.buildFormBody, http.buildMultipartBody теперь возвращают то что нужно
Набор исправлений для новых модулей
• http.buildFormBody, http.buildMultipartBody теперь возвращают то что нужно
👍3
app-release.apk
4.8 MB
Inline 0.7
- Добавлена встроенная библиотека json
json.load(string) - десериализует таблицу из JSON строки
json.dumpObject(table) - сериализует таблицу в org.json.JSONObject | org.json.JSONArray
json.loadObject(object) - десериализует таблицу из org.json.JSONObject | org.json.JSONArray
json.emptyObject - пустой JSON обьект
Пример json.load: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/wiki.lua
Экспериментально:
utils.command(function, number [, function]) - который оборачивает команду с целью проверки количества аргументов, предварительно их разделив как в utils.parseArgs. Если количество аргументов неравно ожидаемому, то вызывается переданная функция из 3 аргумента (по умолчанию происходит ответ "Wrong arguments" пользователю), также список разделенных аргументов передается в качестве третьего аргумента переданной команде
Пример: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/editor.lua
utils.hasArgs(function [, function]) - тоже самое что и выше, но деление на аргументы не происходит, проверяется наличие любого текста, а ответ по умолчанию "Empty argument"
Пример: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/executor.lua
- Добавлена встроенная библиотека json
require "com.wavecat.inline.libs.json"
json.dump(table) - сериализует таблицу в JSON строкуjson.load(string) - десериализует таблицу из JSON строки
json.dumpObject(table) - сериализует таблицу в org.json.JSONObject | org.json.JSONArray
json.loadObject(object) - десериализует таблицу из org.json.JSONObject | org.json.JSONArray
json.emptyObject - пустой JSON обьект
Пример json.load: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/wiki.lua
Экспериментально:
utils.command(function, number [, function]) - который оборачивает команду с целью проверки количества аргументов, предварительно их разделив как в utils.parseArgs. Если количество аргументов неравно ожидаемому, то вызывается переданная функция из 3 аргумента (по умолчанию происходит ответ "Wrong arguments" пользователю), также список разделенных аргументов передается в качестве третьего аргумента переданной команде
Пример: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/editor.lua
utils.hasArgs(function [, function]) - тоже самое что и выше, но деление на аргументы не происходит, проверяется наличие любого текста, а ответ по умолчанию "Empty argument"
Пример: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/executor.lua
👍4
Inline
app-release.apk
UPD: убрал json.emptyArray, добавил json.emptyObject, так как мало кому может понадобится пустой json обьект, теперь пустые таблицы воспринимаются как пустой json массив
function hello(query)
query:answer("Hello " .. query:getArgs())
end
registerCommand("hello", hello)
Как вам идея полностью изменить API модулей. Выделить каждому модулю свою среду. Все функции модуля поместить в глобальное пространство модуля. Так будет чуть чуть проще и понятнее
app-release.apk
4.8 MB
Inline 0.7.1
- Добавлен json.null
- json теперь может дампить JSONObject, JSONArray
- Добавлен inline:getTimer() который возвращает https://docs.oracle.com/javase/7/docs/api/java/util/Timer.html
- inline:timerTask(function) который возвращает https://docs.oracle.com/javase/7/docs/api/java/util/TimerTask.html
- Добавлен json.null
- json теперь может дампить JSONObject, JSONArray
- Добавлен inline:getTimer() который возвращает https://docs.oracle.com/javase/7/docs/api/java/util/Timer.html
- inline:timerTask(function) который возвращает https://docs.oracle.com/javase/7/docs/api/java/util/TimerTask.html
👍8
Обновил мини-документацию по созданию модулей для Inline 0.7.2
Она доступна по адресу kotov.tk/inline
Она доступна по адресу kotov.tk/inline
🌭4❤1👍1
app-release.apk
4.8 MB
Inline 0.8
- Добавлен встроенный модуль Loader для загрузки пользовательских модулей по ссылке, который можно включить на главном экране приложения
Больше нет необходимости давать разрешение на память с учетом если все модули загружены с Loader или установлены в ручную в публичную директорию приложения /Android/data/com.wavecat.inline/modules
load <url> - Загружает модуль по ссылке
files <path> - Отображает файлы в директории модулей
delete <path> - Удаляет файл из директории модулей
- Добавлен встроенный модуль Loader для загрузки пользовательских модулей по ссылке, который можно включить на главном экране приложения
Больше нет необходимости давать разрешение на память с учетом если все модули загружены с Loader или установлены в ручную в публичную директорию приложения /Android/data/com.wavecat.inline/modules
load <url> - Загружает модуль по ссылке
files <path> - Отображает файлы в директории модулей
delete <path> - Удаляет файл из директории модулей
👍1
app-release.apk
4.8 MB
Inline 0.9
Экспериментально:
Добавлены искатели команд - Command Finders, которые могут контролировать поведение поиска и вызова команд
- module:registerCommandFinder(function) регистрирует искателя команд
- module:unregisterCommandFinder(function) отменяет регистрацию искателя команд
- Убрано inline:getAliases()
- Убрана команда
Экспериментально:
Добавлены искатели команд - Command Finders, которые могут контролировать поведение поиска и вызова команд
- module:registerCommandFinder(function) регистрирует искателя команд
- module:unregisterCommandFinder(function) отменяет регистрацию искателя команд
- Убрано inline:getAliases()
- Убрана команда
{undo}$
- Добавлено больше декораций в стандартных командах👍12🔥1
app-release.apk
4.9 MB
Inline 0.10
- Минорный переход дизайна на Material 3
- Добавлены пасхалочки и больше отладочной информации
-
- Добавлено предупреждение при первом использование eval, exec
https://github.com/dmitrijkotov634/Inline2/releases/tag/0.10
- Минорный переход дизайна на Material 3
- Добавлены пасхалочки и больше отладочной информации
-
colorama.init
(inline, accessibility) устарел, вместо него можно использовать colorama.init
(accessibility)- Добавлено предупреждение при первом использование eval, exec
https://github.com/dmitrijkotov634/Inline2/releases/tag/0.10
👍8
app-release.apk
4.9 MB
Inline 0.11
- Добавлена команда
- Добавлен новый тип вотчеров, можно отслеживать нажатие пользователя по тексту. model:registerWatcher(function, inline.TYPE_TEXT_CHANGED или inline.TYPE_SELECTION_CHANGED или inline.TYPE_ALL_MASK). По умолчанию inline.TYPE_TEXT_CHANGED. Теперь вторым аргументом функция вотчера передается тип события
- Улучшена стабильность colorama
Модули
- Добавлена команда
{info}$
- которая показывает краткую информацию о Inline и название устройстве- Добавлен новый тип вотчеров, можно отслеживать нажатие пользователя по тексту. model:registerWatcher(function, inline.TYPE_TEXT_CHANGED или inline.TYPE_SELECTION_CHANGED или inline.TYPE_ALL_MASK). По умолчанию inline.TYPE_TEXT_CHANGED. Теперь вторым аргументом функция вотчера передается тип события
- Улучшена стабильность colorama
Модули
👍3