Обновить
5

Спортивное программирование в Emacs'е

3
Подписчики
Отправить сообщение

Ну.. Я не думал до этого как работает система плагинов в современных редакторах, а это ну довольно легко, точно легче, чем я(пользователь Emacs) думал — просто регистрируешь команды в json, встроенные UI компоненты легко расширяются. Но в Emacs ещё легче)

Ответ на сообщение ниже: Это не похоже на разработку пакетов в Emacs. Emacs это по сути просто REPL, где ты выполняешь код, например, определяет функцию и можешь моментально юзать, никаких стандартов только фантазия

Полезно! Такой пост нужен сообществу

Ой, как же хорош Emacs, когда читаешь как писать плагины для других редакторов)

Но пост был познавательным, Я охренел

Про enumerate не понял, в расте тоже enumerate, и что индекс первый стоит тоже не очень понятно, а zip и в питоне можно использовать.

Но а так норм, не понимаю почему так задизили

Просто нажимаешь на крестик.

Или нажимешь ctrl x, ctrl c

Или нажимаешь Alt x и вводишь название команды, что-то вроде exit

Хз что проще

Реально. Именно Emacs повлиял на развитие Vim'а и его перевоплощения в neovim, а не наоборот

А вы как разработчик модальной раскладки, что предпочитаете?

Офигеть. Кто-то написал про Xah Fly Keys. Я сейчас наверное не в тему статьи, могу порекомендовать meow, как новый модальный режим редактирования в Emacs, я сам перешёл на него с xfk и кайфую инфраструктурой, подробной документацией!!!

Тоже хотел написать. Самое лучшее решение, к тому же опен сорс

Pylyzer - нет, pyra и pyright - да, pytype не знаю - не пользуюсь..

Несколько офигенных линтеров для Python, о которых, думаю, должно быть сказано в статье:

Type-check:

  • pyright. От microsoft, достаточно быстрый (в 100 раз быстрее, чем mypy) и, говорят, его проверки круче

  • pylyzer. На очень ранней стадии. Быстрее pyright в 4 раза ИЛИ в 400 раз быстрее, чем mypy. Он использует прям очень сложный механизм под капотом: он переводит Python в другой язык программирования, смотрит warning-и компилятора и переводит их в красивые warning-и пригодные для исходного кода

  • pytype, просто есть. я его не использую. он слишком медленный для меня.

Забавно, что свои чекеры есть от Facebook (ну или Meta) - pyra, от Microsoft - pyright и от - Google pytype. Все они жёстко поддерживаются родительскими компаниями, и все собираются жить вечно

Самым крутым (быстрым) линтером best-practices по-моему считается ruff, он, например, из коробки он проверяет сложность, как и wemake-services. Автору наверное не понравится, но ruff ругает когда использует .format(), советует использовать f-строки, но это легко кастомизируется

Думаю LSP не реализуемо. LSP включает только следующие возможности:

  • Автодополнение (в зависимости от положения курсора)

  • Подсвечивание некторых слов (hover)

  • Подсветка ошибок

  • Рефакторинг

  • Подсказки (lens)

  • Перескок на место определения функции

  • И другие вещи применимые только для языков программирования

Ничего из этого не применимо для функций quickpoeter. Думаю в neovim писать стихи не получится, используете Emacs :D

Простите, не заметил...

Круто выглядит. Но было бы веселее, если был бы какой-то доступ через командную строку, например: rifm пакля печатает список рифм к слову, я бы сделал автодополнение для моего редактора Emacs. Тогда вообще всё идеально стало.

Плюсую, хоть Emacs по круче будет)

Ладно, прости, но я все равно не понял как будет работать autocomplete я имею ввиду не для pure Go, для Go Emacs Lisp? То есть как будет работать autocomplete будет работать для lisp.Call?

Я знаю, что проект уже не активен и, что я уже немного опоздал, но ЗАЧЕМ?

Серьезно, документация Go, которая вам нравится, не будет иметь смысла для Emacs (но только документация описывающая синтаксис имеет, но он и так очень прост), статическая типизация Go (кстати проект Elsa - хороший статический анализатор для Elisp) работать не будет, autocomplete для Go тоже не сможет работать. Только рефакторинг - реальная причина для миграции.

И к тому же как без макросов? Да вы можете не писать макросов, но многие встроенные макросы реально удобные для Emacs, например save-excursion, как он будет выглядеть в Go синтаксе?

Вообще в XAH FLY KEYS хоть и куча бессвязных клавиш, но определены они в зависимости от того, как часто их используют

Например: в vim чтобы удалить один символ справа нужно использовать X, и не самая не удобная, но и не самая удобная, ведь удалять по одному символу нужно довольно часто, в xah fly keys для этого нужно нажать d что удобнее, то же самое и для запуска команд, в vim для этого надо нажать : не самое лучшее решение, в xah fly keys нужно a. Чтобы выделить слово в vim нужно нажать целых три буквы viw, в Emacs одну цифру - 8

Да, реально NeoVim уже очень близок к гибкости emacs и, наверное, имеет все возможности, которые имеет Emacs. Вообще, эта статья не про Emacs, а про то, что другое расположение кеймапов в зависимости от того как их часто используют, Например: в vim чтобы удалить один символ справа нужно использовать X, и не самая не удобная, но и не самая удобная, ведь удалять по одному символу нужно довольно часто, в xah fly keys для этого нужно нажать d что удобнее, то же самое и для запуска команд, в vim для этого надо нажать : не самое лучшее решение, в xah fly keys нужно a. Чтобы выделить слово в vim нужно нажать целых три буквы viw, в Emacs одну цифру - 8

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
Младший