LINUX.ORG.RU

Первый релиз Snaked

 ,


0

1

После четырех недель активной разработки готова первая версия нового редактора для программистов на Python.

Snaked задумывался как редактор с минималистичным интерфейсом и возможностью гибкой настройки вывода типов для автодополнения всего и вся (соответственно, это позволит делать более-менее безопасный рефакторинг в дальнейшем).

В качестве статического анализатора используется Rope, поверх которого работает модуль выведения типов на основе пользовательских правил.

Также поддерживается переход к определению символа, как явно объявленного в коде, так и написанного в комментарии или строке. Плюс удобный навигатор по модулю и линтер на основе pyflakes.

Дополнительные возможности, не связанные с редактированием исходников:

  • Ориентирован на работу с клавиатуры.
  • Два вида интерфейса: стандартный с табами и по отдельному окну на каждый редактор.
  • Умное выделение позволяет оперировать с блоками кода: определением класса или функции, группой строк, списком параметров или строковым литералом.
  • Сессии.
  • Диалог быстрого открытия файлов.

В ближайшее время будет реализована поддержка плагинов от GEdit.

Документация и скриншоты

Короткий скринкаст про переопределение типов

Надеюсь на обратную связь от пользователей, мне необходимо расставить приоритеты в дальнейшей разработке.

>>> Подробности

★★★

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

Я примерно осознал желания нормальных людей, а не красноглазых инопланетян, как я. К понедельнику сделаю управление редактором без необходимости стучать что-либо в консоли.

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

> > полное сохранение и восстановление состояния при выходе-запуске.

Помимо того что есть, будет сохраняться последний активный таб, что еще нужно?


Я не знаю, как ты собираешься это реализовывать, просто я себе представляю, что сколько раз ни выходи-входи — продолжаешь ровно с того места, на котором закончил. Желательно, чтобы даже в том случае, если внезапный SIGKILL (ну там состояние на последние пару секунд). Непробиваемо.

shimon ★★★★★
()

Поправочка для описания на гитхабе:

Snakes is Scribes with blackjack and hookers.

Bitches, во-первых, вульгарно, во-вторых, не содержит интересной двусмысленности слова hookers, в-третьих, Бендер таки говорил «hookers».

shimon ★★★★★
()

Забыли главный вопрос! А как у него с VIM-овыми кейбиндингами ?

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

> Да и ещё более радикальная вещь: вынести в плагин собственно редактор snaked.core.editor.EditorManager со товарищи, т.е. в ядре оставить только PluginManager.

Еще один личкрафт? (:

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

Кстати, забыл. Автору спасибо за работу, может наконец именно сабж станет идеальным редактором для питона.

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

> Чем оно лучше kwrite и mcedit?
Пока что всем.

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

Но первый приоритет, я думаю, это чтобы настройки шрифтов-цветов сохранялись. В гитовом коде не сохраняются, и никаких трейсов нет (вообще непонятно, в какой файл они должны сохраняться).

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

Чем оно лучше kwrite и mcedit?

Постеснялся бы. Тут vim и emacs уже вентилировали аналогичный вопрос, а ты с таким барахлом лезешь.

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

это чтобы настройки шрифтов-цветов сохранялись

Тэкс. Все-таки это не случайность. Давай разбираться.

Запости вывод.

python --version
ls -lad ~/.local && ls -la ~/.local/snaked

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

>автор фанат vim :) Думаю в том же направлении нужно развивать и этот редактор.

да. к стенке

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

Жирный монстр, на изучение которого надо потратить 100 часов. И все-равно это не гарантирует легкой адаптации к любым задачам. Страшны риски. Я уже не так молод, чтобы впустую разбрасываться временем.

baverman ★★★
() автор топика

Много trailling whitespace в коде ;) в виме же писать начинал:

highlight WhitespaceEOL ctermbg=red guibg=red                                                           
match WhitespaceEOL /\s\+$/
sceptik
()
Ответ на: комментарий от pevzi

Да и ещё более радикальная вещь: вынести в плагин собственно редактор snaked.core.editor.EditorManager со товарищи, т.е. в ядре оставить только PluginManager.

Еще один личкрафт? (:

anjuta

TOHbl4
()

Убогий, кривой, без достаточного функционала... закапывайте говноподелие!

Афффтор, ты что решил с этим с Eric (на qt) конкурировать или со студией на жабе (это который эклипс) или с MS ГовноStudio в глазах профи-программеров?! Да тебя сожрут с ремнем от брюк (и я первый буду!).

Млять и млять, я ждал кого-то кто может похоронить творцов Python_IDE+KDE, а получил такую хню, что меня как питоновца просто воротит. Типа, «не могем нормально и сервисно?... Фигня! У нас просто минималистический интерфейс!»

К тому же vim у меня и так есть.

...и кста, не превращай ЛОР в книгу жалоб и предложений! Убогим-не-имеющим-системных-аналитиков подаем по пятницам. А, тяпница сегодня? Ну тогда по понедельникам!...

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

>> Чем оно лучше kwrite и mcedit?

Постеснялся бы. Тут vim и emacs уже вентилировали аналогичный вопрос, а ты с таким барахлом лезешь.


Причём не получили на него исчерпывающего ответа, что интересно.

anonymous
()
Ответ на: комментарий от baverman

> Жирный монстр, на изучение которого надо потратить 100 часов.
Быстрее написать свой редактор?
Неясно, кстати, что именно там надо «изучать».

anonymous
()
Ответ на: комментарий от baverman

Запости вывод.

$ python --version
Python 2.6.6
$ ls -lad ~/.local && ls -la ~/.local/snaked
drwx------ 4 user group 4096 Oct 22 14:30 /home/user/.local
total 36
drwxr-xr-x 2 user group  4096 Oct 22 17:06 .
drwx------ 4 user group  4096 Oct 22 14:30 ..
-rw-r--r-- 1 user group   116 Oct 22 16:57 enabled-plugins.db
-rw-r--r-- 1 user group  1465 Oct 22 15:28 keys.conf
-rw-r--r-- 1 user group 12288 Oct 22 17:09 positions.db
-rw-r--r-- 1 user group    20 Oct 22 17:06 project-roots.db
-rw-r--r-- 1 user group   138 Oct 22 17:09 session-xxxxx.db
shimon ★★★★★
()
Ответ на: комментарий от tensai_cirno

Да ничем!

Все просто: пацан со статусом «корректор» решил собрать отзывы (для будущих релизов) и слегка распиарить свое говноподелие прямо сейчас! Чем и занят: собирает и то (отзывы и дампы ошибок) и другое.

Вот вся «новость», и... эй, надеюсь я действия модераторов не обсуждаю?!)))

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

> Афффтор, ты что решил с этим с Eric (на qt) конкурировать или со студией на жабе (это который эклипс) или с MS ГовноStudio в глазах профи-программеров?! Да тебя сожрут с ремнем от брюк (и я первый буду!).

Eric, заявляю ответственно, ГОВНО. Нет, даже не так. Eric — ГОВНИЩЕ. Мало того, что там полнейшая неразбериха с совместимостью по версиям, так оно еще и не умещается на экран 1024 на 600, ЧСХ, не пытается даже.

Eclipse — не тормозит исключительно на проектах размером с хеллоуворлд. В остальных случаях оно что-то самозабвенно индексирует, причем непонятно, зачем. Потому что попытки что-то найти жутко тормозят, автодополнение тормозит, причем просто набирать код оно не позволяет, постоянно ищет, что бы подсказать, чем еще выделиться.

MSVS — ну ты понел, оно просто не запускается.

Все время втыкать в outline проекта? Тот outline, который сам и придумал? Это я не знаю, какую память короткую надо иметь.

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

> ...и кста, не превращай ЛОР в книгу жалоб и предложений! Убогим-не-имеющим-системных-аналитиков подаем по пятницам. А, тяпница сегодня? Ну тогда по понедельникам!...

Не нравится — опубликуй свой пароль. Или в Гаагу, что ли, пожалуйся. Будет тут без двух дней год как зарегистрировавшись, указывать взрослым дядям, о чем им на ЛОРе тереть.

shimon ★★★★★
()

Чем оно лучше ed?

anonymous
()

А, да, и на скриншоте ещё «editor_shortcuts_binded». Нехорошо. Шекспир негодует.

anonymous
()
Ответ на: комментарий от k0valenk0_igor

Афффтор, ты что решил с этим с Eric (на qt) конкурировать или со студией на жабе (это который эклипс) или с MS ГовноStudio в глазах профи-программеров?!

Я ни с кем не собираюсь конкурировать. Просто пишу редактор с которым _мне_ будет комфортно работать. И прошу заметить интересуюсь мнением _других_ разработчиков.

Хотя да, среди кутешных программ очень мало таких, которыми можно пользоваться. Eric явно не из их числа. PyDev отличен, но труднорасширяем, причем тут VS вообще не понимаю.

Лучше скажи чего тебе нужно как питонисту.

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

>Ну осталось ещё принципиально новый и минималистический музыкальный плеер написать и смотрелку картинок.

О, кстати, может подскажете хорошую, кроссплатформенную, free for commercial use смотрелку картинок? Ну или хотя бы под винду? XnView очень хорош, но только для домашнего пользования, на работе ставить низзя.

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

> О, кстати, может подскажете хорошую, кроссплатформенную, free for commercial use смотрелку картинок? Ну или хотя бы под винду?

хотя бы под винду?


Дефолтная гляделка в венде просто прекрасна. В линуксе аналога ей нет. Есть только убогий eog и тяжеловесные GwenView и gThumb. Остальные не рассматриваю, ибо еще хуже.

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

Еще два вопроса.

1. Когда закрываешь диалог с настройками, в правом нижнем углу всплывает сообщение 'Editor settings saved'?

2. Если нет, то как именно ты закрываешь диалог?

Попробуй нажать Escape для закрытия диалога.

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

Eric, заявляю ответственно, ГОВНО. Нет, даже не так. Eric — ГОВНИЩЕ

Говнище как раз у тебя. Вопрос не в совместимости, вопрос в возможности выполнять свою главную функцию: производить код с минимальным напрягом. А я пока не увидел ничего что мне бы помогло в этом. Мне говорят «ну, этого конечно нет, так это же а-ля vim». Но и до вима ему как до луны пешком. И до емакс, кстати, тоже.

так оно еще и не умещается на экран 1024 на 600, ЧСХ, не пытается даже.

Да где ты такие мониторы видел?! Зайди на ЛОРовские скриншоты: люди по три монитора имеют для работы с размером больше чем ты указал каждый! Не, ну это ваще даже не смешно!

По функционалу: где работа с системами управления исходным кодом? Где поддержка основных фреймворков (как минимум Django)? Сессии... гм... ну ладно, пусть это (не завязанное на svn/git/mercurial) будут сессии. Где работа с тест-юнитами? Где закладки? Где визуальный отладчик? Где... да это можно бесконечно перечислять!

Малшик, если это инструмент программиста, то я китайский летчик. И как говорит один политик: «это ОДНОЗНАЧНО»!

...И кто-то еще клепает на IDE где это все есть из коробки?!

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

О, конкретика пошла.

По функционалу: где работа с системами управления исходным кодом?

Нет и не будет. Нет ничего удобнее консоли для этих задач.

Где поддержка основных фреймворков

Что значит поддержка? Дополнение переменных в шаблонах? Окстись, проекту месяц. Со временем обязательно сделаю. Более того, далеко не все пишут web приложения.

Где работа с тест-юнитами?

Нет и скорее всего не будет. Консольные запускалки отлично делают свою работу.

Где закладки?

На следующей неделе появится.

Где визуальный отладчик?

Нет и не будет. Не нужно _вообще_.

Где... да это можно бесконечно перечислять!

С вас товарищ, пожалуй хватит. Вы явно не целевая аудитория.

baverman ★★★
() автор топика

хоть что-то делается

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

IDE называется «Debian» (у задротов — «Gentoo»), так что успокойся уже и сядь на диету для похудания, тролль.

anonymous
()
Ответ на: комментарий от baverman

> Попробуй нажать Escape для закрытия диалога.

Да я тебе уже патч отправил, см. #10.
Возможно, его надо в божеский вид привести, потому что в PyGTK я ни бум-бум, просто погуглил.

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

Хм, насчет консоли. Я бы не отказался от возможности открыть VTE как вкладку с каким-то набором программ — пусть оно хранится в сессии. Тогда можно развернуть это дело на весь экран и по Alt-стрелки попадать на терминал, все единообразно.

Но самое главное, это, пожалуй, чтобы можно было закастомизировать, какие программы будут запущены в терминале, именно что на уровне сессии. Окружение там, все такое (например, PYTHONPATH кастомный).

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

Лучше скажи чего тебе нужно как питонисту.

Да не вопрос. Вот к примеру мне (поскольку часто работаю с django и, как следствие, с html) очень нужна такая подсветка: при выделении любого слова автоматически выделяются все аналогичные слова. Это очень важно, в смысле производительности труда при верстке страниц.

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

> GPicView?

Бажная она и местами тормозная. И не умеет подгружать следующее изображение в фоне (практически критичная для меня фича).

pevzi ★★★★★
()

Реквестирую PKGBUILD для арча.

anonymous
()
Ответ на: комментарий от shimon

Ну и вообще, текстовые примитивы типа

— берем текущий файл, пропускаем через команду, результат грузим в текущий буфер/новый буфер, с принудительным save as (если файл временный) или без него

— берем текущее выделение, пропускаем через команду, результатом выделение заменяем

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

+ возможность это все навесить на произвольные комбинации клавиш

+ именованные макросы а-ля емаксовское M-x, чтобы не помнить все клавиатурные сокращения, с автодополнением по M-/ как в основном редакторе

...ну так вот, они монструозности не прибавят, зато дадут такие киллер-фичи, ради которых я с радостью откажусь от TextMate на макоси.

shimon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.