Useful Tools | Linux | GitOps | DevOps
6.79K subscribers
418 photos
10 videos
13 files
1.14K links
Полезные opensource проекты на все случаи жизни, а иногда и советы.

Понравился проект из поста - поддержи автора звездой!

Web: https://gitgate.d3.ru

Сотрудничество: @maxgrue
Download Telegram
shuck - быстрый линтер, форматтер и языковой сервер для скриптов командной оболочки, написанный на Rust.

Shuck анализирует, форматирует и обрабатывает обратную связь редактора для скриптов оболочки. Он выявляет распространенные ошибки, проблемы стиля, угрозы безопасности, ловушки производительности и проблемы переносимости; форматирует исходный код оболочки с помощью настраиваемых правил компоновки; и включает в себя собственный сервер протокола LSP (Language Server Protocol) для диагностики редактора, исправлений, навигации, символов, всплывающих подсказок, автодополнения и форматирования. Он также проверяет оболочку, встроенную в поддерживаемые файлы, не относящиеся к оболочке, такие как рабочие процессы GitHub Actions. Уровень кэширования обеспечивает быструю работу при инкрементальных запусках.

Возмоности:
- высокая производительность — примерно в 20-100 раз быстрее, чем ShellCheck.
- проверка синтаксиса с использованием правил, охватывающих категории корректности, безопасности, производительности, переносимости и стиля.
- поддержка безопасного и небезопасного устранения неполадок для отдельных диагностических процедур.
- форматирование оболочки с режимами записи, проверки, сравнения, ввода и файла конфигурации.
- поддержка нескольких диалектов: bash, sh/POSIX, mksh, zsh
- автоматическое обнаружение файлов по расширениям и определению шебанга.
- встроенная функция извлечения командной оболочки для рабочих процессов и составных действий GitHub Actions.
- сервер протокола Language Server Protocol (LISP) от первого лица для диагностики редактора, действий с кодом, навигации, символов, всплывающих подсказок, автозавершения и форматирования.
- пакет npm WebAssembly для сборки расширений Node.js и браузерных редакторов.
- Совместимость с подавлением ShellCheck (# shellcheck disable=SC2086)

https://github.com/ewhauser/shuck

Подсказал: Сергей - @no_t4bs

Опубликовано в @gitgate

#linter #rust #shell #bash #zsh #shellcheck
👍13🔥5