-rw-r--r-- 848B 10 июля 2025 · A43AF6A · ~1 мин

Swift package для проверки орфографии с использованием Яндекс Спеллер

swift open source yandex speller

Swift-пакет для проверки орфографии с использованием Yandex.Speller

Для своих личных целей я хотел добавить проверку орфографии в одно из своих приложений. Она должна проверять текст и автоматически исправлять его. Встроенные инструменты macOS для работы с текстом отлично работают с английским, но не работают с русским.

Так что, когда всё было готово, почему бы не поделиться этим?

https://github.com/makoni/YaSpellChecker

[↵] открыть пост a-swift-package-for-spell-checking-using-yandex-speller.md
-rw-r--r-- 1.4K 9 июля 2025 · EDE172F · ~1 мин

HTML редактор на SwiftUI для macOS с подсветкой HTML синтаксиса

swiftui html macos open source

Текстовый редактор SwiftUI для macOS с подсветкой синтаксиса HTML

Несколько месяцев назад я захотел добавить в одно из своих приложений текстовый редактор с подсветкой синтаксиса HTML. Я попробовал пару библиотек, найденных на GitHub, но ни одна из них мне не подошла. В основном они слишком тяжеловесные и пытаются уместить в себе всё сразу. И в конечном итоге они работают нестабильно и с багами.

Вдохновившись концепцией «vibe coding», я сделал свой собственный вариант. Он отлично работает и не пытается быть полноценной IDE или серьезным редактором кода. Это просто простой SwiftUI компонент с текстовым редактором и подсветкой синтаксиса. Цвета можно настроить с помощью простой структуры.

Проект на GitHub: https://github.com/makoni/HTMLEditor-SwiftUI

[↵] открыть пост swiftui-text-editor-for-macos-with-html-syntax-highlighting.md
-rw-r--r-- 3.2K 8 июля 2025 · 931C7C2 · ~2 мин

Недавние обновления моих проектов

swift couchdb app store release informer open source ai

В последнее время я много экспериментирую с AI-агентами, и это серьёзно вдохновило меня обновить мои проекты. Работа с реальными задачами делает процесс гораздо интереснее.

Swift клиент для CouchDB

Вышло 2 новых релиза библиотеки couchdb-swift. Copilot любезно добавил в библиотеку больше юнит-тестов для покрытия различных сценариев использования. В основном они завершались ошибками. Мне всё ещё пришлось многое дорабатывать вручную, но это подкинуло мне пару идей. Поэтому в этих двух последних релизах я добавил более детальную обработку ошибок. Также он нашел и исправил несколько мелких багов, проверил мой PR и предложил некоторые улучшения. Он еще далеко не идеален, но всё равно впечатляет.

Бот Release Informer для Telegram

В какой-то момент я обнаружил, что Copilot Agent стал доступен для моей учетной записи, и теперь я могу просто создать issue на GitHub, назначить его на агента и посмотреть, что он сделает. Я начал с запроса обновить README для Release Informer Bot, добавив подробности о том, как он работает и как его настроить.

После того как агент закончил работу над обновленным README, у меня появилась еще одна идея: процесс настройки можно автоматизировать. Поэтому я открыл Visual Studio Code и попросил Copilot добавить автоматическое создание необходимой базы данных и её настройку с нужными индексами CouchDB.

Он и тут справился неплохо, но всё равно потребовались некоторые ручные правки и изменения. И в процессе этого появился еще один релиз библиотеки CouchDB client, так как я захотел полагаться на корректную ошибку «not found».

Трудно сказать, сколько времени мне сэкономил Copilot. Но определенно много. Включая мой любимый автоматический перевод строк. Надеюсь, это вдохновит меня выпускать еще больше обновлений.

[↵] открыть пост recent-updates-of-my-projects-july-2025.md
-rw-r--r-- 722B 19 мая 2025 · ED4BA57 · ~1 мин

AppMetric 1.13.0

macos приложения appmetric appmetrica

AppMetric 1.13.0

Вышло обновление AppMetric версии 1.13.0. Теперь на Swift 6, слегка подправил UI и убрал открытие поповера при запуске (кроме первого запуска) — пришёл к выводу, что это скорее раздражает, особенно если приложение запускается автоматически после перезагрузки. Ну и добавил локализацию на несколько новых языков.

Загрузить

[↵] открыть пост appmetric-1-13-0.md
-rw-r--r-- 1.9K 16 апр. 2025 · B2756B3 · ~1 мин

Swift клиент для CouchDB версия 2

swift couchdb swift package vapor open source

Клиент CouchDB для Swift, версия 2

Недавно я выпустил несколько новых версий CouchDB клиента для Swift. Последняя версия — 2, и она включает в себя несколько ключевых изменений:

  • Обновлена минимально необходимая версия Swift до 6.0.
  • Внедрена поддержка Swift Concurrency. CouchDBClient был обновлен и теперь является actor.
  • Библиотека была переименована из couchdb-vapor в couchdb-swift, чтобы лучше отражать её назначение как универсального клиента CouchDB для Swift, а не только для использования с Vapor.
  • Внесены изменения в инициализатор. Вместо передачи множества параметров теперь используется структура Config.
  • Теперь вы можете передать собственный экземпляр HTTPClient для использования в клиенте.
  • Добавлены переводы сообщений об ошибках.
  • Представлен специальный туториал по интеграции CouchDBClient с серверным фреймворком Hummingbird.
  • Добавлен метод shutdown() для корректного освобождения ресурсов, связанных с HTTPClient.

CouchDB Client на GitHub | Документация с примерами и руководствами.

Star Fork

[↵] открыть пост couchdb-client-for-swift-version-2.md
-rw-r--r-- 2.0K 14 янв. 2025 · D4F1C96 · ~1 мин

Добавление локализации приложению или библиотеке с помощью ИИ

xcode ai localization

Переведенный String Catalog

В предыдущей статье я рассказал, как добавить Strings Catalog в Swift-пакет для поддержки локализации. Теперь мы попробуем перевести его на большее количество языков.

[↵] открыть пост adding-translations-to-an-app-or-a-package-with-ai-help.md
-rw-r--r-- 3.7K 14 янв. 2025 · AFA035E · ~2 мин

Локализация Swift Package с помощью String Catalog

localization swift package manager xcode

Недавно я работал над Swift-пакетом, в котором были строки, требующие локализации. Документация Apple по этой теме кажется немного устаревшей. В ней всё еще предлагается использовать специальные директории для каждого языка для локализации ресурсов и строк.

Но на WWDC 2023 Apple представила String Catalogs. Это гораздо удобнее — просто JSON-файл, который Xcode может заполнить всеми строками, которые нужно локализовать. Большинство примеров, которые можно найти, относятся к приложениям, а не к пакетам. Поэтому я потратил некоторое время на то, чтобы разобраться, как использовать String Catalogs в Swift-пакете.

[↵] открыть пост localizing-a-swift-package-with-a-string-catalog.md
makoni@arm1:~/blog$ cd ../page-3/ // ← предыдущая cd ./page-5/ // ещё посты →