741 subscribers
6 photos
4 videos
37 files
25 links
Real-time text formatting android tool
Download Telegram
app-release.apk
4.7 MB
Inline 0.6.1

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
- Добавлен inline:getAliases() который дает SharedPreferences в котором хранятся алиасы на команды
- Добавлена команда aliases которая отображает все созданные алиасы
- colorama.space был удален
- utf8.charpattern теперь работает
"Превращаем" Inline в Friendly Telegram Bot (надо делать очень осторожно)

⚠️ Изменение главного паттерна для команд опасная необратимая операция, которая может вызвать краш приложения (исправить можно только через создание модуля)

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 теперь возвращают то что нужно
👍3
Inline pinned a file
app-release.apk
4.8 MB
Inline 0.7

- Добавлена встроенная библиотека 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
👍8
Inline pinned a file
app-release.apk
4.8 MB
Inline 0.7.2

• Исправление utils.escape
• Исправление команд exec, eval
❤‍🔥3🌭2
Inline pinned a file
Обновил мини-документацию по созданию модулей для Inline 0.7.2

Она доступна по адресу kotov.tk/inline
🌭41👍1
app-release.apk
4.8 MB
Inline 0.8

- Добавлен встроенный модуль 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()
- Убрана команда {undo}$
- Добавлено больше декораций в стандартных командах
👍12🔥1
app-release.apk
4.9 MB
Inline 0.9 (2)

- Исправление ошибок
👍4
app-release.apk
4.9 MB
Inline 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

- Добавлена команда {info}$ - которая показывает краткую информацию о Inline и название устройстве
- Добавлен новый тип вотчеров, можно отслеживать нажатие пользователя по тексту. model:registerWatcher(function, inline.TYPE_TEXT_CHANGED или inline.TYPE_SELECTION_CHANGED или inline.TYPE_ALL_MASK). По умолчанию inline.TYPE_TEXT_CHANGED. Теперь вторым аргументом функция вотчера передается тип события
- Улучшена стабильность colorama

Модули
👍3