Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Ну, тут сложно сказать где его нету. Но именно эта функция заслужила быть здесь тем, что автор наивно полагал, что, возможно, в обозримом будущем в Яваскрипт добавят новый тип (их всего-то по пальцам одной руки пересчитать можно). А именно, смотрите на то, что в коде выделено красным цветом (если у вас ЖС подсветка включена).
Дописывать биндинги к Яваскрипт моду на Си? Весь же смысл в том, чтобы еЛисп для этого использовать.
Быстрее - вы все равно не догоните, ето ж команда которая выполняется по нажатию клавиш, т.е. через гуй - вы так быстро не успеете понажимать 🙂
То, что написано на C, сложнее использовать в emacs.
С другой стороны, императивный код на lisp превращается в настолько унылое говно, что проще всё выбросить и написать на python (если нужен плагин для текстового редактора, можно взять sublime text 2).
Я бы тупо прогнал проект через GNU indent, либо отформатировал в Eclipse (там вроде довольно тонкая настройка идентации).
Да, я уже понял. Просто я изначально воспринял это не как плагин к эдитору, а как самостоятельный скрипт, которым можно прогнать нужные исходники, а затем уже читать в божеском виде. Естественно, самостоятельная тулза будет гораздо лучше на C чем на eLisp и вообще на лиспе.
Соответственно, можно некими настройками такой программы подобрать под свой стиль метод табуляции, использование спейсов и т.д.)
Да есть уже такая программа, indent называется. Для полноценного pretty-printing желательно иметь AST, и тут и сишки мало преимуществ перед лиспом. С другой стороны, стандартный CL настолько дремуч, что не может даже читать аргументы командной строки способом, не зависящим от компилятора.
И я бы убил столько же времени настраивая какую-то другую программу, сколько потратил на написание хука, с той разницей, что настраивать чужое - буэ, а свое - интересно.
http://pastebin.com/1fMaDAzN
Вот, собственно, вроде теперь все учел. Потратил 4 часа, сэкономил может быть солько же на нанастраивании "индентатора", ну и соотвественно, условия труда улучшились 🙂
Но нужны добровольцы тестеры, хотя на первый взгляд работает.
Быстрее - вы все равно не догоните, ето ж команда которая выполняется по нажатию клавиш, т.е. через гуй - вы так быстро не успеете понажимать 🙂
С другой стороны, императивный код на lisp превращается в настолько унылое говно, что проще всё выбросить и написать на python (если нужен плагин для текстового редактора, можно взять sublime text 2).
Я бы тупо прогнал проект через GNU indent, либо отформатировал в Eclipse (там вроде довольно тонкая настройка идентации).
Соответственно, можно некими настройками такой программы подобрать под свой стиль метод табуляции, использование спейсов и т.д.)
Вот, собственно, вроде теперь все учел. Потратил 4 часа, сэкономил может быть солько же на нанастраивании "индентатора", ну и соотвественно, условия труда улучшились 🙂