LINUX.ORG.RU

Gram 3.3.0

 , , ,


0

3

После почти месяца разработки состоялся выпуск 3.3.0 IDE и редактора кода Gram — форка Zed (linux.org.ru). Проект написан на языке Rust и распространяется по лицензии GNU GPL 3.

Проект начинался не с идеи создания идеального редактора, а как реакция на то, что происходило и происходит в мире разработки программного обеспечения, в мире в целом, а также в таких редакторах, как VS Code, Zed и Vim. Основная идея проекта заключается в том, что писать код от руки, тщательно следя за процессом, — это правильно и хорошо, и Gram стремится стать хорошим инструментом именно для этого.

Gram появился как сильно переработанный форк редактора Zed. Цель автора проекта — сделать так, чтобы Gram стал редактором, который сможет скачать, установить и использовать «из коробки» любой, кто впервые пробует себя в программировании. Не нужно будет настраивать редактор или устанавливать расширения, а сам редактор не должен предлагать пользователю что-то потенциально вредоносное, отвлекающее или сбивающее с толку.

Основные отличия от Zed:

  • открытость: отсутствие телеметрии, «искусственного интеллекта» и сторонних интеграций, нарушающих конфиденциальность;
  • производительность: основное внимание уделяется помощи в решении задач программирования, а не трате ресурсов центрального и графического процессоров на взаимодействие с сервисами «искусственного интеллекта», отправку нажатий клавиш на сервер компании в США или убеждение пользователя оформить подписку;
  • интеграция: документация Gram включена прямо в редактор. В долгосрочной перспективе планируется добавить поддержку большинства языков без использования расширений.

Почему автор создал форк? (более подробное объяснение / разглагольствования на эту тему см. в заявлении о миссии).

На этот вопрос можно ответить по-разному:

  • интересно было узнать больше о том, как использовать Rust для серьёзных проектов;
  • искал альтернативу VS Code для своих студентов;
  • не мог согласиться с условиями использования;
  • считает, что интеграция «искусственного интеллекта» в редактор кода — плохая идея;
  • «ИИ» его злит;
  • злость его мотивирует.

Основные изменения в этой версии:

  • добавлены действия Toggle во все боковые панели;
  • показ количества добавленных и удалённых строк и их общее количество на панели git, в зависимости от настройки git_panel.diff_stats;
  • добавлен фильтр выбора ветки git для отображения всех, локальных или удалённых веток;
  • добавлено действие git::ToggleFillCommitEditor для расширения редактора коммитов, чтобы он заполнял всю панель git. Выполняется при Alt-Shift-Esc;
  • добавлен просмотр истории git как для директорий, так и для текущего состояния;
  • добавлено действие git:show history;
  • добавлена поддержка загрузки системных расширений из GRAM_SYSTEM_EXTENSIONS_DIR;
  • частично убрана поддержка HTML в предварительном просмотре Markdown;
  • из git crate убрано получение аватаров;
  • убрано использование закрытых API MacOS и прекращена поддержка MacOS < 12;
  • использование cosmic-text вместо font-kit для выбора шрифта;
  • изменены цвета темы ferra;
  • добавлен просмотр истории при нажатии на последний коммит в панели git;
  • в историю коммитов добавлены открытие коммитов в соседнем сплите и открытие вкладки предварительного просмотра;
  • также исправлены многие ошибки.

>>> Документация
>>> Исходный код на codeberg.org

>>> Подробности на gram-editor.com

★★★★★

Проверено: hobbit ()
Последнее исправление: dataman (всего исправлений: 6)
Ответ на: комментарий от jsoncpp

RUSTFLAGS="-Z location-detail=none -C link-arg=-nostartfiles -C link-arg=--entry=main -C target-feature=+crt-static" cargo +nightly build --release

Флаги -C link-arg=-nostartfiles -C link-arg=--entry=main -C target-feature=+crt-static только для варианта без libc из Gram 3.3.0 (комментарий).

No ★★★
()
Ответ на: комментарий от ugoday

Не знаю зачем смешивать проблемы обоих вместе. zed меня великолепно устраивает по производительности: он летает на уровне neovim, будучи при этом с gui и расширениями, также не ест ресурсы даже на гигантских проектах.

Я бы сидел на neovim, например, но каждые полгода что-то сильно меняется в плагинах, плюс интерфейс пришлось бы под себя с нуля допиливать. Emacs это отдельная песня, даже LSP нормально настроить это уже эпопея. Не говоря о том, что он подлагивал, подлагивает и будет подлагивать даже с native билдом.

ac130kz ★★★
()
Ответ на: комментарий от ac130kz

zed меня великолепно устраивает по производительности

Ещё бы блокнот с гуем тормозил. Современное айти обладает удивительным побочным эффектом: уровень ожидания снизился до каких-то невероятных значений.

Emacs это отдельная песня, даже LSP нормально настроить это уже эпопея.

Да куда уж проще-то? Больше времени ушло на то, чтобы разобраться что это вообще за LSP такое, какие плюшки даёт и зачем он мне вообще нужен.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

блокнот с гуем тормозил

JetBrains продукты тормозят, Emacs подтормаживает, VSCode подтормаживает. Ну и это все не блокноты, у них у всех куча расширений, дополнительных процессов.

Да куда уж проще-то

А теперь на 10 языков, а поставить сервер, чтобы оно автоматом подтягивалось, чтобы оно автоматом подсвечивало, чтобы оно автоматом форматировало, чтобы оно могло предлагало решения, и тд, и тп. Сотни строк конфигов. Да ещё и сломаться могут при обновах.

ac130kz ★★★
()
Ответ на: комментарий от ac130kz

А теперь на 10 языков,

Здрасьте, весь смысл LSP в том, что настроил его однажды и дальше просто пользуешься. Хоть десять, хоть сто языков работают по одному и тому же lsp-протоколу. Если для ваших 10 языков есть lsp-серверы будет вам и подстветка, и форматирование. А если нету (мало ли маргинальщины на свете), то вероятность, что в emacs будет какая-то поддержка сильно выше, нежели в любой разумной альтернативе.

ugoday ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.