Ну.. Я не думал до этого как работает система плагинов в современных редакторах, а это ну довольно легко, точно легче, чем я(пользователь Emacs) думал — просто регистрируешь команды в json, встроенные UI компоненты легко расширяются. Но в Emacs ещё легче)
Ответ на сообщение ниже: Это не похоже на разработку пакетов в Emacs. Emacs это по сути просто REPL, где ты выполняешь код, например, определяет функцию и можешь моментально юзать, никаких стандартов только фантазия
Офигеть. Кто-то написал про Xah Fly Keys. Я сейчас наверное не в тему статьи, могу порекомендовать meow, как новый модальный режим редактирования в Emacs, я сам перешёл на него с xfk и кайфую инфраструктурой, подробной документацией!!!
Несколько офигенных линтеров для 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-строки, но это легко кастомизируется
Круто выглядит. Но было бы веселее, если был бы какой-то доступ через командную строку, например: rifm пакля печатает список рифм к слову, я бы сделал автодополнение для моего редактора 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
Ну.. Я не думал до этого как работает система плагинов в современных редакторах, а это ну довольно легко, точно легче, чем я(пользователь 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